HN user

Refefer

162 karma

Large scale learning systems with a functional bent. Always working on the state of tomorrow's art.

Posts4
Comments58
View on HN

Pragmatically, cost and ease of access is especially important in suppressed countries or ones with unstable infrastructure. While the devices you're talking about has lots of conveniences, distribution and price dominate in lower income regions.

For a side project, sure. But in first world countries, the odds of infrastructure breakdown or suppression of Internet is incredibly rare. In Iran's case, suppression is a weapon so phone only makes a lot of sense.

Phoronix paints a very different picture, especially in non-synthetic workloads[1]. Gravitron2 looks like a nice speedup over the first generation but either the optimization isn't there yet or there are areas which need additional work to become more developer/HPC competitive. That said, I'm thrilled we have competition in the architecture space for general purpose compute again.

[1] https://www.phoronix.com/scan.php?page=article&item=epyc-vs-...

Menlo Park, Ca - Full time - Onsite - Frontend, AI Systems, Dev Ops

Blackbird is an artificial intelligence technology company focused on solving important challenges faced in today's ecommerce space. Our stack is primarily in functional style Scala (we are heavy functional programming users) and a polyglot AI stack written in everything from Python to Scala to Haskell. Our team has worked on everything from search at Google, distributed systems at Twitter, and self driving cars at Stanford. We work on and implement the state of the art in machine learning.

We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software designed to handle hundreds of millions of API calls? Want to design next generation user interfaces? Want to scale the state of the art in machine learning systems? jobs at blackbird.am

Feel free to ask any questions directly or in thread!

Implicit is basically just an implementation detail. The idea of only allowing one typeclass instance per data is generally referred as confluence and you're correct in that scala doesn't attempt to enforce it.

I understand the Haskell communities desire for coherent typeclasses, but I still find the newtype work around cludge to allow multiple implementation of, say, Monoid to be quasi hacky. What's worse, you can still fairly easily define multiple instances of the same typeclass accidentally (orphan instances) and the compiler won't catch it.

Menlo Park, Ca - Full time - Onsite - Frontend, AI Systems, Dev Ops

Blackbird is a ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) and a polyglot AI stack written in everything from Python to Scala to Haskell.

We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software designed to handle hundreds of millions of API calls? Want to design next generation user interfaces? Want to scale the state of the art in machine learning systems? jobs at blackbird.am

Clearly a chatroom with half a million individuals is unusable from pretty much every perspective. That said, a chat server with N chatrooms and a total population of 500k users sounds like a good day on IRC and well within the realm of what something like this could potentially handle.

Menlo Park, Ca - Full time - Onsite - Frontend, Backend, Dev Ops, ML/AI

Blackbird is a stealth, ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) with most of our AI stack in Python and C++.

We're one of a few startups that do AI research above and beyond product development. We host regular talks on multiple disciplines ranging from systems to functional programming to deep learning.

The team was founded by former Stanford CS graduates that built self driving cars, search at Google and Yahoo Research, co-authored the google file system and scaled Twitter to 200 million users. Our open source code powers Snapchat, Tumblr, Wikipedia in production today.

We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software which is designed for fault tolerance? Want to design next generation user interfaces? jobs at blackbird.am

Menlo Park, Ca - Full time - Onsite - Frontend, Backend, Dev Ops, ML/AI

Blackbird is a stealth, ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) with most of our AI stack in Python and C++.

We're one of a few startups that do AI research above and beyond product development. We host regular talks on multiple disciplines ranging from systems to functional programming to deep learning.

The team was founded by former Stanford CS graduates that built self driving cars, search at Google and Yahoo Research, co-authored the google file system and scaled Twitter to 200 million users. Our open source code powers Snapchat, Tumblr, Wikipedia in production today.

We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software which is designed for fault tolerance? Want to design next generation user interfaces? jobs at blackbird.am

Menlo Park, Ca - Full time - Frontend, Backend, Dev Ops, ML/AI

Blackbird is a stealth, ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) with most of our AI stack in Python and C++.

We're one of a few startups that do AI research above and beyond product development. We host regular talks on multiple disciplines ranging from systems to functional programming to deep learning.

The team was founded by former Stanford CS graduates that built self driving cars, search at Google and Yahoo Research, co-authored the google file system and scaled Twitter to 200 million users. Our open source code powers Snapchat, Tumblr, Wikipedia in production today.

We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software which is designed for fault tolerance? Want to design next generation user interfaces? jobs at blackbird.am

That's not really true. Erlang's VM is fantastic at GC with thousands upon thousands of green processes multiplexed onto the system threads, allowing soft realtime performance. Similarly, Haskell's Parallel Strategies library works well with the Parallel GC. Immutability makes this a whole lot easier.

Or were you referring to OCaml in particular?

Menlo Park, Ca - Full time - Frontend, Backend, Dev Ops, ML/AI

Blackbird is a stealth, ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) with most of our AI stack in Python and C++.

We're one of a few startups that do AI research above and beyond product development. We host regular talks on multiple disciplines ranging from systems to functional programming to deep learning.

The team was founded by former Stanford CS graduates that built self driving cars, search at Google and Yahoo Research, co-authored the google file system and scaled Twitter to 200 million users. Our open source code powers Snapchat, Tumblr, Wikipedia in production today.

We're currently looking to add some great engineers to our team. Have a passion for AI/ML and want to work with the bleedingist of edges? Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software which is designed for fault tolerance? Want to design next generation user interfaces? jobs at blackbird.am

Blackbird is a stealth, ventured backed, artificial intelligence technology company focused on solving some important challenges created by the shift from desktop to mobile. Our stack is primarily in functional style Scala (we are heavy functional programming users) with most of our AI stack in Python and C++.

We're one of a few startups that do AI research above and beyond product development. We host regular talks on multiple disciplines ranging from systems to functional programming to deep learning.

The team was founded by former Stanford CS graduates that built self driving cars, search at Google and Yahoo Research, co-authored the google file system and scaled Twitter to 200 million users. Our open source code powers Snapchat, Tumblr, Wikipedia in production today.

We're currently looking to add some great engineers to our team. Have a passion for AI/ML and want to work with the bleedingist of edges? Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software which is designed for fault tolerance? Want to design next generation user interfaces?

It's a huge issue on mobile. Multiple rendering engines requiring the world to write software to a spec is what prevents people from writing code dependent on a particular browser or, in this case, a rendering engine. You see it all the time in the mobile web: plenty of sites just plain don't work when using other rendering engines.

Blackbird - San Francisco / Menlo Park

Located right outside Stanford University in Menlo Park, CA, Blackbird is venture-backed startup founded by a team of Stanford CS Alumni who've previously built search at Google and Yahoo, and scaled Twitter to 200 million users. Our product is at the intersection of Information Retrieval, Natural Language Processing and Computer Vision and we're currently in stealth.

Role - UX Architect, Menlo Park, CA

- Design and implement UX for our flagship product and take on a leadership role - Opportunity to invent new interfaces on mobile for something people use everyday

Experience

- Excellent Javascript, jquery, CSS, and HTML skills - Comfortable with frameworks like backbone.js, ember.js etc - Some basic experience with with design photoshop/illustrator is a plus - Familiarity with ios/android programming is a plus

We'd love to hear from you! Please email us at stanfordfounders2014@gmail.com with a link to your linkedin profile or resume. Thank you for your consideration!

It's amazing how fast you can go when you don't care about safety ;)

That said, for all non trivial work loads, the latest postgres is quite the work horse, but of course requires some tuning for performance. We ended up switch to it after MySQL consistently sucked on smaller joins.

Can't argue on the replication deal: it's a work in progress.

I considered editing my other comment but decided instead to break it out.

There are a couple of complexities that your comment illustrates well:

First, continuous math _is_ available and immediately applicable today. The problem is that we often reason in and program to the implementation, not the abstraction - a subtle difference, but an important one. Not only that, but by reasoning in a flawed representation, we often miss important derivations that result in dramatic simplifications and reductions in the problem domain. I would also argue that we already do use continuous math regularly - for example, linear algebra, combinatorics, and set theor: most of us only know them as arrays, random, and SQL.

Secondly, not enough effort is made in formal education for applying 'pure' math to computer science. Some branches, such as linear algebra, have obvious implementations and analogies already available but others are quite a bit less clear - I fault this more on curriculum silos than an engineer's innate abilities. It's a learned skill that just isn't often taught.

Ah, but that's a matter of design - except now we have strong constructs from which to consider our problem. We will never get away from developing the architecture of our system, which is cost dependent on how well understood the domain is. Ideally, that's where we should aim to move: problem specifications that render implementations rote. A lofty goal, I know, but within closer reach every day and possible in many environments already.

Part of the beauty of proof is that so long as it is correct, the individual lemmas are largely irrelevant: we don't necessarily need to remove commonality or statefulness. Of course, I'm purposefully glossing over extra-functional requirements on which, outside of big-O, we don't have a firm grasp.

I'm attempting to stay away from "effective" or "most work done" since they're ill defined and highly subjective but rather focus on measurable changes. I'd argue that, amortized, the upfront costs of better understanding the problem definition results in cost savings down the line, especially as it recedes into maintenance.

An important realization I made a while back was that design methodologies do little to address program correctness, which is almost always the wildcard on deliverables; buggy software means missed deadlines and budget. Some, such as TDD, work to address the rapid building of tools to a particular spec, but often fail to promote static guarantees, especially in languages and environments where such provability is largely impossible. Dynamic languages penchant for monkey (guerrilla) patching further exacerbates the problem.

Solutions to this are tough. My first suggestion would be to use languages which facilitate correctness, although it's usually at the expense of developer availability: the pool of engineers with experience and know-how in true FP is orders of magnitude smaller than more pervasive languages. My second thought is to further embrace math as the building block for non-trivial applications: mathematical proofs have real, quantifiable value in correctness. I find it no surprise that the larger companies have made foundational maths, such as category theory and abstract algebra, the underlying abstraction for their general frameworks. This is even a tougher pitch than the first since most engineers don't recognize what they're doing as math at all - a big part of the problem. So many of us are doing by feel what has already been formally codified in other disciplines.

I'm aware that both require more (not necessarily formal) education than most engineers have pursued and makes it a difficult short-term pitch point for any company, but I think if we're serious about eliminating sources non-determinism from projects, it's important we address them directly.

I think modern software engineering really needs to start banking on provable languages with strong type systems. Instead of hoping and testing with Monte Carlo sims, let's prove an algorithm once as correct and move on from there.

You could, you know, pay for a subscription. If you're bumping up on the limit of free articles per month, you're clearly getting some value from the paper. There are worse things than supporting good journalism!

Most of the negatives are heavily focused on implementation rather than design, which I don't disagree with. However, the positives of targeting any language at a stable byte code is incredibly valuable... such as an implementation of javascript itself. A bytecode approach provides a superset to our current status quo.

That said, as browsers act more like operating systems, it makes me wonder if we've somewhat missed the point.

I agree with you about starting from scratch. I think if history is any indication, ultimately we'll end up having to write a new 'web' with very different semantics and design philosophies; goodness knows the old metaphor is starting to creak in a number of problematic ways.

Let's make no mistake about it: Javascript has been a multi-billion dollar focus by several top-tier engineering companies for almost two decades. It's more accurate to say that Javascript has succeeded despite its limitations.

There's no denying that the PNaCl is a superior approach, and if we were starting from square one would be the smarter design as well. That said, a well entrenched language supported (and, crucially, maintained) by multiple vendors with loads of developer intellectual investment should win this competition.

Perhaps it's simply personal preference, but I do find that limiting my mouse usage has resulted in real, tangible gains. I don't know how feasible that is in GUI-first operating systems like OS X, though.