6 ms·
Ask HN: What real-world apps are based on less popular disciplines of CS?
It seems like HN can't get enough of AI/Machine Learning (with Robotics sort of lumped into those) and Crypto at the moment, but for those that aren't interested in solely those disciplines, what real-world applications are you seeing that are focused around other central disciplines of computer science? Such as:
* Architecture
* Performance
* Graphics/Computer Vision
* Networking
* Concurrent/Parallel/Distributed systems
* Databases
* Human-Computer Interaction/UX
* Scientific/computational science
- pbnjay 11y agoAI/ML and Crypto are sort of generally applicable to many startups, hence you see them more. For databases, there are quite a few columnar database startups. A bunch of these topics are basically only relevant at large scale since they're R&D intensive. I think it's easy to say that Facebook, Google, and Microsoft have big groups of people dedicated to most of these problem domains. Search their engineering blogs or look at white papers and you can find a bunch of examples.
- adamnemecek 11y agoI'm not sure what you consider central areas as all of those listed seem pretty central.
- manvsmachine 11y agoI figured he was trying to find out real-world problems that actually demand the use of "cutting-edge" tech and practices.
- acconrad 11y agoThey are central disciplines of computer science, but they are not central in mind share; basically I'm seeing all of these articles on AI and ML (DeepMind, Comma.ai, tutorials on Deep Learning and Neural Networks), but not as much on things like networking, databases, and HCI. It would be nice to explore successful companies whose central focus is on one of those other disciplines.
- manvsmachine 11y agoHonestly, there are far to many to even list. I think part of the issue may just be that not every application is an 'app' - computing is increasingly intertwined with physical applications. Here are a few consumer-focused 'emerging tech' applications off the top of my head: Graphics / CV: VR Gaming (Oculus, HTC Vive, etc), self-driving vehicles, computational photography (Lytro) HCI: Leap, Kinect, VR Gaming again Architecture / performance / networking / databases are tools, not applications in and of themselves - find a problem that demands extremely high performing systems, and there will be work done in those areas. Example: the PX 2 system for self-driving racecars that Nvidia announced a few days ago at GTC hits six of your bullets points by itself (architecture, performance, computer vision, networking, parallel systems, computational science).
- acconrad 11y agoI should clarify - the title had character limits, so when I wrote "apps" I meant "applications" - it doesn't necessarily exclude businesses that don't do "apps" per se - for example, Vertica and VoltDB would be innovative companies in databases, but their technology isn't an "app" in that sense.
- Jtsummers 11y agoI usually try to tuck this as a note with a regular response to a comment, so apologies for that. "Per say" should be "per se".
- deleted 11y ago[deleted]
- tikhonj 11y agoA surprising number of companies rely on ideas and tools from PL (programming languages) internally. More extreme examples are things like having their own compilers and internal languages and more common ones are things like domain-specific languages, static analysis tools and advanced type systems. The thing with PL is that it's something of a meta-field, even within CS: the programs you write help you write other programs. So while user-facing products based on PL ideas are rare (ie just development tools), many companies have surprising numbers of PL people in house who use these tools and techniques internally.
- golergka 11y agoFollow up question: how does one move his career from general "business logic" programming to state where you _have_ to read latest CS papers for work and write your own (if your company allows you to share the intellectual property)?
- moftz 11y agoJoin a startup doing their vision of the next big thing that requires actual tech development and not just combining current tech together into a simple product. Think DeepMind, not SnapChat.
- perryh2 11y agoThere are CV scientists building some very fun and interesting things at even Snapchat. :)
- deleted 11y ago[deleted]
- charlieegan3 11y agoThere was this: http://summly.com/index.html http://summly.com/index.html now part of Yahoo news digest. This would count as "Natural Language Processing". There's also Diffbot, https://www.diffbot.com/ https://www.diffbot.com/, you this could count under "computer vision" (as AI/machine learning). Think this https://streamium.io/ https://streamium.io/ might tick the "Concurrent/Parallel/Distributed systems" and "Networking" boxes.
- 8note 11y agoCV: farming/drone air photography
- kctess5 11y agoI think part of the reason you see so much AI/ML and crypto is that those methods are very useful in a wide range of CS disciplines. This is true for many of the things you list: AI/ML is important to (or visa versa): - Performance - Graphics/Vision (my research is largely in this field) - HCI - Scientific/computational science Crypto is important to: - Architecture - Networking - Distributed Systems - Databases - HCI/UX And I'm sure the above lists are not exhaustive. I think learning ML and optimization is important because you can apply it to literally almost any other field. One of my favorite things to see is when people apply ML/optimization in new ways to other disciplines. The field of Computational Fabrication is very interesting, IMO. All these things are not so different as they might seem.
- Jtsummers 11y agoMy office does radios for what amounts to a very specialized mesh network. While we aren't at the bleeding edge of anything, one of the main things that had to be understood by the designers of this was distributed systems. By us, the implementers, performance and concurrency are key to our work. Performance: We have a limited window within each time slot to process a message and respond with a message. Being late means waiting X slots to send the desired data, which may be too late by the time it arrives (as we can only transmit when we're permitted to by the network configuration, which could be every slot or every N slots, in order to avoid collision in broadcast). Concurrency because our particular software component is designed with several concurrent components, but also the whole radio has 5+ (depending on configuration) processors each with 1+ applications executing on them. Designing software that operates correctly in this environment is a challenge.
- marinabercea 11y ago* Timetabling or scheduling apps like Doodle.com - subjects pertaining to Graph Theory * Travel comparison sites that can find you the fastest flight route from A to B (and/or cheapest or some other type of constraints) - Graph Theory * LinkedIn network analysis apps such as Socilab.com - Graph Theory Basically Graph Theory is extremely important, with applications in domains such as: networking, linguistics, (bio)chemistry, pathfinding & GIS, social network analysis, matching (dating apps, organ donation, medical residency matching) etc. Edit: Another application is PCB design. The circuit to be printed is the graph itself, it should not allow edge crossings that would result in a short circuit.
- TheLogothete 11y ago>less popular disciplines of CS Graph Theory?
- marinabercea 11y agoConsidering the post submitter hasn't been more precise, I interpreted 'popular' as meaning less advertised or trendy. You can even use Graph Theory for image processing & analysis, yet another application.
- greydius 11y agoOr more generally, topology. A graph is a 1 dimensional simplicial complex.
- Ologn 11y agoOne thing about distributed systems is there are many, many organizations with small-to-medium sized infrastructures, so a lot of the solutions for the problems of those organization's infrastuctures are already done and widely available. If you look at the largest distributing systems setups, they are so large they run into their own unique problems. Google has rolled a lot of its own solutions, I'm sure often out of necessity. So they write Dapper to do DS monitoring. Twitter writes Zipkin to do DS monitoring. For distributed storage, Carnegie-Mellon had solutions like AFS, which large DS organizations used. Google needed a different solution and made Google File System and MapReduce. Inspired by this, a project like Hadoop is started. Insofar as graphics and computer vision, the first non-dev Oculus Rift just started shipping a few days ago, and Oculus is already working on an improved version of it. HTC and Valve's Vive was just released a few days ago. So a lot of innovation is happening in graphics and computer vision right now.
- shakkhar 11y agoI think an enormous amount of money has been made in virtualization technologies, yet they rarely get the kind of attention that AI / ML gets. Probably because the primary customer of these products are very large enterprises who use them in their private data centers.
- deleted 11y ago[deleted]
- throwaway2873 11y agoPerformance/Parallel systems: Some animator friends are excited about GPU rendering, which has a lot of potential to make professional animation rendering more accessible/powerful. Computer vision: Important for most VR tracking systems, body tracking systems like Leap Motion, as well as augmented reality systems like Project Tango and Vuforia.
- deleted 11y ago[deleted]