Hacker News new | past | comments | ask | show | jobs | submit login
NYPD is canceling its Palantir contract (buzzfeed.com)
501 points by tefo-mohapi on July 1, 2017 | hide | past | web | favorite | 273 comments

Palantir has an outdated software stack (Java/Swing). Their genius lied in creating "mythical image" and cleverly overselling it to the less proficient government agencies (apparently NSA was smart enough to see through the ruse). And then in turn sell the "spooky/mysterious" image to bunch of naive Stanford/Berkeley undergrads and convince them to work for peanuts.

Sadly in 2017, their tech stack is falling apart, they have no meaningful ML/AI strategy, the agencies/corporation cannot be fooled any longer, and employees have suddenly realized that the stock (without an IPO in sight) might be worthless and have begun leaving.

Finally the political environment along association with Thiel isn't helping them make any new friends.

Having known several people who work or were hired at Palantir, I can assure you it probably has the worst overconfident brogrammer culture. So much so that I truly hope no US government agency is using them for critical functions because its nothing more than hot air.

I've heard Palantir is maybe the most credentials-/prestige-focused tech company in Silicon Valley.

I remember thinking that sounds like a good way to build a below-average team that seems very impressive from the outside. When you look at what they're doing, this strategy actually starts to make a lot of sense.

They're selling a product that's somewhat incomprehensible. The value of that product is very difficult to measure, due to both its complexity and the "how do you put a dollar figure on social impact"-factor.

They're selling that product to government agencies, which probably can't properly evaluate that kind of purchase and don't care much about cost or ROI (due to government's inherently inefficient incentive structures). Credentials matter for winning contracts, because if you're the person who makes that decision, credentials and prestige are something tangible you can point to and prove you did your job.

This doesn't sound like the makings of a great respectable tech giant, though. This sounds more like one of those companies built specifically to exploit inefficiencies in government spending.

> credentials and prestige are something tangible you can point to and prove you did your job

Like in "nobody ever got fired for choosing IBM"? Seems like they've just copied a page from an the old book... and this still works, and lots of more competent startups who could do their jobs better will not get those contracts.

There are also probably lots of startups that would create a complete mess of it. Picking / evaluating vendors is hard and super risky for the average manager. While I personally would seek out more nimble vendors, I certainly understand the attraction to established shops.

Yup- when you start thinking of Palantir as an IBM, a Cap Gemini or an Accenture, it starts making a lot more sense.

There's a lot of truth to this and they use rather unique (bordering on gimmicky) job titles such as 'Forward Deployed Engineer' as opposed to 'Solutions Engineer' or 'Technical Consultant' to add an aura of spooky government mystery and mask exactly what they do.

I think I lost some points with them a long time ago during an interview when, while trying to determine exactly what the "Forward Deployed Engineer" role that I was interviewing for actually meant, realized that it was actually just that of SWE consultant, a job which I'd previously held. So I kept referring to my extremely relevant experience from previously being a consultant, calling it as such, and that rubbed the interviewer the wrong way, because clearly FDE was much more special.

It is difficult to get a man to understand something, when his salary depends upon his not understanding it!

- Upton Sinclair

'Forward Deployed Engineer' (ab)uses tactical military terminology meaning an engineer at the customer site, who works with his team to do anything and everything to win the battle (make the customer happy), whatever the cost shall be. In some rare cases, these engineers really are deployed to combat zones (e.g. with US airborne or marines in Afghan). The problem is they end up with very smart people doing mundane tasks, such as installs and data cleansing, without any specialization and division of labor. Most FDEs are massively overqualified for the job they actually do.

Having been a "salaried contractor" for my second job, I learned to avoid those positions like the plague. When customers stop buying the company's software, guess who's the first to get the ax? Also, you get to sit by and watch project managers agree to all sorts of outlandish features that you'll be stuck implementing.

It really wasn't that bad as a first job out of college. The travel was sometimes enjoyable, and I was really close with my coworkers, most of whom were of a similar age and place in their life.

As for getting the ax, that didn't happen to me, but even if it had, I've never had problems finding a job, nor have I ever lived paycheck-to-paycheck. It'd be inconvenient but that's about it.

Agreed. Avoid any software consulting job where someone technical isn't in the feature design phase. It will suck your soul out, crush it, and then the project will fail anyway.

Feature design phase? Sounds like waterfall. Avoid that too.

"Solutions Engineer" is supposed to tell me more about their role than "Forward Deployed Engineer"?

The first is vague bordering on meaningless and trivially true for any engineer, the second is simply nonsensical without context. It's bullshit in both cases but I'd be much more inclined to ask about the latter, what it even means to deploy an engineer "forwards"?

I found that most forward deployed engineers are in practice deployed ever so slightly off-centre, and you really need to hire a couple of them to make sure it averages out. For tasks sensitive to robustness I sometimes like to stut them between a leftward and a rightward deployed engineer on either side.

I think it means deployed on the customer site, for better communication with the customer. At least, that's what I'd do if I were Palantir.

What is Cap Gemini's significance here?

How would you compare or contrast, say, EDS or Bloomberg?

Well that's the big 5 consulting model hire lots of tier 1 university grads and rent them out at an eye watering day rate.

Java/Swing isn't even a data format, it's the interface tech. Nor is it outdated. Like, if you'd said COBOL it might be a valid point.

It's as ignorant of basic technology as saying my car runs on a particular type of rubber so I can't use batteries.

Honestly, for a tech site I'm ashamed this is the top comment, just seems to be an excuse to rag on Palantir and decry not using the present FOTM.

I moved from a "sexy" NodeJS stack at my last job to a staid Java 7 stack at my current job (we can't move to Java 8 until App Engine supports it).

The code at my current job is much better written, is more thoroughly tested, and is more pleasant to continue development on. The codebase at my previous job was a rat's nest, caused primarily by lower-skilled developers, no time allocated to technical debt or refactoring, a breakneck pace of product release, lack of a good automated testing suite, lack of good continuous integration and presubmits, and the weakly-typed/dynamic nature of JavaScript itself which doesn't scale well to larger server-side codebases.

So long as a given language/platform isn't deprecated (and Java definitely isn't), I'd rather work on a solid codebase in it than a weak codebase in a more alluring, recent language.

I recently took a job. Great team, great company, interesting problem, relevant work. Everything's nodejs, but I didn't worry. How bad could it be?

While the prize for Worst Tech Used in a Professional Setting might go to InterSystems Caché ® (syntax errors will bork your entire runtime, with no undo). And it's all downhill from there.

Nodejs (javascript + libuv, aka control flow obfuscation framework) is a strong contender. I've never worked so hard to make so little code reliable, robust, deployable. And there is no Right Way to use nodejs. Everything changing all the time, every day is a do-over.

As for Swing. Remove (or ignore) it's goofy MVC and it's just like Qt. State of the art UIMS for desktop when they both came out.

After working with MUMPS for some time, getting to use Node.js has been a religious experience for me. I feel as if an incredible weight has been lifted off my shoulders.

I know the feeling. Four years ago I got done working on some truly terrible tech stacks and got to use NodeJS for the first time and it felt like a huge weight had been lifted off my shoulders too. Then I left that company and I'm doing Java now, and I realized that leaving NodeJS behind has also lifted a huge weight off my shoulders, but of a different kind.

What about Java makes you like it more, or about Node.js that made you particularly frustrated?

I wish JavaScript were statically typed, but I'm not convinced about switching to TypeScript yet. I can see other ways Node.js could be frustrating.


NodeJS is only sexy if you prefer weird unprotected sex.

NodeJS leverages the advanced V8 JIT and async operation in its crudest form. It's good for certain classes of tasks (a lot of I/O with simple logic around it), but not as great for the more general case.

OTOH Typescript can alleviate many of the problems of JS proper, the execution model is still a bit uncomfortable. I'd rather take Erlang /Elixir for the typical Node case.

It seems that the largest issue with your previous job is a lack of coding standards/discipline. I think that this point:

> the weakly-typed/dynamic nature of JavaScript itself which doesn't scale well to larger server-side codebases

has less to do with it.

Do you really feel that your strongly-typed Java job would be so great if all of the other poor practices of your previous job were in place?

Having had extensive experience (many years) using each of statically and dynamically typed languages professionally, it's been my finding that, all other things being equal, statically typed languages are better at yielding high quality large codebases. There are entire classes of errors that a competent IDE will detect for you instantly in a statically typed language that you might not catch until compilation/testing/even production in a dynamically typed language. It's also simply easier to write more powerful tooling for refactoring in statically typed languages, so large-scale refactorings inevitably end up being easier. And it's no accident that companies (including mine) are increasingly adopting TypeScript, which brings some of the advantages of statically typed languages to JavaScript.

I have to say that, just looking at the language itself, C# is probably my favorite, but the surrounding stack including Windows makes me prefer Java on Linux to it, especially Java 8 because of its support for lambdas.

Although, it's also been my experience that the other factors mentioned have more of a role than the attributes of the languages involved themselves.

I beg to differ.

Have your ever tried to maintain a large js project? It gets harder the bigger the codebase gets.

Is there an alternate universe where this is not true? Where things get simpler while they get more complex?

He's saying that it gets proportionally more harder to manage a large codebase in JS than it does in statically typed languages like Java. This has been my experience as well.

Erlang, for one example.

Read about AXD 301 development.

That's absolutely been my experience too.

FYI, Java 8 is now in beta for App Engine Standard: https://cloud.google.com/appengine/docs/standard/java/quicks...

Oh, I'm well aware. Unfortunately it's been in beta for awhile now, and keeps slipping deadlines. We can't use it until it's out of beta because we run an important production service with external contractual obligations and we need guaranteed support for things working. The "no SLA" policy on the beta makes it a non-starter for us.

I've always found it weird when people say stuff like this. Clearly your last team was bad, you even said the developers were less skilled, and time constraints were problems and yet you manage to blame tooling.

There's absolutely great test and CI tooling for JavaScript. The fact that you and your team didn't spend enough time to develop an expertise with them isn't the languages fault.

I clearly blamed a lot of things in addition to tooling in my post. My overall point, which I don't think you quite got, was that language choice doesn't matter so much compared to all those variables, and that I'm much happier and more productive now working in a less "sexy" language because of those other differences.

I think the only comment you can make is that, ceteris paribus, newer tech stacks indicate some awareness of newer ideas (who include agile / devops tooling). Old tech might, but also might not.

I'm more inclined to think that Palantir's problems are inherent to the enterprise revenue equation.

"Features and code quality that aren't contractually mandated" = profit

The more things you can put in that category, the more profit...

Newer tech stacks might also indicate chasing the newest/hottest thing without regards to long-term sustainability of the platform, however. You don't always want to be bleeding edge, as bleeding edge can easily be dead five years from now, whereas if you stick with a "boring" mainstream technology it'll still be around in five years.

True. But the enterprise shops I've seen tend to make the "not modern enough" error 20x more often than the "too modern" error.

Good engineers will naturally gravitate towards good tools. Therefore away from bad ones. Node.js is not a good tool. Therefore the quality of engineers using it will be poor and get worse over time. The same is true of MongoDB.

Good engineers will naturally gravitate towards good tools. Therefore away from bad ones. A hammer is not a good tool. Therefore the quality of engineers using it will be poor and get worse over time. The same is true of shovels.

Your example isn't making sense to me. Hammers and shovels are excellent tools. There's a reason they're some of the most commonly possessed and used tools world-wide.

Your example isn't making sense to me. Nodejs and MongoDB are excellent tools. There's a reason they're some of the most commonly possessed and used tools world-wide.

We could continue this all day. I can tell you're very inexperienced in saying specifically that a tool is bad. You'll learn as you grow in experience that even if you don't like a tool, that it can be useful for lots of other people in lots of circumstances. It may seem unbelievable to you, but when you get some more notches on your belt, you'll understand what I'm saying. Good luck!

What's outdated about Java/Swing? Java 8 is a fairly decent language, and Swing isn't bad. In fact the entire suite of JetBrains IDEs (WebStorm, PyCharm, IntelliJ, Android Studio, ReSharper, etc) have their UI implemented in Swing.

I suppose they could have used Kotlin, Scala, Haskell, or some other more language with a more advanced type system. But it would have been truly horrible had they written their back-end in an awful (dynamically typed) language like JavaScript or something.

People get upset when the interface isn't implimented in the latest JS library.

As far as the UI, they should just do that in Javabuilders and call it a day.

Yes, and you can absolutely tell they are implented in swing. Dont get me wrong, I use these IDEs everyday because they are extremely powerful and good for understanding large codebases, but the UI is NOT their main selling point, sorry. Swing gets the job done, nothing more.

> Swing gets the job done, nothing more.

Which is what matters when delivering business value to fulfil customer's needs, not to be something cool to write blog posts on HN.

Also a few days reading "Filthy Rich Clients" would make wonders to some Swing developers that actually care about UI/UX.

I’ve not used one swing app where it wasn’t immediately clear how the app was made. It may check the box, much in the way that McDonald’s checks the “food” box, but I sure as hell don’t want to eat there.

> I’ve not used one swing app where it wasn’t immediately clear how the app was made.

How do you know?

There's just something "off". Swing components don't behave like native components, even if they try to imitate the look. They also tend not to be as responsive and there are sometimes rendering issues (e.g. Swing buttons sometimes appear blurrier than native buttons depending on the system).

Wrong. For most situaions today, there are plenty of apps that "fill your needs". So it comes down to ux. Starting with a shitty ux framework like swing means eventually someone will replace you.

None of that really applies to Palantir. They may have their issues, but I seriously doubt Swing is even on the radar if you look at the actual connection between their sources of revenue and their software.

That's a fair point. You're right, good call.

Swing is only a shitty UX framework in the hands of unskilled UI developers.

Hrm. So the folks that wrote JetBrains etc are "unskilled"?

JetBrains uses Kotlin now. (And invented it.)

Kotlin is a language not a UI framework, and most of the code was still java last I checked.

The issue with Java/Swing is that it limits development velocity and makes job less appealing for current employees.

While HTML5/JS is not without its own problem. Yet using it over a native framework like Swing, enables the development process to leverage external knowledge (Open Source libraries, etc.). This problem is further worsened when your competitors in enterprise Business Intelligence space can leverage those tools, while you are stuck with maintaining the old stack for government customers.

Meh, I've done typescript node.js and java play framework projects interchangeably for the past two years and honestly there isn't much of a difference when it comes to velocity or code verbosity.

I think many people have a misconception of what modern java is. They still think java code is all this verbose monstrosity where every single thing requires massive amounts of boilerplate code. And yes, at one time it was that thing. But modern java isn't like that at all, with streams, collections, optionals and closures getting rid of much of the boilerplate.

For example, this is the entire body of the REST endpoint that fetches a drawing for a particular location in my current codebase. It wouldn't be any simpler had it been written in typescript.

  return Drawing.getForLocation(id)
      .map(d -> ok(Json.toJson(d)))

I agree. I work with Java at my $dayjob, and I must say that the introduction of Java 8, as well as JavaFX becoming a de-facto standard Java UI toolkit, made this language much saner to work with for building anything GUI-based. It's no Common Lisp, but coupled with a decent IDE Java today isn't significantly less productive compared to other mainstream languages.

You forgot to declare the package (i.e. the file path), and the class name (i.e. the file name), and the class definition so that the Verb you posted is chaperoned by a Noun.

Well, you'd have those things in any language. A route definition, some kind of namespace, a controller object implementing a method for the route, the last bit being what I posted code for. My point is: Java doesn't need to be worse than other languages in any of those things anymore.

That's not true universally. While there is a hot market for startups based on Angular ( or is React these days?) and microservices or other such things the market for enterprise desktop software is still there.

Try writing a serious CAD application in HTML5/JS for example.

https://www.onshape.com Build by some Solidworks people offering basically the same experience but in the browser with server side computation. Very promising as it tries to solve problems which the older CAD players can't tackle with there current desktop tech.

God, I have such mixed feelings after viewing the product overview video on their site.

On the one hand, you can't deny the wins that comes from bullshit-free operations - no installing, no permissions, no need to deal with sysadmins to approve a new program[0], and updates do themselves. Files are backed up and trivially shared across devices.

On the other hand, you're now locked in to a vendor system, with vendor software doing file management, version control and sharing. You need constant access to Internet to do anything at all.

Then there's also issue of performance. I actually registered for a free personal account and started playing with this software. I saw more-less what I expected: it kinda works, like most such web tools kinda work - good enough to do something, but laggy and slow enough to piss me off if I were to spend more than 10 minutes designing anything in it.


I can understand all the cloud nonsense (though I prefer regular files, thank you very much). But from the quick experience, the application would feel much better if it was a desktop/mobile native program, not a webapp. It's like with Google Office suite - looks cool to have it in a browser and it sorta can help with the basic things, but try to build a reasonably-sized document, spreadsheet or slideshow, and the performance drop will make you tear your hair out.


[0] - How security is done on work machines is ridiculous, though it's a separate topic. I'll just leave this: https://xkcd.com/1200/.

You guys all have kill cords attached to your wrist, right? https://github.com/hephaest0s/usbkill

I dread whenever I need to open MS Word and choose G Suite anytime I need to write a longer document...

Because you are on Linux, or because you like your software laggy? ;).

Office suite takes a ridiculous time to load on OS X. Plus stuff like Word is painfully over bloated.

If you need to print something that looks reasonably nice - then maybe Word would make sense.

Thankfully we are sort of living in digital era where printing is synonym to bureaucracy.

I don't think writing a browser based, professional, CAD application is out of the question. Especially with WASM gaining support in modern browsers and WebGL2.

I think this was done a few years ago, but it still amazes me.


WebGL2 is a nice toy for writing blog posts, nothing more.

All my mobile devices have OpenGL ES 3.x running intensive native games without issues.

Yet for mobile browsers I have to specifically enable the WebGL 2 support.

No user without technical skills is ever going to deep dive in the browser flags to enable WebGL content on computers that don't have any issue playing 3D games.

It's enabled by default on Chrome for Android and Android webview now.

Not if the GPU is blacklisted for whatever reason, in spite native games not having any issue with it.

For a company like Palantir, I would imagine most of their clients are running older browsers, possibly even IE <10 still.

I'm not familiar with their product, but a web app would certainly introduce more developer time spent on keeping cross-compatibility with older browsers while a Java/native app is practically WYSIWYG.

Maybe two fun data points:

-- We achieve magnitudes higher visual scale via GPU client/cloud computing... while running in a browser

-- We intersect with some of Palantir's customers (though we're more fortune 2000 sec/fraud/etc.), and are deploying fine. WebGL is ~5 years old.

This may also be a good point to note.. The Graphistry team is ~doubling! If scaling visual analytics for cybersecurity, anti-fraud, etc., sounds worthwhile, please send your CV/LinkedIn/Github to build@graphistry.com !

Hardly. I work in a company who's stack was Java from the beginning as a "scrappy startup." Some of the folks who have been here the longest are some of the first to jump on any heavyweight Enterprise Stack they can think of.

I think Java still makes a lot of sense on the server.

Sure it can make perfect sense. There are plenty of developers who know it well enough to be productive and it's certainly fast enough for typical server applications even at a large scale. It's the crufty heavyweight frameworks and ceremony around the ecosystems that can be a bit off, in my view. Also I'm not a fan of OO programming for most use cases. It has its place, like any paradigm, but I'm not convinced that place is as large in scope as others might think.

I could pound out a UI in no time flat using Swing compared to anything related to JS. Desktop applications are not fashionable, but they are effectively still something that webapps and mobile merely strive towards.


I welcome you to start your next hot startup in 2017 using Swing/Java instead of React/React Native/Node/Ruby/Python/Go/Rust/C++ etc. The merits of the stack are determined by both intrinsic factors and the market. Ignoring the market (remember Palantir is hiring in SV / Palo Alto) you risk alienating potential hires and current employees. [1] Another great example is EHR/EMR market with Mumps etc.

[1] https://www.quora.com/Why-does-Palantir-use-Java

Prospective employers:

If your problems are interesting and we get along well, I will happily work on whatever out-of-fashion tech stack you have that the web development intelligentsia sneer at. And we'll do great things!

I had a blast making Wordpress development not suck and it led me down a lot of interesting roads and brand new ideas.

These other potential hires who only believe in The One True Stack are silly.

It's not silly to want to use tech stacks that are commonly used instead of learning a stack that won't transfer elsewhere, I.e epic

It's absurd to compare MUMPS with Java. Java is very much used by modern companies on the backend and for desktop applications.

You can still make your SV rockstar programmer salary writing code in Java. Don't they still use it at Google?

Java is still the language of choice for many new projects at Google. Your options for new large server-side projects are, realistically, C++, Go, and Java, arranged in order of how high-level the language is. Java is a perfectly rational choice even today given those options.

Yes, they use it at Google and basically everywhere else. The JS circle jerk is extreme here. JS has its uses - mostly because it is the default language of the web and the web has many uses. That is all.

I'm a recent founder a big data platform and a lot of our code is Java.

But better yet, we have embraced Cloud Native, so between containers and microservices it doesn't really matter what language we use.

We use Java, Python, Go, Ruby, C++ and our front end is React.

Individually, every language we use is both powerful and flawed. But together it builds a pretty amazing platform.

There's a sheep in your HQ?

In terms of hiring, I think you're right.

But I really resent this sort of mentality. It causes a lot of work trying to 'upgrade' your tech stack when you'd get more benefit from fixing your architecture, refactoring, building new features, fixing bugs etc. I'd rather work on improving software in meaningful ways and make the company more money.

When it comes to NLP, Java is one of the best languages because of the library support (e.g. Lucene, Tika, Stanford CoreNLP).

You don't have to like Java, but it is fine to use and there are plenty of potential hires.

>The merits of the stack are determined by both intrinsic factors and the market

Sure, but isn't Java basically the biggest language in the world? And it can't "limit development velocity" more than C++.

I interviewed there a couple years ago. the guy forgot to call me for the phone screen. I emailed the recruiter and they said sorry they can reschedule for 7pm that night when he got home.

on the call (which started at 7:15) he talked 90% of the time. he would ask me two or three questions at a time, and when I would get a chance to answer one he would jump in and answer the rest of them for me.

I was rejected for lack of technical skills

Aren't you glad though. That was very quick way to learn about the company. And you have an awesome story to tell.

Same kind of thing happened when I interviewing for AWS. Forgot to call for phone screen. Manager didn't show up on day of interview. Forgot about me during lunch. Had to parrot back the leadership principles while doing even sillier whiteboard puzzles. Then "we'll call you next day" as I had a few offers in hand was more like 2 weeks later.

I interviewed there. It was extremely challenging, but somehow I passed it. I had a very positive impression of the company and its culture. Recruiters and interviewers were super-responsive.

It was in the early days, so it was a very startup-y attitude, "we're so smart" sort of thing. The engineers were smart, from Stanford and CMU, so it was partially justified. I ended up not taking the offer. Not for a particularly good reason, it just didn't fit with life circumstances.

Looking back, it would have been a bad idea. I didn't understand the product, which is pretty essential when joining a company. The stock was granted as options, so without an IPO it is illiquid. The salaries were all low, but at the time someone could have lived in Palo Alto on them.

It turns out they thought they could tackle this problem of disparate data silos and change the world while respecting privacy. They weren't able to automate away the expensive process of having Forward Deployed Engineers do data integration work.

> They weren't able to automate away the expensive process of having Forward Deployed Engineers do data integration work.

Enterprise in a nutshell.

And honestly, not what the customers want. If they're hiring you in the first place, they generally suck at tech. So they'd much rather have "Stanford grads on site every day" as proof of how they're spending money.

So it's a non-starter for Palantir's management when they're looking at existing customers and their desires, and the continuing trickle of naive tier 1 undergrads. Just keep the company cool enough to attract the crop under Google, Amazon, & FB...

And if the customers don't want 100% software data integration, then why spend a lot of money to automate 85% of it?

Palantir's interview process gained a lot of discussion here.


You don't seem to be alone in having issues with it.

It's amazing how many mediocre people are being propped up by investors all over the place.

I've worked for a number of startups and observed that some people are great at collecting money but don't know how to spend it wisely after getting it, just as some politicians are great at getting elected but don't know how to govern.

Convincing investors is an orthogonal skill to running a tech company or building a useful product - much like winning an election is a completely separate skill from actually being competent at managing a country.

This unfortunate reality is why I try to avoid dealing with systems that developed professionals who are solely specialized at gaming those systems - like MBAs or career politicians.

I interviewed there in 2012. The engineer called me, did his little talk and we jumped into the questions. His first question was the subset sum problem. The literal problem. It wasn't even couched in a practical application. So I said "this is subset sum. You can solve it with dynamic programming. I would look it up in a book." His response was "but I want you to solve it." I stopped the interview and thanked him for his time.

I'm a senior engineer. Those types of interviews are to stoke the egos of green engineers who remember the solutions to their algo finals questions. If I can look it up in a book, it's not worth the time to quiz me on it.

Lol. Actually, they are the kind of questions us really sr people ask to ensure people are willing to actually do work.

Anyone who brushes off a question stating that it's beneath them is going to get walked right out of the building by my team.

Yeah, no. Senior people don't want someone to waste time coming up with their own bug ridden solution when it's readily available elsewhere in a peer reviewed form. That kind of experience is what makes gives them the senior qualifier.

So Palantir wants senior people who still know how to write code. If you consider it below you, then don't work there. What's the problem?

Which team is that? I'd like to know so I can avoid it.

Ditto. Sounds like a bunch of egos I want to avoid at all costs.

Don't get up. I'd gladly show myself out.

This dig at Palantir’s stack is outright false. A ton of their “products” are modern TypeScript + React UIs over reasonable open-source datastores, and they open-source plenty of stuff from that stack.

Check out this React component, which is pretty cool: https://palantir.github.io/react-mosaic/

Plenty more examples here: https://palantir.github.io

Lol. Sure, a good UI is important, but what's even more important is the backend data analytics and that's were palantir is the lacking

How is Java/Spring an issue here? Guess what powers Amazon, Google, Apple etc.

Not Java/Spring?

Google at least is known to use C/C++ for its backend. Python is (or was?) used in YouTube.

I think java comes out as one of the most efficient and battle tested backend languages.

For data crunching, especially statistical jobs, Python is probably also a good fit although it's not as efficient but have a number of good statistical, mathematical and ai toolkits that seems to be more active.

For running more specialized jobs, R have even more tools, but is a bit more shaky as a general language although it is a nice functional language, as many tools are more scientists scaffolding rather than nice abstractions.

Then you have fortran and matlab. I've heard of using erlang as a fast real-time analytics tool too, but then you probably need to roll your own everything.

But what do you suggest? Node.js claim to fame is mainly that most web developers know it, and js have formed their mental image of what programing is and how a computer works.

Just curious, do you have direct experience with big companies using R, python, etc in production? My sense from working with people from those companies (and a few internships at those companies) is that you could use something like R, matlab, or scikit-learn on your own workstation with a tiny data sample to explore the data, but then do crunching by translating that program into some Java or C++ code (sometimes using specialist libraries) and running that in parallel, for production.

Do people actually just skip that step and just directly deploy their R? That seems really scary.

Having worked with several large (fortune 500) data science teams, they generally do their development in Python and then throw their models over the fence for us to productionize with Java.

The major difference I've seen between most of these companies is whether they've embraced Java 8 yet.

This is my experience as well. The data science people, who need to do proofs of concept, use Python. The people who have to write large, complicated codebases that scale well and accept years of modification use statically-typed languages like Java and C#.

To be honest, until recently I'd say that everything would be rewritten in java - mostly since there were already deployment pipes for it.

With the latest container-based toolchains I think it's not a bad idea to deploy some R-based services for certain type of tasks.

With the work Microsoft have been doing with the former Revolution Analytics, you absolutely can go into Production on R if you want to.

A few companies ago I worked at a company like that - researchers in R, MATLAB, Excel, whatever, then once it worked chuck it over the fence to the developers to rewrite in C++ or Java. Then the CTO, who was a visionary guy, made the decision that we would be all Python end-to-end with occasional C permitted for performance-critical sections. There were some teething troubles at first but when it worked, it was wildly successful and no-one could believe we'd ever worked any other way.

What is wrong with spring other then "not hipster compliant"?

Google has quite a lot of java.

Google had and has a lot of Java, see GWT. It might not be hip anymore, but its still widely used in a lot of backend environments.

Google uses lots of C++ for very performance critical parts (search, browser) and then lots of Java everywhere else.

I dunno about Spring in specific, but a quick search for 'java' on amazon.jobs brings back ~2700 open positions. The google search doesn't seem to give a total. Apple brings up ~500.

Java is huge in a lot of places.

Poe's law.

Their Blueprint React component library is also quite nice:


Also plottable, one of the few large typescript open source libraries you can depend upon.

Plottable is absolutely amazing!

That component library rocks. It's one of the few that puts keyboard focus as a first-class citizen.

Either way, I'd kill myself before I worked at Palanatir.

And I've put myself in poverty before by quitting a multi-national pharma that bought my company out and I lived on my 10k savings over 15months while I found a new job.

Palanatir is not harming the world because of 4-5 shitty executives. They are harming the world because of 100's of shitty employees that only want money.

Fuck all of them.

I wrote this one of the last times Palantir was discussed and I think it remains true. The company is about ego and bullshit...and they have done a really good job of selling the emperors new clothes.

>I cannot say enough bad things about Palantir.

>I cannot comment about the technology but I sure as hell can at a people level. I was a speaker at a conference where one of the Palantir cofounders gave a keynote. This was a conference organized by college students for their peers. As with all such situations these kids worked incredibly hard and his talk was incredibly disrespectful to that.

>If I hadn't been so disgusted I would have thought to record it. Rather than talk about anything relevant to his audience, or frankly anything informative, he told 'stories'. We have all seen that type of talk, but I have never seem one which so blatantly braggadocious about his interactions with this and other country's intelligence branches. I found it somewhat ironic, for someone who works for Peter Theil, that the level to which the talk, and his representation of the 'good' the company does was so absolutely and unapologetically statist and authoritarian. He talked about who's jet he rode on, who he knew, and other things that seemed simply organized to ensure we knew just how important he was. Several of the stories were overtly misogynistic, and none of them had any useful knowledge about Palintir or working for them. I was sitting with another speaker and we were literally shaking our heads. I felt bad for the organizers and felt the shame he[the speaker] seemed incapable of.

> Several of the stories were overtly misogynistic, and none of them had any useful knowledge about Palintir or working for them.

Sounds like you got a ton of useful knowledge about Palinitir and working for them!

> They are harming the world because of 100's of shitty employees that only want money.

Can you explain this more? I don't work at Palantir, but I do insist I get paid for working every two weeks.

How are they harming the world? I mean, aside from converting oxygen to carbon dioxide.

They are saying "don't work for them" / boycott them. They are arguing that if they had no employees, they would cease to be.

I still don't get why Palantir is making the world worse, besides being apparently a bad product.

There are finite human/physical resources. The money/time/physical resource spent on supporting Palantir and its employees could have been deployed on more benefital problems. Is I would guess the argument.

> A ton of their “products” are modern TypeScript + React UIs

That's... not exactly better, tbh

Not getting this obsession with the tech stack ITT?

You can run a profitable business even when using Java, Typescript and React. Infact choice of language probably makes less difference than us geeks would hooe. Outside of really bad language choices.

Yeah, frankly I agree. There are reasons to criticize Palantir, but including Java in their stack isn't one of them.

Bikeshedding/social signaling

> Their genius lied in creating "mythical image" and cleverly overselling it to the less proficient government agencies (apparently NSA was smart enough to see through the ruse).

A trick now being repeated by Cambridge Analytica. The press eat up the story of "Big Data stole the election", and they do their part acting a bit dodgy, and presto they have that reputation and are probably getting buried in cash.

Nobody wants to admit working with them so if they fail to fulfill their promise, nobody finds out. If they do end up on the winning side, the collaboration gets "leaked"...


Java is one of the most widely used languages in the world. I get the impression that people who think using Java is an issue are usually just hiding their own inadequacies by repeating hype they read on the Internet.

Would you still use it on the client side today?

Assuming that I can't get away with a web app, and need to install something native on the client side... is cross-platform support required?

If so, then your choices are:

1. Write separate native clients for Windows (in C#) and OS X (in Swift or Objective-C), and perhaps Linux (in whatever). It'll be hard to hire people who can work on all three, so you'll need more headcount and organizational/technical complexity.

2. Use a cross-platform framework like Qt, Wx, Gtk, etc. This will probably push you toward C++, which can be difficult to hire for. And you'll get constant complaints that the UI doesn't "look native enough" anyway.

3. Use Electron, and whichever JavaScript SPA framework is trendy this week. Have everyone on Hacker News declare your client to be "Flash for the Desktop", and be forced to re-write it with the next trendy framework two years later so that anyone will want to work for you.

4. Use JavaFX, and the JDK's built-in "javapackager" tool to create native installers for Windows, OS X, and Linux. Each of which includes a bundled JRE, with a size smaller than Electron. You won't be able to find a lot of JavaFX experience on the market... but Java developers are easy to find, and it only take a few weeks for decent ones to get up to speed with the framework.

Hell yeah, I'd use Java on the client side. None of the options are great, but Java's probably the least-bad.

I kind of wish that Sun had never come up with applets. Java in the browser was a bad idea from so many different perspectives.

What do applets have to do with anything?

I wish that applets had never been invented, too. But only because of market confusion. So many people who don't know anything about Java mix up applets (which haven't been relevant in almost 20 years) with Swing or JavaFX desktop apps, think that security vulnerabilities found in the browser plugin mean that standalone Java apps are "insecure" in general, etc.

I think applets gave Java a terrible black eye as a client-side because of how insecure Java in the browser turned out to be.

The market confusion I would blame on Netscape for choosing "Javascript" as the name for their scripting language.

Applets have nothing to do with Java desktop app development, and I don't think anyone has confused the relationship between Java and JavaScript in over a decade.

I don't believe you really have anything to contribute to this thread, and are just bouncing from one tangential reference to the next to feel insightful.

First, I'm sorry if I've offended you in some way. Your original answer to my comment was a very good one.

I have to respectfully disagree that nobody confuses Java and Javascript these days. There's an active thread on Quora about this very topic.

As it seems, there are only two good options if you need a decent cross-platform desktop GUI without having the means to go full-custom for each platform. These are Java and Qt. I'm heavily biased towards Qt since all serious image processing in the world is still done in C++, but without this constraint, I'd like the safety and tooling support of Java.

Of course C# is just a much better Java, but AFAIK its crossplatform capabilities aren't mature. And it has a tendency to evolve a bit too fast. Your desktop codebase will probably live for at least 10 years, if not more, so it's better to start with a stable technology from the right family (i.e. not overly deficient from the modern perspective.. Qt somewhat fails on this front).

It depends on what you mean by a client. If your world view doesn't extend beyond a browser, then no. However, I would still use it in client applications on servers, desktops, and Android phones.

If I were developing a new game from scratch today then Java would be a contender. Look at the success of LWJGL for instance -- it's what powered Minecraft up until the Microsoft acquisition.

Other than playing around with that, I don't think I've done anything substantial with Java-based UIs running client-side since 2003 :/

  outdated software stack ...
  no meaningful ML/AI strategy
Yeah, because not being buzzwordy enough is just SO much more important than having meaningful products and services that fulfill a vital role.

ML is extremely relevant to what Palantir does, particularly on the broad-scale analysis stuff they purport to do. Extremely relevant. It is surprising to read that they don't have a strategy -- not weighing in on whether that's accurate or passing judgment, just saying it's a more surprising observation than you're implying.

100%. I suspect the original statement is actually laden with a fair amount of bias : Palantir unequivocally does have an ML strategy given that they're selling data analysis in 2017. It's literally unthinkable that they don't.

Whether that strategy is well reasoned and sophisticated is a completely different matter - but to imply that said strategy doesn't even exist is deeply misleading / straight up wrong.

What exactly is "buzzwordy" about "software stack" or "ML"? This is legitimate jargon that means specific things. We use these terms routinely at Google internally.

In context with 'strategy' it implies you need a "ML strategy" to somehow deliver value to customers. That's buzzwordy.

In the context of the business area that Palantir is in, though, they absolutely do need machine learning to maximize the value of their product. Imagine trying to build a program to beat AlphaGo, or a search engine better than Google, or a best-in-breed image classifier, without using machine learning. You can't do it. Machine learning is a critically important technique that can solve problems better than anything else can. Palantir's work contains many such problems. Not using the best tool for the job, and not even having a roadmap to do so, means they're ripe for disruption by some other company coming along doing the work better.

Machine learning isn't just some buzzword used to attract VC money. It really, truly, does work.

If you want to write cross platform desktop apps, your choices are pretty much either Java, C++ and Python. Rest of the languages/platform either don't have great library support or simply not mature enough to deploy at scale. Now if you want some performance, more mature UX library and eliminate Python, you are limited to C++ and Java. Its much more harder to do UX stuff with C++ and finding great C++ developers has its own challenges. So usually it all comes down to Java. Of course, one can argue that why in the world someone is trying to build desktop client applications in 2017. Usually answer to that question is Internet is not as universal, cheap and fast as some people tend to believe.

I have extensive experience writing professional (i.e. Not consumer oriented) desktop applications in both Python and C++, and you're right on the money.

Java may not be sexy or purty, but it works and you can actually hire people to do it.

> Palantir has an outdated software stack (Java/Swing).

How is that supposed to be even vaguely relevant?

Palantir sells intelligence, not hip-compliant software.

>Palantir has an outdated software stack (Java/Swing).

This is the first fallacy of software engineering. In general, nobody cares what the tech stack powering a solution to a given problem is. If it solves the problem, then it is considered a success by customers. There are exceptions to this rule, but there aren't many, and they don't really apply to Palantir's model. In their case, as long as the system spits out the data it is supposed to, they could have used Visual Basic to program the backend and customers would still buy it if it worked as advertised.

What about recruiting?

It's one of the most used and most known languages. There is no issue recruiting.

Better yet, it's been widely used for a while, so there is no issue recruiting experienced developers.

I wasn't talking about Java in particular. Instead, I was focusing on this sentence:

In general, nobody cares what the tech stack powering a solution to a given problem is.

When I choose a tech stack, I'm always concerned about recruiting. Some stacks are easier/cheaper to recruit in than others.

Technology stacks do not make or break businesses..... It's foolish to think so.

Unless the business is a tech company selling enterprise software. If, as other commenters have mentioned, their software is subsumed by cheap or free open alternatives, that could be detrimental.

No, they often do. Netscape couldn't catch with IE because of their convoluted stack. Friendster couldn't catch with Facebook for same reason from what I hear. If you are building web app in COBOL or Fortran, you are certainly at huge disadvantage with someone else doing stuff with modern more richer platforms.

> “Netscape couldn't catch with IE because of their convoluted stack”

Wait what? There are several reasons why IE managed to crush Netscape, but the complexity of their software stack isn't even on that list.

I was working in the industry when all of this went down, and I can assure you that Netscape's software stack had absolutely nothing to do with it. The actual story is mostly about Microsoft leveraging their monopoly to push competitors out. This is part of their standard modus operandi since the company was formed.

If you think I'm wrong, please give some evidence to it.

I was also working in the industry at the time.

Microsoft leveraging monopoly power was certainly a/likely the major factor, but Netscape also had serious execution problems trying to get out an email server and directory management product.. at the time they could have stolen significant share from Novell.

A lot of this is I believe covered in the famous "never do a rewrite" JWZ essay and in Ben Horowitz's book.

but the complexity of their software stack isn't even on that list

Yes it was. Building an integrated web/email/etc client was harder than they thought it would be, and then there was the Javagator fiasco.

But what really killed Netscape the company - which was planning to give the browser away anyway to create demand for their expensive server products - was that version 3 of Netscape Enterprise Server was terrible. The only thing less reliable than it was the watchdog process that came with it that was supposed to restart it when (not if) it crashed...

This is true in some cases but I don't think it's particularly relevant to this discussion. A company running COBOL, Delphi, etc. has trouble finding developers. Netscape using C/C++ was not a problem – even today that's every mainstream browser engine and there are a ton of developers at every skill level.

Where Netscape got into trouble was in the decisions which they made: that massive rewrite was poorly timed, along with the catastrophic management failures trying to grow so quickly, and their new codebase was arguably too complex but that's not an argument against the stack unless you're claiming that certain problems couldn't happen in a different stack, which seems implausible.

I have friends that work there and say the same thing.

I turned down a job there a long time ago, I did ontologies academically so I already knew they didn't work for what they were trying to do.

What's 'ontologies academically'?

I'd shorten that to "what's 'ontologies'"? I did a class on Semantic Web, and spend a fair amount of time reading articles (and a book) about that, and I still don't have any clue what exactly do they mean by "ontology"... It's like the meaning of this word somehow escapes my mind.

No the OP, but it probably means he did a lot of work in semantic web stuff.



My guess would be "knowledge models".

What were they trying to do?

You make it sound like they are not providing any real value, but Palantir has lead to multiple arrests, and some claim, even helped in finding Osama. The complain seems to be that they are overpriced, not useless.

Also, there is nothing wrong with a Java/Swing backend. Its not cool, but any company handling that amount of sensitive data will not use a 'cool' stack.

I'm pretty curious about the "outdated tech stack" part of this. I have used some of their open source software, such as blueprint (a React UI toolkit) and pkg (some Go libraries.) Both of which seem quite modern. That's TypeScript + React and Go.

I do see some Java stuff here. But it would appear at least they have talent in very bleeding-edge technology stacks. Is this all for show?

> I can assure you it probably has the worst overconfident brogrammer culture

Everyone I know at Palantir has at one point or another mentioned to me (boasted about?) how difficult it is to get a job at Palantir. Sample size < 5, but I'm starting to think this isn't a coincidence.

Swing isn't actually bad if you have a good look-and-feel. Easier to design a Swing UI than a webapp with similar functionality.

The problem with Swing is that everything in Swing looks like a dog's breakfast and nobody under 40 knows how to use it.

That is because they are all busy trying to make HTML/CSS/JS work like GUI tools we already had in the 90's, while failing to do so without major hacks, which then get written in blog posts as some kind of victory.

React is the latest example of it. Great! They just discovered how many 80's UI's used event loops.

I have a lot of sympathy for this view. But the results are that a good-looking Web UI is better accepted than a consistent and full-featured Swing-based UI, in no small part because it's more difficult for Web designers to make Swing apps look good.

Primary reason it's accepted is because people generally don't have a choice. It's rare to find an alternative to any given service that offers the same functionality but doesn't follow latest designer fads.

> it's more difficult for Web designers to make Swing apps look good.

Maybe they should bother to learn how to do it in first place?

People should do a lot of things. What they actually do is what matters. Despite all the web-inspired frameworks trying pave over real UI stacks in mobile devices, they have not succeeded in web-izing mobile UI. So, thankfully, we can turn our attention to the civil war of pubsub vs observer.

Yeah, I agree in what concerns the mobile space.

Having programmed both I genuinely believe that reacts unidirectional approach is superior to swings mvc approach.

And I even argue that it's possible to make swing apps that fit nearly seamlessly into a platform given enough attention to detail which is not a popular opinion.

And this is why we end up with JS frameworks that fails to adequately solve problems that were solved decades ago.

How long did it take again to get anything resembling proper layout controls in a web application? Oh wait, we still don't have it. Motif had a better model for this back in the 80's.

> nobody under 40 knows how to use it.

Wow, you must be a grumpy old man, hating those youngsters. They can't even tie their shoelaces alone...

Actually I have seen some people under 40, who could use a microwave oven, use a smart phone, and some could even use desktop applications. I believe many of them can find their way around stuff outside the web browser.

Regarding developing swing apps as "use swing": I have managed to do it after reading the docs, and I'm under 40. It was actually more pleasant than using HTML+JS.

Sort of the opposite, really. I'm one of those old guys who remembers attempts such as Swingweb and GWT to compete with Web UI stacks.

> nobody under 40 knows how to use it.

Reading the docs is a good place to learn. That's how I did it when I was under 40.

If you can't learn how to use Swing, it means you are a bad programmer. It does not depend on your age. You might not be willing to learn, or have some other reasons, but claiming that Swing is somehow so old that young people are not able to learn it is just plain false and completely unsubstantiated.

The former is fixed by a solid look-and-feel, but the latter is definitely a problem (though I'm certainly under 40, I've never met another Swing dev in person and make most of my money elsewhere).

Nobody under 40 knows how to use it, or WANTS to use it? Doesn't take much experience to dink through a few tutorials on yet another GUI paradigm.

Are you calling Java outdated? Or swing? Either way I think that's quite debatable.

In support of your comment on ML/AI...quora has a post on that


>Palantir has an outdated software stack (Java/Swing). Sadly in 2017, their tech stack is falling apart, they have no meaningful ML/AI strategy

If I were to guess I would say you failed the interview. You should probably brush up on your Java and Swing.

That sounds incredibly defensive. Not one substantive response to any of OP's claims, huh?

When you open with a substanceless proclamation that Java is outdated anything further must be taken with a large grain of salt.

> Palantir has an outdated software stack (Java/Swing)

What? How is this even correlated to the value provided by the software they sell? So they're SOL because they didn't do a rewrite?

> they have no meaningful ML/AI strategy

They mostly sell software and services around data integration of disparate data sources and the ability to query that information and make connections easily. Their flagship product is a graph database with access controls built in. ML/AI is so dependent on the particulars of a given data, so I don't know how valid this criticism is. If they're able to provide value without productizing machine learning, sounds good to me.

> Finally the political environment along association with Thiel isn't helping them make any new friends.


Conjecture? Palantir is known to be rabidly expensive. The available information on the internet and from people I know who've encountered the technology directly describe their "product" as a mix of a very outdated tech stack and expensive integration services with expensive on-site support [1]

My guess is that the NYPD did an analysis of the life-cycle cost of the system over another contract period, and probably determined they could do something cheaper some other way. Since they've built another system based on a competitor's technology (with some special home rolled glue sauce) they're obviously getting some benefit from the basic approach, but given a choice of close enough tech and more badges or the status-quo they've decided to move forward.

1 - I've basically heard their software described as a big graph backend with a document store and an ancient Java client for mucking around with the graph. Most of their tech has been subsumed by very free and highly scalable technologies.

The most recent video shows a just normal run-of-the-mill web app any decent team of 3 or 4 good web devs could crank out in a few weeks.


They actually don't have any video up of anything recent that actually really shows their core product. The video here shows a java client https://www.youtube.com/watch?v=5OYy_UtINo4 but it's from 2015.

Kind of a shame considering how much money and talent they've vacuumed out of the market. If I'm right, it's amazing for IBM to actually come in at a lower price than some competitor.

I have one question, will the new NYPD in-house developers be union or not?

It'd be interesting if they were union just to see how that works, for better or for worse.

I wasn't aware of any unions with software engineers. Are you?

I also am not aware, but given this is the NYPD, isn't there an opportunity for the developers to become unionized?

And I wonder, the software developers for the larger trade unions, do they get under the union umbrella or do they get the short shrift form the unions they would work for?

According to linked in Palantir growth continues - they are not that big at only ~2K employees:


Everyone is focusing on Palantir. As someone who knows how much IBM has thrown at this over the past 2 years, it's really IBM and their historically strong relationship with the NYPD that is the real (but far more mundane) story.

Ultimately, if you piss off the IBM execs enough (which is what Palantir is exceptionally good at), then IBM will mobilize a significant chunk of the company to obliterate anything in its wake. Even if that means making a huge loss.

They then try to use that win as a template for future success. Unfortunately IBM is incapable at that since the harsh reality is its software division is just a bunch of incoherent acquisitions who can't generally collaborate.

What's the beef between IBM & Palantir?

IBM is competing with Palantir via a product called Analyst's Notebook, which they bought from a company called i2 a while back. Prior to the buyout, i2 sued Palantir over how Palantir's "import from Analyst's Notebook" functionality had been implemented.

It's entirely possible that there are other things going on between Palantir and IBM, but I'm not aware of any other specific squabbles.

Disclosure: I worked at Palantir from mid 2009 to early 2014 and still own some stock.

To be clear, the suit that i2 filed alleged that Palantir stole trade secrets and requested that the suit move forward under RICO law (an anti-Racketeering law meant to fight organized crime). The judge agreed and Palantir settled almost immediately after. i2 then sold to IBM almost immediately after that.

The employees on Palantir's side who were involved also kept their jobs. That sends a really powerful message about who they are.


Beyond the AN issue, there is a wider dispute around the DCGS program for the US Army. Palantir sold point solutions into US army airborne units and the marine corp, earned the respect of the intel analysts and delivered value quickly. Meanwhile the lumbering DCGS 'program of record' implemented by IBM was blowing out the schedule and the budget with meagre effective returns. When other US army units wanted to procure Palantir, they were blocked and redirected towards the failing DCGS program. Palantir cried fowl and sued ....



I remember a friend of mine interviewing there. He was flown from London to SF for the interview. He got through the technical questions fairly easily. At the end, he had an interview with one of the co-founders, who asked him "As an FDE, what do you think your role is?". My friend totally BS'd his way through the response, thinking he's messed up the interview. The founder however ate up everything he said, and added his own flavor of fluff to the conversation. That's when he realised that Palantir was not really selling software, as they originally made out, but consulting, much like Accenture or McKinsey. Needless to say, he was truly disappointed by the experience - Palantir was quite simply not what it was made out to be.

To be fair that's how the game is played. You can't get in the door at a government agency or Fortune 500 company without offering support staff.

"That's when he realised that Palantir was not really selling software, as they originally made out, but consulting, much like Accenture or McKinsey."

I think they do both?

I can't quite place them. On the one hand I don't see what their product offers that existing BI dashboard tools such as Tableau can't deal with.

On the other hand, 2 of my former, incredibly smart, non-douchey, genuine, down to earth colleagues (both non-white male if it matters) work for them so I'd question the brogrammer stereotype as I doubt they'd stick around if they were feeling out of place.

Interesting the aim at Palantir's supposedly bad Java stack. It might be uncool, and even bad from the programmer's POV, but many government agencies have regulations that actually prevent them from using "cool" technology. I know of orgs settling gov-nt and medical software, for example, and they use Java and .Net because those things are easy to sell. Doing anything in Ruby requires jumping through a thousand additional hoops. EOD, the language for them is just best business decision.

When was the last time you heard a set of patched together IBM software being 'intuitive', let alone 'more intuitive' than Palantir's built-for-purpose product?

I'm experienced with both IBM software and Palantir and I am truly surprised by that bit in the article - imo IBM haven't put out anything intuitive since OS/2!

Have any of the big Palantir critics on here actually used their software for anything? Because compared to the usual fare of craptastic trashware that passes for "software" at NYPD, I can assure you that Palantir is excellent. Even the old Java/Swing installation still being used there is a godsend (though Palantir has moved on to a more modern UI in their current versions). It is (or was, I suppose) the most flexible investigative platform in that place.

The real issue at hand is internal politics. Tech at NYPD is run by a lawyer with little law experience and no technology chops who attained the position due to nepotism (daddy is rich and a huge contributor to the NYC police foundation). Coupled with brass who have zero understanding of technology and an aggressive IBM sales team, you get the result outlined in this news article.

NYPD gets their source data, but not the algorithm. Hard to say if that's unfair without knowing the nature of the contract.

It's certainly not unusual to sell analysis without selling the "exactly how".

I'm reading it as they want the transformed output, not the algorithms themselves.

Definitely makes sense, especially if NYPD contracted with some firm to replace Palantir, and now wants the algorithm because that's the hard part to copy. Obviously the methods by which they are able to process information is the reason governments pay them big bucks.

No its not the algorithm, its an untamed firehouse access to Facebook data, all of it - not only what you see upfront, photos lead, or what marketers can target. It goes much much deeper than that.

Its a well-known secret that only Palantir has this type of contract signed with Facebook. A funny insiders anecdote is that some people joke about how this agreement is being signed: left side: By Board Member of Facebook: Peter Thiel. right side: By Board Member of Palantir: Peter Thiel.

This ability to query Facebook data anyway they want to is what gives Palantir competitive age. Tech stack is irrelevant; you might as well run it from a MS Access 2005, and you would still find clients, because they don't buy technology, but the result of crunching of data (well maybe something that hold more rows though)

Those who knows beginning of Palantir from a cocktail napkin times know it was a perfect asnwer to a question how to use FB data and make extra extra money. They's how Palantir was born.

Anyways, what most likely happened is that NYPD got enough of solid information on this and probably is questioning legality of pulling data from FB by Palantir without violating whole set of rules, laws, and US Constitution as well; hence they decided to stop before they may become part of a bigger lawsuit.

This is entirely fiction.

Of course. A guy with karma score 1 would know. And NSA spying if entirely fiction too!

Got any evidence?

With no technical details it's hard to know what is going on. "Analysis" can mean many things, and sometimes one person's open analysis data is another's proprietary visualisation.

This is almost certainly the saved file with all the entities and relations. I can't describe it except for compare it to other network analysis suites: Maltego and Analyst's Notebook.

Without the Palantir appliance, the analyst can't create or update relationships or entities, or search/filter data sets. The saved file would simply allow him or her to view the set of entities along with any reports generated.

I actually feel for Palantir in that regard because it would take lots of work to port this format into the new system. Likely there are things that don't translate, so the information will be lost.

Caveat: I've only messed around with Palantir, never done any actual work with it.

most likely this has nothing to do with tech, simply IBM sales guys are better at NYPD politics

The article says NYPD did the development.

"group of IBM products tied together with NYPD-created software"

In PR speak, that can just be some big data reports/structures they visually built in Cognos

Smells like Watson came to town.

This is Analyst's Notebook, plus other things (some of them maybe branded as Watson)

The same NYPD that uses typewriters?


I wonder if Palantir ran screaming from this deal. It seems more like an IBM deal when you start talking typewriters.

Wouldn't it be hilarious if their secret sauce analysis turns out to be a secret backchannel to the CIA/NSA and not some fancy algorithm.

Oddly enough, the same thought's occurred to me of an investment firm with very strong ties to the NSA and cryptography community, with offices located in an interesting position relative to both cable landfalls and some government facilities, as well as a reputation for absolute gee-wizardry and completely-beyond-unbelievable investment returns.

To the point that I hesitate to post this even under my pseudonymic profile.

It's absolutely the stuff of very, very, very bad conspiracy theories. I'd love to prove myself wrong.

Don't know why you're being downvoted for this, it's actually pretty smart. Like leaking an unsubstantiated rumor to a reporter but probably with more legal ramifications.

Hacker News buys into Palantir.

edit: generally... but this thread is actually getting pretty vicious.

You'd hope the NYPD knows how to set up a firewall and how to detect data exfiltration at that scale.

By backchannel I meant via people. As in the Palantir analyst calls up their friends at the CIA/NSA for help. CIA/NSA data collection remains secret, Palantir justify their expense, and NYPD find the guy. The problem is that you can't reproduce your results. The other problem is the erosion of civil liberties - but I'm only speculating with a thought experiment.

I'm not sure why you'd assume that, the NYPD certainly has a history of bravery but not one of technical competence.

Had a really bad experience at a palantir recruiting event. First, i got an unsolicited email all black and mysterious. Annoying. When I got there I felt nauseous. They actually employed a bunch of good looking women to talk with us techies. So demeaning for all parties involved. I drank their cocktails and ran away.

Have you ever considered that good-looking women can also be techies?

I was talking to someone recently that had worked there and they said the first step for integrating with any client is to convert their data into a proprietary format called PXML, which I assume is XML with the added feature of vendor lock-in.

i have no love for palantir and java makes me slightly sick but a lot of comments here are of the type "they use java, that's ancient, blah blah".

although they are in sv they are NOT a "start-up". They are an old-school government/3-letter-acronym IT supply/service company, think IBM and SAP.

In this environment, there is a good chance their customers may be using ie6. java is what their market expects not what-has-the-cat-dragged-in-now-js framework.

How does buzzfeed get the scoop on this? I didn't know they did tech reporting.

The author of this article (William Alden) writes consistently negative headlines about two companies: Palantir and Uber. That’s his beat at Buzzfeed.


Are you saying he is unfairly negative or that there are so many such stories that it is a full time job?

Neither, it's a feedback loop. By writing negative stories, when company insiders have a scoop and they want to leak it, they know they can contact Mr. Alden because they've seen his previous articles on the company and his track record of not revealing leakers. Mr. Alden then writes an article using such leaked information, which generates buzz within the company (employees share these articles among themselves), resulting in more insiders who know about Mr. Alden and what he does. This encourages more people to share with Mr. Alden.

A similar situation happened with WSJ's Christopher Weaver and Theranos, after his initial few articles, several Theranos investors contacted him with more information, which lead to more articles published, and further attracted people who had company information to share.

> WSJ's Christopher Weaver and Theranos

FWIW, I think it was primarily John Carreyrou. At least that's who Jesse Draper blames


You're right, thanks for catching that. My google-fu failed me, apologies.

Buzzfeed is actually growing a pretty legitimate and respectable journalism brand, subsidized by the clickbait ad-heavy content for which they're best known.


I went there to check it out but all of the titles are click bait.

They were the first ones to break news on how Palantir was in trouble and failing a while back as well.

BuzzFeed News is very good. The money they make from monetizing their meme-y content helps with their journalism.


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact