He knows most ideas will fail when they are executed.
So the "logical" thing to do is to stop executing and just acquire existing patents and file for new ones. Then wait for others who want to execute or who try to execute. Then, if it looks like they have, or will have, the money to pay, threaten to sue them.
That quote from the ex-Microsoftie is the classic. Most ideas will fail. Right. Let's attribute brilliance to a master of the obvious. But the one idea that succeeds, even if it's "a way to kill aliens faster", will undoubtedly hear from a patent troll, like IV. Are you "OK with that"?
They will go after whoever is making money. And what do they contribute? Nothing.
1. I think your example shows sed/awk's failings with JSON data :) I don't want to write a JSON parser by hand every time I want to pull a field out of an object, and parsing recursive structures with regexes is never a good plan.
2. It reads JSON items from stdin into memory, one at a time. So if the input is a single giant JSON value, it all goes into memory, but if it's a series of whitespace-separated values they'll be processed sequentially.
1. But those are general statements. Opinions. What I mean is give me a specific case. A specific example, a specific block of JSON and a specific task. Once I have that, then I can ask myself "Is this something I would ever need to do or that I have to do on a regular basis?"
Sometimes I need to write one-off filters. There is just no getting around it. I have to choose a utility that gives maximum flexibility and is not too verbose; I don't like to type. Lots of people like Perl, and other similar scripting languages for writing one-off filters. But Perl, _out of the box_, is not a line-by-line filter. It's unlike sed/awk; it needs more memory. That brings us to #2.
2. If I understand correctly, jq is reading the entire JSON block into memory. This is what separates your program and so many other sed/awk "replacements" from sed and awk, the programs they purport to "replace". sed/awk don't read entire files into memory, they operate line-by-line and use a reasonably small buffer. Any sed/awk "replacement" would have to match that functionality. Given that sed/awk don't read in an entire structure (JSON, XML, etc.) before processing it, they are ideal for memory constrained environments. (As long as you don't overfill their buffers, which rarely happens in my experience.)
Anyway, so far I like this program. Best JSON filter I've seen yet (because I can hack on the lexer and parser you provided).
Maybe they're just looking for improvements in the way they do sorting? Asking questions like these in interviews might be a way to find people who could teach their code monkeys new tricks?
Or it might have just been some silly way to eliminate candidates for arbitrary reasons. The usual.
Anyway, sorting is a big deal I think. If you can do it faster even by just a little bit than everyone else, that's a competitive advantage. Just my personal opinion.
"Loses job"? Do they mean "job opportunity"? He's a student.
And I'm sure he could get another offer if he set his mind to it. Though I'm not sure it's worth his time. Looking to the future, his talents might be better applied elsewhere.
Apple, at the rate they're going, is soon enough a lost cause. They might seem great today. But just wait.
if i understand what you're asking then i think you'd call it an implementation. both mysql and postgresql are database implementations that can be queried using the sql language. however, both also extend the language (as defined by ansi standard) in various ways.
I'm curious where the most perceived "value" is. For example, is it in the internal structures of the database? Is it in the query language? Is it in the fact that everything is packaged together as a "system"?
I have seen a database that uses an SQL-like language but it is not a RDB. It's said to be much faster than Oracle, but it certainly doesn't need the SQL syntax to work. Needless to say, the speed doesn't come from the SQL syntax. :)
It made me wonder about decoupling the language from the interpreter. Without the SQL characteristic, would anyone be attracted to the MySQL, PostgresSQL, ..., WhizBangSQL systems?
what postgresql, mysql etc. provide is a relational database, i.e. a way to store table-structured data with consistency and safety guarantees and efficiently perform operations to retrieve and update rows from it. sql is simply the standard language in which relational queries are expressed.
So the language implies something about the functionality of the database. That seems obvious enough.
But does it necessaruly tell you anything about the underlying structure and the performance of a database?
If we drop that acronym, "SQL", and still provide a database that handles relational queries (but perhaps uses a different but equally capable language), does that matter? If yes, how much? And why?
sql is actually quite close to a natural way of expressing relations. there's a book called "sql and relational theory" by someone called chris date that goes into a lot of detail about this ("relations" is a technical term with a pretty solid mathematical basis). so you could change the syntax, but the basic ideas wouldn't change that much, assuming it was still a relational database.
the value of the different database implementations comes from how efficiently they can implement the relational model, and what optimizations they have to support particular use cases, or extensions to make supporting and maintaining them more practical. those optimizations/extensions also lead to some of the differences between what sql might be if it were "purely relational" and what is is in practice.
so dropping sql and using a different language would be more a nuisance than anything. what is important is whether the database is relational or not. and databases that are not relational have been tried - they are (misleadingly!) called "nosql databases" (they should be more accurately called "non-relational databases", of course, given the above).
There's plenty of database systems that either don't support SQL at all, or support it with a range of other languages.
One of SQL's remaining powers over most other options is the ability of non-expert users to construct their own ad-hoc reports. This is a big part of why Hadoop has Hive, which incorporates a very SQL-like language, and most other "big data" tools have something similar.
Dear Would-Be Entrepreneurs Wanting to Use Buzzwords:
It's not peer-to-peer ("P2P") if peers are not communicating _directly_. If they are using your server to communicate, e.g. post ads, then it's NOT peer-to-peer. It's a bulletin board. There is a difference between a) a switchboard, b) a bulletin board and c) a person-to-person telephone call.
Sincerely
End-User Looking for REAL P2P Services Not Fake Ones
But I'm tired of hearing about this guy's lifestyle or his character.
That's not the really interesting issue here. The issue is technology. Some people undertand it, some don't. Dotcom says as a youth he took the time to undersatnd X.25 and PBX's. Yet the companies using these systems did not. Regardless of his character, it's everyone else's failure to take the same sort of interest in understanding technology, yet at the same time using it _and_ placing an enormous amount of trust in it, that leads to problems.
Hollywood wouldn't be in quite the same mess they're in if they aggressively pursued understanding competitive technology down to the last detail. And why couldn't they? It's going to eat them alive and they know it. By becoming the "experts", they could stay one step ahead of competitors. They might end up competing with themselves (the old technology), but that's inevitable anyway. Technoloy is going to transition. No one can stop this. If the entertainment industry made the effort to know internet technology the best, no one could out maneuver them.
All Dotcom's riches are riches that would normally belong to Hollywood execs. Why are the riches moving to nerds (many of dubious character)? Because they are moving to the new technology. In a sense, money doesn't care who the recipient is. It generally moves to the technology, not the person. Whoever understands the tech the best has the best shot at getting the money.
The issue here really isn't some nerd like Dotcom, or his life story, it's the transition of technology and the refusal of some who have deeply vested interests in what this technology can do (distribute entertainment), to make the effort to understand it.
The spy agency in NZ dismissed the gentleman who was in charge of tapping Dotcom's communications. The news tried interviewing him and he refused to talk to them. I'm guessing here bu I doubt he ever wanted to get involved in this mess. Do we need covert intelliegnce to discover copyright infringement? People are downloading free movies! Red alert! His dismissal seems totally unnecessary. This whole incident should never have happened.
Forget about Dotcom. It's time for the entertainment industry to come to terms with the internet. It's early yet. They have as good a shot as anyone to profit. Maybe this case will finally get the message to Hollywood execs that their defensive strategies are not working. They are not fighting people (like Dotcom) they are fighting technology. They need to start thinking like entrepreneurs.
That's the core problem they have; most of the organizations don't have any.
I tend to think that entrepreneurs are builders of machines made out of people. You create roles and cogs to turn A into B, B into C, then C is sold by D. An entire system with it's own level of fault tolerance built in. These types of organizations are not meant to innovate.
(There are organizations that do innovate, but they are the exception and not the rule)
If they're trying to sell us on this free software, why don't they provide a diagram of the SSP packet instead of telling us about UTF-8 support? I can tell whether I'm seriously interested in this just from looking at how they've structured the packet. Do I have to go digging in the source code just to get a preview? I looked at the USENIX paper and nothing in there either. When I have time I'll take a look at the src.
So the "logical" thing to do is to stop executing and just acquire existing patents and file for new ones. Then wait for others who want to execute or who try to execute. Then, if it looks like they have, or will have, the money to pay, threaten to sue them.
Brilliant!
A true innovator.