Moravec's paradox - <AUTHOR> https://en.wikipedia.org/wiki/Moravec%27s_paradox <comment><USER2> It's an interesting observation and certainly something one needs to be aware of in thinking about intelligent systems but I'm not convinced that the notion that perception is intrinsically harder than logic is quite true. I think the difficulty of a problem is highly dependent on the representations and models used. Computers were developed based on logical and mathematical principles so it makes sense that they are, in some sense, "good" at these kinds of problems. On the other hand traditional logic is incredibly inefficient at dealing with probabilistic and perceptual problems.

It's also not clear that there's really a valid comparison here. In order for computers to recognize objects we need to program them to learn recognition on their own (because programming them explicitly to do it would be far too hard). When we program a computer to solve a logic problem the computer isn't learning to solve that problem, it's the programmer, not the program that "knows" how to solve it.

Trying to teach a neural network to play chess is probably much harder than teaching it to recognize images (at least my very limited experiments suggest this to be true).

<comment><USER3> "I'm not convinced that the notion that perception is intrinsically harder than logic is quite true."

But... where's the room for doubt? This isn't an article from 1930 about theoretical possibilities of what may happen someday when we have a lot of computational power. This is an _observation_ about how perception has proved to be much more complicated than more pure reasoning, one quite old, robust, and well-established. The question is more about _why_ that is true than _whether_ it is true.

In a further comment you reply about how you could not convince your neural net to play chess... but again, we are not theorizing that computers _may_ be good at chess someday. We live in a world in which, if they are not already simply better than humans, we only a couple of years away. Certainly better than all but the absolute very best. Whereas we still get excited when we see a robot that can walk up or down a normal, rocky hill _at all_.

Also, it baffles me how you think that explaining _why_ logic is easier than perceptual problems is somehow disproof of that very fact. It doesn't matter that it's "really" the programmer that knows how to play chess (even if I'd observe the machine is still doing it better) when we still can't hardly make machines walk at all, regardless of whether the programmer or the computer is the one "knowing", a concept that in this context comes perilously close to a tautological assertion that if a computer can do it it must not be true "knowing". If we were really good at both sensorimotor and logic, but with two radically different toolkits, that might be an interesting point, but that's not the world we live in.

<comment><USER4> Come up with an AI that can play the game of Go well. Then we'll talk.

<comment><USER3> That's just a snide comment, not a useful one. The difficulty of symbolic/logic problems can be made unboundedly great by construction. Nobody ever denied that. The point is that something like crossing a room and picking up a pencil _seemed_ easy, and to this day is still a significant achievement for robotics, still requiring fairly controlled circumstances.

It can be difficult to understand this from our present-day perspective where we have so thoroughly internalized this idea that it has apparently passed into invisibility for some of us. Go back and read Asimov's robots work, in which he has robots walking, talking, socially interacting with humans, even pondering great ethical conundrums, while at the same time it requires massive resources to attain the raw numerical computational power available to a Commodore 64.

<comment><USER4> Just because you discovered a few cool hacks that happened to work well in very specific problem domains doesn't mean you've "solved" symbolic thought. The way a chess program works is not the way humans play chess. It does a brute-force search, rather than learning patterns.

Go is a good example of a game that can't effectively be brute-forced. There are a lot of other examples out there; that was just the one I happened to pick.

 _The point is that something like crossing a room and picking up a pencil seemed easy, and to this day is still a significant achievement for robotics, still requiring fairly controlled circumstances._

Just because you failed to do one thing doesn't mean you succeeded in doing another.

</comment></comment></comment></comment></comment><comment><USER5> Funny thing: I was a peon in Rod Brooks' group right at this transition. The robot I worked on was a small monster, which would beam data offboard to a lisp-machine for analysis (machine-vision problems, etc). Just after I left, Rod decided to go down the path of having small simple FSMs connected together, which it turns out displayed some pretty complex behavior. Then Colin Angle showed up.

Boy did I leave at the wrong time. :)

</comment><comment><USER6> Roboticist here. This is actually a huge problem in robotics and causes all sorts of problems for real robots. For example, my current project is to teach robots how levers work.

<comment><USER7> Well,

Teach as in "program", right?

It seems like the problem is that computers and robots don't learn in same fashion as human and thus the process of "teaching" them things in their not learning concept X in same fashion as humans - ie, they don't learn generalizations such a way that are "ready at hand" to use when the appropriate situation arises.

<comment><USER6> That's one of the underlying causes of Moravec's Paradox, yes. Humans have a very difficult time with precision and regularity, which are exactly what current computer systems are best at. Computers, by contrast, have a hard time with generalization, and creativity and physically interacting with the real world are some of the the most general systems possible.

</comment></comment></comment><comment><USER8> This seems too obvious to be considered a paradox. The article says that the discover ran contrary to traditional assumptions, but I wonder if this is true, or if so, why it would be the case. Perhaps I just have the luxury of hindsight, but it seems like after the advent of electronic computers, it would quickly become obvious that computers could vastly outperform humans in things like multiplication, or counting words in a large text document, or finding a correct path through a digital maze.

Besides, the distinction between "high-level reasoning" and "low-level sensorimotor skills" seems fairly weak. Checkers already starts to blur the line: the problem space can be modeled as pattern recognition and tactics (like how humans model their own gameplay), or it can be modeled as a "dumb search" through a decision tree (like how a computer algorithm might play). Then you get to something like chess, which has a prohibitively large decision tree to do a "dumb search," then face recognition, then natural language processing, etc.

<comment><USER9> It's definitely true (that "the discover ran contrary to traditional assumptions"), and they give supporting evidence for this in the article. The history of AI bears this out quite explicitly.

Also, the decision tree for chess might be intractable to exhaustively search, but a "dumb search" is exactly how it's done, and it is currently vastly more powerful than any competing method. And you really can't just jump from chess to face recognition and NLP -- they are _completely_ different problems. To wit, chess has perfect information; the entire state of the game is known at all times, and the representation is clearly defined and compact, where none of this is true for sensory tasks. This means the range of techniques available to solve each type problem are completely disparate, and tat there is almost nothing that you can take from a chess program and apply to "lower level" AI tasks.

</comment></comment><comment><USER10> This is exactly the kind of flawed behaviorist centric thinking that has held AI back for the past 50 year. Until AI researchers get over their obsession with mathematical constructs with no foundation in biology, like symbolic AI and bayesian networks, we will never have true AI. Once you realize this, you see that this "paradox" isn't really a paradox at all.

The brain is not anything like the Von Neumann architecture of a CPU. It is a massively parallel prediction machine. High level thought occurs in cerebral cortex whose base functional unit is Hierarchical Temporal Memory composed of about 100 neurons. Once we have figured out how these units are wired in the brain, "difficult" problems like pattern recognition will be trivial, and "trival" problems like playing checkers will require many hours of training and many HTM units just like in a real human brain.

For anyone interested in this, I highly recommend Jeff Hawkins' book, "On Intelligence". <http://books.google.com/books?isbn=0805078533>

<comment><USER11> This is insulting to AI researchers in the extreme.

They know they are not making as good progress on "true AI" as they would like. But many researchers have tried very hard in many directions.

If you are so sure true AI is fairly trivial, why not do it? Even small amounts of progress would make you very famous.

<comment><USER12> "This is insulting to AI researchers in the extreme."

Well, yes and no. If you want the entire book "On Intelligence" (which I highly recommend too) is insulting to AI researchers.

The book basically explains why we're on the wrong track.

To me AI is about reasoning and creativity and none of the stuff we currently have comes anywhere close to that.

</comment></comment></comment><comment><USER13> This may also be an artifact that in terms of "intelligence" we have focused mostly on supervised learning as opposed to unsupervised learning; recent reversals in this trend have been shown to be surprisingly powerful [1].

Consider this: While reading, most humans use a different part of the brain to register consonants and vowels [2]. No matter how much we like to _think_ we learn language in an orderly fashion, that is not the case. Our reading and speaking skills are simply built over time and experience by having neurons connect as we experience visual words and other people talking; formal language instruction probably plays a secondary role of attaching labels to already built neural networks.

[1] [http://www.nytimes.com/2012/11/24/science/scientists-see- adv...](http://www.nytimes.com/2012/11/24/science/scientists-see-advances-in- deep-learning-a-part-of-artificial-intelligence.html)

[2] [http://www.nature.com/nature/journal/v403/n6768/full/403428a...](http://www.nature.com/nature/journal/v403/n6768/full/403428a0.html)

</comment><comment><USER14> What does it take to have a program come up with the theory of relativity, given the knowledge that was available in 1904?

I think there are all kinds of reasoning skills that we've never been able to test, because they depend on perception and motor skills. It seems possible those would take many more computational resources. I find it hardly surprising that feeding a program abstractions and allowing it to reason about those abstractions is simple. It's the interacting with the real world, correlating abstractions with the real world and coming up with useful new abstractions, that's hard.

I don't think we'll ever have an AI until something is built that can freely interact with the world, freely gather data and freely modify itself to enhance all its abilities. An AI without pressure sensors that ever touched sand will never understand the universe.

</comment><comment><USER7> I would say that this is true only as long as this "adult intelligence" pretty much remains within a single "logical frame" ([http://en.wikipedia.org/wiki/Frame_%28artificial_intelligenc...](http://en.wikipedia.org/wiki/Frame_%28artificial_intelligence%29)).

I would claim that while a single logical frame is easy to simulate on a digital computer, creating and balancing _multiple_ , not-necessarily consistent frames is very difficult and requires as much computer activity or brain activity as the also difficult activities of raw input processing.

One might argue that neural system began as very different systems from digital computers but the evolution of the large human has allowed them emulate discreet, including a computer's digital logic while still doing the balancing of multitudes of environmental constraints which neural system have excelled at for millions of years. And letting "us" conceive-of and to even build computers perfecting this discreet logic. Pretty amazing.

</comment><comment><USER15> Restatement in pictures: <http://abstrusegoose.com/496>

</comment><comment><USER16> This doesn't seem very paradoxical to me, and at a layman's level I think one good parallel between a human's "operation" and a computer's operation with regard to this question is as follows . . .

Even as a non-programmer (I am a programmer) I might relate well to an ordinary desktop/laptop running my Excel spreadsheets. I can create a spreadsheet, enter data in cells, enter formulae, format the content beautifully, specify and view charts of the data I'm entering and information I'm computing. I might be able to respect and appreciate the beauty and complexity of how the spreadsheet program was implemented in an abstract sense. I might describe to another person my ideas about how the spreadsheet program was created, its major features and concerns, and its obvious complexity. What I'd be missing though, likely, is (a) the complex interface between what I see and what supports that experience behind the scenes; and (b) the 50+ years of computing technology under the hood that has evolved to support my narrow and visible relations with my Excel spreadsheets.

From the user's view, the Excel spreadsheets, Windows Explorer, the Start button, etc., are the aspects of the computer analogous to a human's thought processes. They're visible and explainable. The user might have some vague notion that files are stored on disk, that there's something called a CPU, that does the computer thing, etc. The user has no clue, though, that the Excel spreadsheet program itself contains but a very small portion of the effort to make its visible manifestations happen. There's an enter support system from file system, CPU, memory, buses all over the place, GPU, video display, chips, specialized interfaces to I/O and other subsystems, ASIC's, semiconductor physics, electricity, magnetism, etc. The hardware, firmware, and software for the latter have had 50 years to evolve and mature. To a normal user these aspects aren't understandable. They understand Excel.

And so for us, we can understand and describe human thought and cognition in an abstract way. But most thought is below the level we're conscious of, and supporting that thought is an entire interface with the physical elements of the body, its nervous system and autonomous function, and the interface of these with the brain.

</comment><comment><USER17> I'd say programming is a high level skill that computers can't do. Counter example?

<comment><USER18> The hard (for humans) part of programming is already being done by your compiler, linker, version control system, IDE, interpreters, etc. All that's left for you is the parts that are hard for computers: deciding what the program should do, guessing which libraries are worth the risk that they might be buggy, discovering gaps between what you decided the program should do and what its users need, figuring out how to make it understandable to users, getting people to try it, and so on.

</comment></comment><comment><USER19> It's all in how you think about the problem.

Brains are vary good at fuzzy highly parallel tasks and bad at sequential ones. Computers suck at those fuzzy parallel tasks, but are rather good at accurate sequential ones. People are easy to train individually, computers take a lot of up front effort but after that it's easy.

</comment><comment><USER20> Sounds like people posting or contributing to an article like this are aiming at understanding artificial general intelligence. So just search for that. Artificial General Intelligence or AGI.

<comment><USER12> It's a bit sad that instead of acknowledging that AI has nothing at all to do with intelligence, AI researchers instead decided to coin a new term ("strong AI").

So you now have two terms: "AI" and "strong AI" (AGI if you wish) that are totally unrelated.

Had people been honest "strong AI" would be "AI" and the "AI" we have now should be called "fake AI" or "pink-unicorn AI" ; )

</comment></comment><comment><USER21> Sorry for going a little bit off topic here, but certainly there are works of science fiction based on this paradox — after all, it's more than thirty years old! Any suggestions?

</comment><comment><USER22> Certainly true, but perception and mobility as basic as they are, are a lot complex in nature than intelligence.

</comment><comment><USER23> an interesting example of this (machine listening):

<http://en.wikipedia.org/wiki/Source_separation> <http://en.wikipedia.org/wiki/Cocktail_party_effect>

</comment><comment><USER24> It's only difficult because computers are digital devices and all the "hard" things for computers/robots to do aren't done in hardware. Trying to have a single CPU do all of the things a robot needs to do is asinine.

Making a robot hand pick up an egg and a cup of coffee and turn a wrench isn't difficult provided that you build in similar feedback loops and low-level "firmware" that the brain does for us, unconsciously.

But if you did that it would take tens of kilowatts to run a halfway decent robot. And that's clearly ridiculous! So nobody does it.</comment>


Ask HN: Who's Hiring? - <AUTHOR>

[Re: http://news.ycombinator.com/item?id=896600] <comment><USER2> Although space150 isn't a startup -- we're an 8-year old digital agency with 70+ employees -- we are looking for great .NET developers and Front-End developers right now.

<http://www.space150.com/jobs>

</comment><comment><USER3> We're quietly searching for a frontend engineer (a JavaScript hacker with great design sense) to join Virtualmin (YC07). I'll post the listing on the jobs section here as soon as I have time to write up a jobs page for our website to fully describe the position.

</comment><comment><USER4> We want to hire a bunch of engineers to work on Java (Android) mobile apps, Java web services, and machine learning/NLP. We also need product managers and syadmin/ops people:

<http://kiha.com/> (Seattle)

</comment><comment><USER5> Yodle!! We need lots of developers, quants, and product managers!

<http://www.yodle.com/>

Send me your resume at firstname.lastname@example.com

</comment><comment><USER6> Root Labs is hiring a security engineer. Wondering what we do?

<http://news.ycombinator.com/item?id=898960>

</comment><comment><USER7> I really hate to be repetitive in these posts, and I've posted a similar thread on HN before with little to no replies... but...

Who's Hiring... Students?

</comment><comment><AUTHOR> Sorry guys, I don't think your posts got the attention they should have.

Maybe somebody else should post the question again early this week.</comment>


What It Was Like to Write a Full-Blown Flutter App - <AUTHOR> https://medium.com/@seenickcode/what-it-was-like-to-write-a-full-blown-flutter-app-330d8202825b <comment> nevi-me Flutter is good, I echo the author's sentiments. I wrote a Flutter app for Android in a very short period, relative to my Android Java attempt.

The use of widgets saves a lot of time, leaving one to focus on connecting everything together. It's also easier to learn than React Native (for me at least).

The current downside for me has been the lack of maps (I'm aware of current efforts). I also hit a weird Firebase Messaging bug that leads to an infinite loop of the app opening itself [0].

I agree with the author regarding the strong Firebase push. The community doesn't yet seem large enough, so outside of wine of the Google supported plugins, it's sometimes a struggle.

I am building a second app in Flutter, using the new Material stuff that Google announced this year.

[0] [https://github.com/flutter/flutter/issues/18524](https://github.com/flutter/flutter/issues/18524)

<comment><USER2> For me, as a long-time Dart user, the emphasis on Firebase for Flutter surprised me at first, given that there are several existing server-side frameworks in Dart that could be used to create full-stack apps. I personally found myself frustrated at the difficulties and breakages that sometimes come with upgrading native plugins between versions of Flutter, so for some time I was confused.

But it actually makes sense on a closer look. Dart on the server is not officially supported, as the primary focus of Dart is use as a client-side language, so it would be a bit confusing for the Flutter documentation to recommend using Dart for a backend.

That being said, I think Flutter is a great platform for quickly building apps, and getting consistent behavior across different vendors. I think that it can only continue to get better.

<comment><USER3> > dart on the server is not officially supported

It is more nuanced: Dart on the server side is supported, but the development focus is on the client-side stories (Flutter and Angular).

Google's Dart team develops e.g. the Dart VM which is great for server workloads too, they do provide some server-side libraries, but they themselves don't work on third-party database drivers (for now).

Think of it as the question of focus: they want to focus on the client-side story, get it right, and then deal with the rest. Spreading thin won't help either.

<comment><USER4> I'm extremely surprised to hear that dart server doesn't have any database driver. Are you sure about that ?

To me , dart on the server , with their agent / isolate based concurrency as well as async await language support, provides ( in theory ) one of the most exciting environment to develop backends on.

<comment><USER3> Dart has database drivers, and I'm using the Appengine and the Postgres one in server-side Dart apps.

But Google's Dart team is not actively involved in developing e.g. the Postgres driver, it is done by an independent company who is building their stack on server-side Dart.

Btw. I agree: the isolate-based concurrency + language tools is really great for server-side Dart apps. I use it in a highly concurrent data setup, and I wouldn't switch to other language.

</comment></comment></comment></comment></comment><comment><USER5> I really want to get into mobile development, but I have major obstacles with default platform APIs: I don't have a Mac (and cannot afford one ATM), the Android Studio is unusably heavy for my decent laptop, and writing Android apps w/o the studio seems prohibitively difficult. In this situation, Flutter is a liberating force for me. I have recently started learning it, and I can just keep writing my code in Emacs, while running the app on a phone with hot reload, and without my laptop melting. Thanks to whomever created it.

<comment><USER6> Why do you say writing Android apps without Android Studio is prohibitively difficult? I did it. You just use Gradle from the command line to build the app, and adb to install it on your device to test. I only tested with an emulator when I didn't have a device.

<comment><USER7> You forgot to mention the slow build times when using Gradle. If Android Studio is too heavy for his laptop then Gradle's hardly going to be much lighter.

Unfortunately, even Flutter requires it when building the production-ready Android version of the app. Perhaps it's time Google switched to their own Bazel as the default for building Android apps. As a bonus, the syntax is a lot lighter than Apache Groovy's.

<comment><USER5> My CPU is "Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz" par lscpu(1), and I have 4Gb RAM. I should not have to struggle running end-user desktop software except inherently-heavy tasks like video editing and similar memory-heavy or very CPU-intensive stuff. And running a text editor, a compiler and a debugger is definitely not so. I'll go as far as saying that most desktop software that I can't run easily is just plain bloatware. Android Studio, definitely checks out.

I don't know Gradle, I'll try when I have free time. I have one project which can be better off as a Java API app (based mostly on Intents). WRT Flutter, I have not experienced any performance problems with it so far; though I haven't built a "production-ready app" yet. But given it'd mostly be a rare task, that'd be bearable.

</comment></comment></comment></comment><comment><USER8> Can someone compare their experience with Flutter or even React Native, versus writing separate platform-native Swift/Java versions for iOS and Android?

I don't often hear about the true accounting of time spent learning and grappling with the limitations of cross-platform frameworks, including debugging and workarounds, versus just using the platform vendor tools.

It just sort of seems like it's assumed that it's a huge time waste to maintain separate codebases. But I wonder if you gain other advantages that might outweigh it, like not having to "fight" the intermediary layer and getting first-class access to the underlying APIs, platform features and debugging tools. Thoughts?

<comment><USER9> I'll bite. I write a simple free surf forecast app for my local region with around 1000 active users. I am currently rewriting the app because I have time and ideas.

I am writing the same app in both Flutter and Swift/objc simultaneously, and I will grant that I am much better iOS dev than Android. The previous version of the Android app was written in Java.

Honestly, Android dev for me is very not fun, there is so much mental load that is probably necessary for large apps but for me it's just a time sink. Flutter on the other hand gives me Material widgets our of the box and easy declarative layouts. I will say this is my first experience working in the react paradigm and it's been a learning curve. Flutter is super fun to play with though and making user interfaces is actually pleasant.

I decided to also write the new version natively on iOS because some of the most important parts of the app for me are the Today Widget and Watch Complication. Now with Flutter you can add this manually in swift or objc or whatever, but they can't talk to Dart code. So I would have to essentially write the networking client code twice. That, and the iOS widget support just isn't good enough for me in Flutter.

So I am using Flutter to develop and Android version of my app, while keeping the option that it could eventually become a full cross platform version someday if I choose.

Also if Dart ever gets extensions like Kotlin and Swift that would be a game changer for me, since I use generated specs for my API schemes.

</comment></comment><comment><USER10> I totally understand the upside of writing one app for both platforms, but at the end of the day they are still two different platforms. It seems unlikely you're going to make a high quality app unless you give each version the individualized attention they really need.

Maybe these dual platform frameworks are fine for something like a company internal app where it's okay if you don't get everything "just right". But otherwise I'd rather just go pure native, even if it means alienating half my user base or spending 2x resources. It's worth it in most cases IMO.

Granted I've only spent a couple weeks with React Native about a year ago, so maybe I just need to give it another go.

<comment><USER11> I'd really recommend taking a dive into flutter. It's leaps and bounds better than working with React Native IMO.

Treating Dart and Flutter as one 'SDK/Language for Apps' made it a lot easier to avoid the uncanny valley effect I had with react native vs normal react.

</comment></comment><comment><USER12> Flutter looks interesting. As a React/React Native dev, I found this doc page particularly useful and enlightening:

[https://flutter.io/flutter-for-react-native/](https://flutter.io/flutter-for- react-native/)

<comment><USER13> It's def an interesting philosophical comparison between it and RN, will be interesting to see where it goes.

</comment></comment><comment><USER14> I'm wanting to try Flutter for a new app I'm planning. But a blocker is that it doesn't (yet?) run on Linux, which is a deal breaker for me.

<comment><USER15> I assume that you're referring to the fact that you cannot create iOS builds from Linux. Otherwise the toolchain works just as well on Linux as it does on Mac.

<comment><USER14> Sorry no, I'd like to run a media kiosk app full screen on a PC.

<comment><USER16> With chromeos support for android apps, I wonder if a chromebox, that has android support, could fire up a futter/android app in kiosk mode.

Maybe it's possible to do with a pc running chromium os.

</comment></comment></comment></comment><comment><USER17> I didn't know what Flutter was and from the title I assumed it was abandoned (how it _was_ to write a flutter app).

So, I just got that excitement from having something cool to learn.

</comment><comment><USER18> The article mentions removing simple elements, e.g. "'Center' widget is nice for a Hello, World container but I never understood it. Why can't 'Container', something that's way more prevalent have a property to do the same thing?"

I'm perfectly happy with the nesting of simple elements. Having a single 'Container' also handle various layout rules is what makes all the positioning options of CSS difficult. Similarly for constraint systems. Composable, single function components are easy to learn and use. I'm just presuming that it has good runtime characteristics and haven't run into any issues yet.

</comment><comment><USER19> Interesting this is on the front page, yet no comments. I'm very curious as to others thoughts. We are about to start a new react native app and are considering flutter. It will be webrtc based also. Extensive experienced design team, but no dart experience. Any thoughts?

<comment><USER20> CodePush was the main reason why our team went with React Native instead of Flutter. Being able to push bug fixes to all of our users in real time is incredible.

<comment><USER21> "CodePush was the main reason why our team went with React Native instead of Flutter."

If so, why not Ionic?

<comment><USER22> Imo the only serious contenders for crossplatform apps are react native and flutter. There is no good reason to use other frameworks when you get similar dev speed, better community support, and a relatively fast product with these 2.

Probably 6 months ago flutter wouldn't be on this list but Google has surprisingly shown strong support

<comment><USER6> > Imo the only serious contenders for crossplatform apps are react native and > flutter.

Why not Xamarin? It also has the backing of a top software company.

<comment><USER22> True if you're a c# shop Xamarin might actually be a better choice. I just haven't seen many good apps come out of the Xamarin community and I'm implicitly biased because they don't support developing on Linux

<comment><USER6> > if you're a c# shop

I prefer not to think of myself as an X-language programmer. And yes, when I was developing mobile apps, I did it solo. I preferred to choose the right tool for the job, and learn a new language if needed.

And I think Xamarin is better than React Native or Flutter, because Xamarin makes it easy to use each platform's full set of native widgets in the native way, while still sharing non-UI code. In contrast, React Native does use a subset of native widgets, but doesn't give you access to the full set of them (at least out of the box), kind of like the old Java AWT. And like Swing or JavaFX, Flutter throws out the native widgets entirely.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> I am working on an Flutter android app, I find it still very laggy. Even the official Gallery app from flutter team laggy. I am hoping they will sort it out by the time they release it from beta.

</comment><comment><USER24> there's a lot of enthusiasm, yet, i feel less enthusiastic about Flutter after reading this.

i had not thought about this right in the past. i hadn't factored in the reality of needing to maintain two separate UI trees, one with Material Design widgets and one with Cupertino widgets. this makes me think one of the really big advantages i thought Flutter had -- a unified UI -- is not really realistic.

i must be misunderstanding this

<comment><USER25> Hi there, I'm the author of the article. I'd like to clarify that it's not bad at all. Libs exist out there, such as offering a cross platform nav bar, seemless where you wouldn't have to maintain two separate codebases. Also for things like forms, if you have a custom design, you won't be having a lot of "if/else" statements, you'd simply use one set of widgets since they'd be custom.

<comment><USER24> Thanks for your clarification. I'll have to give Flutter a try some time.</comment></comment></comment>


Get feedback for your website - <AUTHOR> http://beta.criticue.com

<comment><AUTHOR> A one-for-one feedback exchange. Based on the prototype we launched earlier, the process works really well (78% of reviews were rated 'awesome' or 'useful'). It's quite slick too if I may say so. :)</comment>


Ask HN: Would you ever work for a company that live streams 100% of your work? - <AUTHOR> I imagined an overly idealistic work setting where everyone has to be live streaming their work screen (either to the public or privately within the company). This would be like an extension of open source. This has the advantage that one can figure out what another person was thinking while developing and also get quick feedback on the development process. Ideally, someone watching would have answers to things you are stuck on, so you spend time less time looking for answers.
Of course, this is incredibly high pressure. Not many can work long hours under the pressure that others are watching. To compensate that issue, let us assume that you get paid per time spent streaming at a very high payout (the appropriate amount is up to your discretion). So instead of working long hours, you work in short bursts.
What's your opinion on such a work environment? <comment><USER2> I suspect that you'll find that there are many people who are not outgoing enough to want an audience. On the other hand, some people already live-stream their work frequently. [https://air.mozilla.org/the-joy-of-coding- episode-101/](https://air.mozilla.org/the-joy-of-coding-episode-101/) comes to mind; he streams his ordinary work about once a week or so.

The difference between that and doing it full-time are partly just a matter of degree (can the streamer stand having an audience all the time, rather than just once a week), and partly a matter of tooling or staffing (to make streaming easier, so that it requires less thought and overhead on the part of the streamer).

</comment><comment><USER3> Yes, but that's not realistic. I mean, I'm already doing pair work from time to time - I don't care if more people join in.

But I see big issues in practice: 1. I can't imagine anyone paying higher rate just because I'm streaming. 2. You can't avoid displaying secret credentials once in a while, which would be a security nightmare. 3. "This has the advantage that one can figure out what another person was thinking" is BS. You can look at my commit messages and documentation to find out what I wanted to show. You'll never know what I was thinking.

<comment><AUTHOR> Number 2 is a probably the biggest issue, and one of the main reason why I think it's overly idealistic. It isn't impossible to circumvent though with proper training, but yes very unrealistic. To solve that problem, what if only coworkers can see? (Assuming everyone is working remotely) I do think Number 3 is useful though. People are poor at documenting. In my opinion, seeing the process of what they were doing is often what you need to figure out what was happening. But as others mentioned, it's still rather idealistic because it's hard to index it to look back. However, in an ideal setting, with enough live viewers to guide you, there may not even need indexing.

</comment></comment><comment><USER4> Not practical. You could capture everything, but who would go back and index it all well enough to make the video useful?

Or maybe you could come up with some sort of standard "this is what I'm doing and why" preamble that each engineer would give at the start of the session?

<comment><AUTHOR> What if each commit was tagged with the date of video?

<comment><USER3> That would work for some people, but not others. My changes are often redone, history edited, context between work in multiple repos is switched as needed, code carried over using stashing. Indexing by the commit time would be next to useless in this case.

</comment></comment></comment><comment><USER5> No. There is no way that would ever be an acceptable work environment.

If a company seriously tried it productivity would go to zero. You have invented a system that aligns the developer interest with gaming the system not shipping quality code.

<comment><AUTHOR> How would the developer game the system? Your code would be essentially reviewed constantly

</comment></comment><comment><USER6> Perhaps you could instead pivot this idea. I think it would be more interesting if you could have the editor play back all the actions taken that led to the resulting commit.

</comment><comment><USER7> Nope. In an ideal situation the quality of my work and its impact is more important than the means and effort to achieve it. So live streaming won't work for me.

</comment><comment><USER8> No</comment>


Dmr's home page - <AUTHOR> http://cm.bell-labs.com/cm/cs/who/dmr/

<comment><USER2> As site seems to be down, here's google cache:

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://cm.bell- labs.com/cm/cs/who/dmr/)

</comment><comment><USER3> Here's his bio which is, as he puts it, 'in first person instead of obituary style.'

<http://cm.bell-labs.com/cm/cs/who/dmr/bigbio1st.html>

</comment><comment><USER4> Someone at Bell Labs needs to jump on this.</comment>


Assange Statement on the US-Election - <AUTHOR> https://wikileaks.org/Assange-Statement-on-the-US-Election.html <comment><USER2> >It would be unconscionable for WikiLeaks to withhold such an archive from the public during an election.

But, we will withhold it until weeks before the elections.

<comment><USER3> Not at all. The email data was received in chunks not many weeks before the election campaign began.

<comment><USER4> Assange has been taunting about those mails for a while, they could've released all of them at once not drop by drop with the last one being on the weekend before the elections.

This was played for maximum effect, they had them likely for months, if not longer, this is a score settling not an exercise in democracy.

</comment></comment></comment><comment><USER5> I was a fan until they started timing releases to achieve political and vindictive goals.

"Information should be free, (and not a weapon)." Was the motto of the cyphers before this s-show went down. Without that moral high ground, what's left?

<comment><USER6> Your argument is information shouldn't be used to affect political change? If so, that is not a sound argument.

<comment><USER7> That's a pretty reductionist characterization of GP's point. IMO, they're not saying information shouldn't be used to _e_ ffect political change in the abstract - but that it should be available when available, not when politically expedient.

The issue most critics seem to have in this thread and elsewhere with Wikileaks' actions aren't the leaks, but the timing just weeks before the election. I can't honestly say if that's agenda or just the timing in which they received the information, but if they sat on the info before releasing it, that definitely belies some specific political agenda rather than the broader and widely-supported goal of "information should be free".

<comment><USER6> They are releasing the information for maximum impact to achieve the political change no argument there. Why not use strategy and tactics?

<comment><USER7> Yeah, that's a problem.

Wikileaks purports itself as a nonpartisan idealistic "all information is free" organization and so far has been accepted as such because that mission is of a higher purpose than political gain. The type of "political change" they've pursued until now entirely rested on the pure fact of information being available, they did not seem to try for influencing a particular outcome in releasing the information beyond simply making it available.

If they're now taking a stance as an organization that will strategically and judiciously release information to pursue a specific political goal, they've destroyed any credibility they once had as a free information exchange. I'm not sure how you don't see that.

<comment><USER6> I don't agree with the premise that influencing the election is a bad thing. I don't agree that having one or more political goals is bad either.

Everyone else influences the election with information, eg. well-timed release of Trump's lewd talk on the bus.

<comment><USER8> Surely you can't be for that. You really want journalists to report in a subjective way rather than an objective one?

<comment><USER6> Which journalists are objective?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Assange Statement on the US Election

8 November 2016 By Julian Assange

In recent months, WikiLeaks and I personally have come under enormous pressure to stop publishing what the Clinton campaign says about itself to itself. That pressure has come from the campaign's allies, including the Obama administration, and from liberals who are anxious about who will be elected US President.

On the eve of the election, it is important to restate why we have published what we have.

The right to receive and impart true information is the guiding principle of WikiLeaks – an organization that has a staff and organizational mission far beyond myself. Our organization defends the public's right to be informed.

This is why, irrespective of the outcome of the 2016 US Presidential election, the real victor is the US public which is better informed as a result of our work.

The US public has thoroughly engaged with WikiLeaks' election related publications which number more than one hundred thousand documents. Millions of Americans have pored over the leaks and passed on their citations to each other and to us. It is an open model of journalism that gatekeepers are uncomfortable with, but which is perfectly harmonious with the First Amendment.

We publish material given to us if it is of political, diplomatic, historical or ethical importance and which has not been published elsewhere. When we have material that fulfills this criteria, we publish. We had information that fit our editorial criteria which related to the Sanders and Clinton campaign (DNC Leaks) and the Clinton political campaign and Foundation (Podesta Emails). No- one disputes the public importance of these publications. It would be unconscionable for WikiLeaks to withhold such an archive from the public during an election.

At the same time, we cannot publish what we do not have. To date, we have not received information on Donald Trump's campaign, or Jill Stein's campaign, or Gary Johnson's campaign or any of the other candidates that fufills our stated editorial criteria. As a result of publishing Clinton's cables and indexing her emails we are seen as domain experts on Clinton archives. So it is natural that Clinton sources come to us.

We publish as fast as our resources will allow and as fast as the public can absorb it.

That is our commitment to ourselves, to our sources, and to the public.

This is not due to a personal desire to influence the outcome of the election. The Democratic and Republican candidates have both expressed hostility towards whistleblowers. I spoke at the launch of the campaign for Jill Stein, the Green Party candidate, because her platform addresses the need to protect them. This is an issue that is close to my heart because of the Obama administration's inhuman and degrading treatment of one of our alleged sources, Chelsea Manning. But WikiLeaks publications are not an attempt to get Jill Stein elected or to take revenge over Ms Manning's treatment either.

Publishing is what we do. To withhold the publication of such information until after the election would have been to favour one of the candidates above the public's right to know.

This is after all what happened when the New York Times withheld evidence of illegal mass surveillance of the US population for a year until after the 2004 election, denying the public a critical understanding of the incumbent president George W Bush, which probably secured his reelection. The current editor of the New York Times has distanced himself from that decision and rightly so.

The US public defends free speech more passionately, but the First Amendment only truly lives through its repeated exercise. The First Amendment explicitly prevents the executive from attempting to restrict anyone's ability to speak and publish freely. The First Amendment does not privilege old media, with its corporate advertisers and dependencies on incumbent power factions, over WikiLeaks' model of scientific journalism or an individual's decision to inform their friends on social media. The First Amendment unapologetically nurtures the democratization of knowledge. With the Internet, it has reached its full potential.

Yet, some weeks ago, in a tactic reminiscent of Senator McCarthy and the red scare, Wikileaks, Green Party candidate Stein, Glenn Greenwald and Clinton's main opponent were painted with a broad, red brush. The Clinton campaign, when they were not spreading obvious untruths, pointed to unnamed sources or to speculative and vague statements from the intelligence community to suggest a nefarious allegiance with Russia. The campaign was unable to invoke evidence about our publications—because none exists.

In the end, those who have attempted to malign our groundbreaking work over the past four months seek to inhibit public understanding perhaps because it is embarrassing to them – a reason for censorship the First Amendment cannot tolerate. Only unsuccessfully do they try to claim that our publications are inaccurate.

WikiLeaks' decade-long pristine record for authentication remains. Our key publications this round have even been proven through the cryptographic signatures of the companies they passed through, such as Google. It is not every day you can mathematically prove that your publications are perfect but this day is one of them.

We have endured intense criticism, primarily from Clinton supporters, for our publications. Many long-term supporters have been frustrated because we have not addressed this criticism in a systematic way or responded to a number of false narratives about Wikileaks' motivation or sources. Ultimately, however, if WL reacted to every false claim, we would have to divert resources from our primary work.

WikiLeaks, like all publishers, is ultimately accountable to its funders. Those funders are you. Our resources are entirely made up of contributions from the public and our book sales. This allows us to be principled, independent and free in a way no other influential media organization is. But it also means that we do not have the resources of CNN, MSNBC or the Clinton campaign to constantly rebuff criticism.

Yet if the press obeys considerations above informing the public, we are no longer talking about a free press, and we are no longer talking about an informed public.

Wikileaks remains committed to publishing information that informs the public, even if many, especially those in power, would prefer not to see it. WikiLeaks must publish. It must publish and be damned.

</comment><comment><USER10> Mirror?

<comment><USER11> [http://archive.is/in4n1](http://archive.is/in4n1)

</comment></comment><comment><USER12> What a sham. The twitter feed reveals things far beyond using "material given to us."

It's a shame the platform brought sunlight on a deep dark secret has become a platform for someone to desperately try and influence an election out of complete self-interest.

For me, anything in the future revealed by wikileaks will be under an aura of suspicion and disbelief.

<comment><USER13> "For me, anything in the future revealed by wikileaks will be under an aura of suspicion and disbelief."

You can question Wikileaks motives or political beliefs, the relevance of the emails, the timing of the publications, or the twisted reporting third parties have done of the underlying documents, but Wikileaks itself has proven itself to publish accurate records thus far.

</comment></comment><comment><USER14> Assange can publish whatever the fuck he wants, but this claim is truly beyond arrogant: "This is why, irrespective of the outcome of the 2016 US Presidential election, the real victor is the US public which is better informed as a result of our work."

What an arrogant asshole! I supported his work in the past and his stay at the embassy to avoid what are most likely trumped up charges, but to claim that you have the right to mess with another country's election and that, regardless of the outcome, this messing with the election is for the good of that country's people is absolutely fucking insane. How is this any different from what the government already does, manipulating foreign elections and leader? Is Wikileaks a press organization or a covert, non-state actor? I just lost all respect for the man and his organization. His 'principles' may be real or they may be made up to hide his true motives. I don't care. Such arrogance is disgusting.

<comment><USER3> Thousands and thousands of Americans have been reading through the emails of one of their presidential candidates casting a big shining light on the secret deals, trades and political issues as products for big corporations and interest groups. The emails themselves was most likely leaked by a American citizen. So yeah. The US public is better informed on a lot things. How is that wrong?

<comment><USER14> Manipulating a foreign election, especially to the detriment of that country, is morally wrong. We have a lot of laws in place to prevent this being done. The leaks are irrelevant. The arrogance is disgusting.</comment></comment></comment>


The Horror: Android allows apps access to your pictures - <AUTHOR> http://www.extremetech.com/computing/120969-the-horror-android-allows-apps-access-to-your-pictures

<comment><USER2> The Horror: iPhone/Android/w/e intercepts your touches on your phone's touchscreen!!!!!11</comment>


Apple Watch Doesn't Have Safari and You Didn't Even Notice - <AUTHOR> https://medium.com/@paulcanetti/apple-watch-doesn-t-have-safari-and-you-didn-t-even-notice-a1970ebdb8ed

<comment><USER2> In part I suspect this is because websites aren't responsive down to smartwatch screen sizes yet. If any watch adds a browser, that process will start, and then it might become useful and something people want.

</comment><comment><USER3> This article makes no sense. I would never expect a watch to run a web browser. Websites are not designed for such a small size, and I would never expect them to be. It's silly to think it makes sense for a watch.

<comment><USER4> Once upon a time, there was a strong movement/belief that everything belonged in the web browser and operating systems should be no more than a shell to load a web browser, and in fact the web browser should be the one and only tool anybody should ever use, no exceptions.

Your thinking and the article's point shows that attitudes have dramatically shifted.</comment></comment>


New Productivity App to easily reschedule tasks with fixed time spans - <AUTHOR> http://www.s4bb.com/2018/10/17/ars-auto-re-schedule-launched-reschedule-tasks-with-fixed-time-spans/ <comment><USER2> Looks like a useful app. I'll give it a try. Let's see how it performs on a daily basis.</comment>


We could see an orbital launch of SpaceX's Starship this year - <AUTHOR> https://www.universetoday.com/146472/once-starship-prototypes-are-done-exploding-we-could-see-an-orbital-launch-this-year/ <comment><USER2> Not sure if I understand what's wrong with this. "Once starship prototypes stop exploding" sounds to me just like "once experimental software stops crashing". Well, experiments are there to find problems and correct them; we cannot predict or emulate what we don't know; if I was an engineer I would absolutely _want_ a prototype starship to tell me there's something wrong, even by exploding, before real people jumps in for a real flight.

<comment><USER3> Exactly. This is precisely the time for "move fast, break things". They have comfy traffic with their Falcon like, and can (and should) be going full- Kerbal with Starship as long as they can afford to. Especially with all the new techniques they are experimenting with.

</comment></comment><comment><USER4> They haven't even decided what they're going to build Starship out of yet. Current prototypes were built of 301 Stainless Steel, they're currently switching to 304L, and they've indicated that they'll probably end up using a fully custom alloy.

But I still believe in the headline. They're building a new prototype every 2 weeks, and they currently have 3 prototypes stacked. This in an industry which usually takes years to build a single prototype. Their velocity is insane.

<comment><USER5> Jesus. If they can put together two prototypes a month, I can only imagine how many finished versions they might be able to churn out once they're in general production.

<comment><USER4> The goal is to manufacture one a week. They expect to be able to fly each one 100 times without any refurbishment, and indefinitely with refurbishment. The other goal is to be able to fly each Starship 3 times per day!

</comment></comment></comment><comment><USER6> What makes me most excited about Starship. Is not the first iteration. Of course, I will be ecstatic when it finally goes into space. But I cannot wait for version 2!

Version 2 [0] has a diameter of 18m and an astonishing payload.

Whilst V1 will change space launches forever. I think that V2 will become the most versatile of space vehicles. The capacity so large that it would be able to launch a copy of the ISS by itself. [1].

I think V2 will usher in new capabilities of manufacturing in space, space mining on asteroids and off worlds, interstellar way stations (planet hopping across the solar system) and the ability to launch a global coverage of Starlinks in 1 launch instead of 24 falcon 9 launches [2].

So yes, while V1 changes the game and puts SpaceX at the forefront of space and rockets. Once they turn their attention on V2 and that launches. Absolutely everything changes and true infrastructures can then be built and once an infrastructure to the end of the solar system occurs. We can only imagine what humanity looks like.

[0]: [https://www.reddit.com/r/SpaceXLounge/comments/cwurkj/update...](https://www.reddit.com/r/SpaceXLounge/comments/cwurkj/updated_18m_superheavy_vs_9m_superheavystarship/)

[1]: [https://www.reddit.com/r/SpaceXLounge/comments/cy4lno/18m_st...](https://www.reddit.com/r/SpaceXLounge/comments/cy4lno/18m_starship_i_predict_a_first_launch_launch/)

[2]: [https://spacenews.com/spacex-plans-to-start-offering- starlin...](https://spacenews.com/spacex-plans-to-start-offering-starlink- broadband-services-in-2020)

</comment><comment><USER7> Does anyone have a good summary of Starship and what the goal is? I still don't quite understand why they didn't just iterate on the Falcon design and what necessitates a "full stack" clean slate approach. Why do they need to develop new engine for instance? Like.. why couldn't they develop new engine and upgrade the Falcons with them? Once Starship is working consistently, will the Falcons become obsolete b/c Starships will become much more reusable?

<comment><USER8> Their goal is establishing a Mars colony (1,000,000 humans). That necessitates a fully reusable rocket that can get humans to Mars and back. That means being able to enter Mars atmosphere at high speed and landing on Mars. That also means using a fuel that they can manufacture on Mars to return to Earth.

\- Falcon doesn't have a reusable second stage. Starship's second stage is reusable. Starship should be more cost efficient because of this.

\- Falcon doesn't have the capacity to carry enough humans and cargo to Mars. It is a trip that can take upwards of half a year. Starship can supposedly carry 100 people and 100 tons of cargo. Falcon with Crew Dragon can only carry 7 people a few days.

\- Starship is designed to be able to enter Mars atmosphere. Its skin is stainless steel and some heat shielding. The stainless steel can survive much higher temperatures which means less heat shielding. Falcon is aluminum and would require more heat shielding.

\- Falcon has fuel tanks for its Merlin engines that use rocket fuel (RP-1?) and oxygen. The tanks are a specific size for the burn ratios. The rocket fuel can't be readily made on Mars and its mass makes it infeasible to carry enough fuel for a return. Starship's engines (Raptor) use methane and oxygen. Methane can be readily made on Mars. Changing Falcon from Merlin to Raptor engines would mean redesigning the tanks to have different sizes.

Given all this, it makes more sense to design a new rocket than trying to redesign the existing one.

<comment><USER9> I like to point out that a Boring Co. tunnel boring machine will fit inside a Starship. 14 feet vs 30 feet.

Coincidence?

<comment><USER8> Oh. I guess they are living underground.

<comment><USER10> And traveling via hyper-loops because the whole vacuum tube collapse thing won't be an issue.

<comment><USER9> And you get some radiation protection. And you can process the chewed up tailings for ice.

</comment></comment></comment></comment></comment></comment><comment><USER11> I wonder if putting up a space sunshade (the cloud of lenses version: [https://en.wikipedia.org/wiki/Space_sunshade](https://en.wikipedia.org/wiki/Space_sunshade)) would be feasible with starship/superheavy. If so, that strikes me as a way more important project than Mars colonization. I would prefer the sunshade to chemical solar geoengineering (dispersing sulfate aerosols), because it seems like putting objects in space would be more easily reversible. And it seems like some form of solar engineering will be an absolute necessity (projections of wet-bulb temperatures killing millions of humans at a time sometime this century scare the bejeebus out of me).

</comment><comment><USER12> I think that's hasty.

Starship is not an SSTO and is not expected to reach orbit on its own.

To do an orbital flight they'll need to also develop Super Heavy. That's not too crazy because Super Heavy is a stretched Starship, but it will take some time.

<comment><USER13> My understanding is that without payload it is SSTO. Which is mostly useless, but might be good enough for a test flight. And even if not, musk said that starship is the hard part, if they got that one working then adding the booster would be essentially a second starship without nose cone and an interstage instead.

<comment><USER14> A reasonably optimised Starship can theoretically reach orbit, but it wouldn't have any fuel left to come back down and land, so that isn't happening. Anyway these early prototypes are probably a bit over-engineered and heavy to manage that.

This all means that when Hans talks about an orbital flight in 6+ months, he must be talking about flying it with Super Heavy.

</comment></comment></comment><comment><USER15> Something about the title reminds me of a line in Buffy, about a high school football team: "If we can focus, keep discipline, and not have quite as many mysterious deaths, Sunnydale is gonna _rule!_ "

</comment><comment><USER16> Man I'd love to see the data they are gathering for failure analysis. I imagine there have to be thousands of sensors in place for identifying decompression pathways, convection peaks, pressure differentials, all of it. Would be really nifty if they just dropped that data for crowd analysis! Oh, one can dream...

</comment><comment><USER17> "Once Starship Prototypes are Done Exploding..."

I don't really follow along much I was surprised to read so many had exploded. What I didn't see was how do we know when they've stopped exploding? I guess I mean, how many successes would be enough to say "well these are done exploding now"? This year is 1/2 done, are they really able to say that these are safe in just 6 months?

<comment><USER18> It's not a matter of safety right now, they are exploding before they get to fly. I think at least two burst during pressure tests, and the last one exploded during a test because the fuel connection to the rocket leaked or broke in some way.

The stuff breaking right now isn't really representative of the final product, it's more like problems in ramping up the manufacturing. And the nice thing about reusable rockets is that you can test them much more thoroughly than if you throw them away after each flight.

<comment><USER19> As long as we don't keep seeing the tank seems burst then it's all just an integration phase now I think? Engine: Check, Fuel tanks: check?

<comment><USER10> No tank has failed a pressure test since SN1.</comment></comment></comment></comment>


TELL HN: Post your ideas - <AUTHOR>

I have a lot of ideas, some of which are validated, some aren't. But a lot of them represent a good opportunity in my opinion.<p>Post your idea which you'd like built but dont have time. <comment><AUTHOR> \- Design editor on teh go. You upload ur PSD, and u can edit the psd with ur team like select a portion of the image, insert text and save.

\- WhatWill5DollarsGetMe.com - A very simple(without login) way for people to submit what $5 will get them around the globe.

\- Groupon but for deals which will make a loved one remember you / relationship building tool. Like Manpacks or

\- Replica of MacHeist, using their previous deals. FOr instance, what was for them in December you do in January or February, etc.

\- A better google analytics tool which focuses on sales and SaaS websites

\- Something to do with all the emails at <http://www.skymem.com/>

\- business dashboard

\- awebder.com competitor …. see use of it here: <http://mixergy.com/dane- maxwell-zannee-interview/> at 25:00 minute

\- turbotax alternative for small businesses / entrepreneurs / consumers

\- replica of salesforce chatter(BIG market, proven idea, easy to build)

\- dropbox alternative which syncs in your Gdocs account. Price: one time/monthly

\- dont make me think bulletpoints on the left and ur website on the right. u enter ur website and boom, u get a UX checklist to see if ur website needs to be worked on.

\- $5/month repo of PSDS from designers. Sorta like WooThemes

\- rails bootcamp seminar; learn rails in 7days at $299. <\-- Might be working on this soon

\- cloud email parser(forward an entire email conversation and it returns threads and removes the signature).

</comment><comment><USER2> Flying car.</comment>


What's the point of Test Driven Development? - <AUTHOR> http://www.mockobjects.com/book/tdd-introduction.html

<comment><USER2> A pretty good read. Thanks for sharing.</comment>


Health Surveillance Tech for Athletes Could Come to an Office Near You - <AUTHOR> http://www.forbes.com/sites/parmyolson/2015/09/14/health-surveillance-tech-athletes-sport/ <comment><USER2> This would be great data for one team to steal from another.</comment>


Cofounder for Ramen Profitable Company - <AUTHOR>

I have been working on a concept for 3 years as a single founder mainly due to the unavailability of qualified risk takers in the midwest/south east area.
Over the last 3 years, I have:
-Gone through 2 accelerators, have had one pivot, found a pain point that I am passionate about and could solve, Raised small seed capital round, built an MVP based on customer request and expanded it to a few customers, am Ramen profitable now
I am in the process of bringing on a business partner to expand the company now and raise some funds. How do you think the deal should be structured? <comment><USER2> Current corporate structure? Current cap table? Who is on the Board? Are they coming on full time and in the trenches with you? Are they a business partner who is going to be sweating equity, paid a salary, a bit of both? Just a few factors to consider.

One globally applicable rule, in all circumstances at least a 3 month cliff and 2 year vesting period, but typically a 1 year cliff and 4 year vesting. Unless you have a decade of prior experience working with the new hire, and really, even then.

Consider tax implications. E.g. You'll need a 409(a) valuation and you want it to be _low_. Consider if the new hire will get a Board seat.

Most importantly good luck and have fun. Remember it should be an enjoyable experience and trust your gut. In general a smaller slice of a big pie is better than a large slice of "ramen profitable". Be wary of "advisors" who say they will make big things happen for your company but aren't the ones who are going to put in the sweat, blood, and tears to make it happen.

Just a side note, your first paragraph is a bit of a red flag. If you can't find people to work with you on an idea, especially considering you've been through 2 accelerators, it's not likely that geography is the primary cause. Remember, sales is about selling ice to Eskimos and selling people on your startup is a Founder's #1 job.</comment>


A Beginner's Guide to IPFS - 076ae80a-3c97-4 https://hackernoon.com/a-beginners-guide-to-ipfs-20673fedd3f <comment><AUTHOR> I like the IPFS website, but it does not answer my questions or hint me to a place where they are answered: How do I control how much ressources I want to share/dedicate to IPFS? Ressources in terms of hard disk capacity and network bandwith?

For comparison, most graphcial BitTorrent clients allow me to fine tune these settings.

<comment><USER2> You can configure disk usage in the IPFS config file.

Set Datastore->StorageMax under ~/.ipfs/config

Not sure about bandwidth.</comment></comment>


My Blog About Software Testing and Self Development - <AUTHOR>

<comment><USER2> A link to a comment.</comment>


Interview of Followformation cofounder - <AUTHOR> http://thenetworkhub.ca/minna/vancouver-office/interview-with-an-entrepreneur/followformation-brian-wong

<comment><USER2> I always love meeting charismatic people. Especially people who work hard and don't sleep because they're living the life of an entrepreneur. We all know we had to go through it pushing for our businesses to strive. It's good to have a reminder to "keep trucking" whenever we feel the pressure piling on. -Peter

</comment><comment><USER3> Props for being such a young and upcoming entrepeneur, especially being able to juggle school, internship, and a start-up company.</comment>


Differential Equations in Data Science - <AUTHOR> http://blog.urx.com/post/79290681131/differential-equations-in-data-science?utm_source=blog&utm_medium=hn&utm_campaign=differentialsindatascience

<comment><USER2> Several things about this just seem odd:

\- the second example given of an ODE is Black-Scholes (which is a PDE)

\- ODE's are said to be missing from the "top 10 data science algorithms", but the actual title of the linked paper is "Top 10 algorithms in _data mining_ ". Clearly, ODEs are not data mining algorithms and would not belong on such a list.

\- it repeatedly refers to the "derivate of a function", instead of "derivative of a function"

\- it introduces the matrix exponential without giving a definition or link to wikipedia (it's important to at least mention in passing that it is _not_ formed by taking the exponential of each matrix element)

\- it says that "They're common constructs used in physics (Newton's law is a second-order ODE), chemistry and biology where it's often easier to measure the derivate of a function (e.g., velocity) than the function itself (e.g., position)". I'd have said that differential equations are ubiquitous in science and engineering because they can be used to describe how quantities change over (continuous) time.

etc.

<comment><USER3> Good catches. One point,

"because they can be used to describe how quantities change over (continuous) time"

I would argue that time series problems are common throughout data science. Uber's prediction of arrival time, Kaggle flight time prediction, etc.

</comment></comment><comment><USER4> I recently finished my masters in environmental science, which was diffeq heavy, and got a position working with energy data and doing some economic modeling and operations research. I was a bit surprised that the project I came into doesn't seem to use any diffeq in its broad pieces, although it's possible I just haven't come across it yet.

We're doing most of our analysis in python with the scipy stack, so maybe I'll try a couple ODE-based projections this afternoon.

<comment><USER3> That's awesome to hear! Keep me posted as you work through some projects. I'm curious to hear how ODEs can help in environmental science.

<comment><USER4> Differential equations basically _are_ environmental science. I happen to work more in econometrics now, but things like population/ecology, environmental/pollution/waste engineering, and environmental chemistry research are chock full of papers and projects driven by differential equations.

</comment></comment></comment><comment><USER5> It's exciting to see under-appreciated math techniques in use for modern-day data science!

<comment><USER6> ODE is an "under-appreciated math technique"? Where? In math or in "modern-day data science"?

<comment><USER3> I would say it's under-appreciated in modern data science. It's well appreciated in applied mathematics.</comment></comment></comment>


The hidden cost of funding - <AUTHOR> http://www.jacquesmattheij.com/The+hidden+cost+of+funding

<comment><USER3> 1\. Unless you are a raging success investors won't be tracking you down - <USER2> chances are the ones coming to you won't be the ones you want. Always pick what investors you want and go after them first.

2\. I can't envision a scenario where the second piece of advice makes any sense. If being gone for a couple months (perhaps 6 months calendar time, 2 months work time) - and it costs you 100k then you would never raise 100k, you would be raising more.</comment>


Startup Quote: Matt Rutledge, founder, Woot - <AUTHOR> http://startupquote.com/post/2054715760

<comment><AUTHOR> Everybody's chasing that leading edge, but there's an awful lot of opportunity in the trailing edge.

\- Matt Rutledge (@snapster)

<http://startupquote.com/post/2054715760></comment>


A search and recommendation engine for the gaming industry - <AUTHOR> http://www.gametionary.com <comment><AUTHOR> Used by gamers and developers! Find your perfect game across ALL platforms instantly!</comment>


How Trip Inferences and ML Optimize Delivery Times on Uber Eats - <AUTHOR> https://eng.uber.com/uber-eats-trip-optimization/ <comment><USER2> Thank you for the posting. Uber is what their Team maketh the Uber. Kudos.</comment>


Show HN: Keep Focus Todo. Simple and distraction free task management system. - <AUTHOR> http://keepfocustodo.com/ <comment><AUTHOR> Hi all. This is my first rails app that implements Mark Forster's Final Version task management method. Please try it, and any feedbacks are welcome.

</comment><comment><USER2> Could use a demo version for those (i.e _most_ people on HN) who are reluctant to register for anything at first glance.

<comment><AUTHOR> I made a demo account. Please use [email@example.com/kftddemo].</comment></comment>


IRS: The words "open source software" suggest a for-profit business - <AUTHOR> http://nymag.com/daily/intelligencer/2013/06/irs-targeted-liberal-groups-for-scrutiny-too.html

<comment><AUTHOR> _These organizations are requesting either 501(c)(3) or 501(c)(6) exemption in order to collaboratively develop new software. The members of these organizations are usually the for-profit business or for-profit support technicians of the software._ [1]

[1][http://democrats.waysandmeans.house.gov/sites/democrats.ways...](http://democrats.waysandmeans.house.gov/sites/democrats.waysandmeans.house.gov/files/November%202010%20BOLO%20IRS0000001349-IRS0000001364.pdf)</comment>


The best tool for the job, isn't always - <AUTHOR> https://medium.com/@bentlegen/the-best-tool-for-the-job-isnt-always-6ed364f3f775

<comment><USER2> Learning an exciting new tool is frequently a way of postponing a difficult or unexciting job. Getting to grips with the new tool is stimulating, you can accomplish many otherwise tedious tasks in much less time than before, you produce things that you would never have thought of making or complete tasks in ways that you would never have thought of trying, and you feel like you have received a large boost in productivity and confidence.

You see the same thing in other fields - be more productive/ creative/ awesome with this brand new product or accessory for your camera/ synthesizer/ motorcycle hobby...often referred to as 'gear acquisition syndrome,' a substitute for doing more with what you already have (and which you would probably have happily given an arm and a leg for a few years ago). These are all (IMHO) special cases of the Hedonic Treadmill, where some great new thing in your life makes you happier...for a while, before the inevitable reversion to the mean.

[http://en.wikipedia.org/wiki/Hedonic_treadmill](http://en.wikipedia.org/wiki/Hedonic_treadmill)

I think this is a great article, and the basic point that continuity and consistency with existing infrastructure is probably far more valuable than the (hypothetical) marginal gain from some exciting new tool is an important one. The 'greater good' section - can anyone else read this code? Have you made something complex with it? Will it outlast your low tolerance for boredom? Will it blend? - ought to be written in 20 foot high letters of fire at the (metaphorical) entrance to Silicon Valley.

<comment><USER3> Wow. I'd never before heard of Hedonic treadmill. Much appreciated.</comment></comment>


Intel Shows Xeon Scalable Gold 6138P with Integrated FPGA, Shipping to Vendors - <AUTHOR> https://www.anandtech.com/show/12773/intel-shows-xeon-scalable-gold-6138p-with-integrated-fpga-shipping-to-vendors <comment><USER2> One stark flailure of the Altera acquisition is there has been little by way of tool chain integration. This is a CPU with a bag on the side, and that bag needs people that write HDL and understand computer architecture to make good use of. It's not really a harsh critique, but a warning that the lower you go is an increasingly smaller number and expensive lot of folks. Intel's marketing arm can't distort that reality, and their product development arm seems too taxed to bridge the gap.

<comment><USER3> Learning an HDL isn't that hard. I was productive within a few weeks of starting to use VHDL.

A former colleague is now an Altera/Intel FAE, I will ask how things are going the next time we meet up for a beer.

<comment><USER4> HDLs are fine. I've found the tooling around them to be quite atrocious (slow, buggy, opaque, gui-based) though. Be it for synthesis, simulation, or even just compiler errors it's pretty bad compared to software.

<comment><USER5> I've started using SpinalHDL, [https://github.com/SpinalHDL/SpinalHDL](https://github.com/SpinalHDL/SpinalHDL). It's a Scala DSL that spits out Verilog or VHDL for traditional synthesis tools. But, unlike Chisel or MyHDL, in my opinion it's a great experience. And, now it has seamless integration with Verilator for simulation, and the open-source Verilator project is very capable—they claim it beats commercial simulators: [https://www.veripool.org/wiki/verilator](https://www.veripool.org/wiki/verilator). Since Scala is quite a bit faster than Python, the simulations run much faster than something like Cocotb too!

I have my hobby project in SpinalHDL up at [https://craigjb.com](https://craigjb.com)

Edit: also, GTKWave is pretty good! It's a simple and straightforward waveform viewer that works on all platforms.

<comment><USER6> Are you writing your testbench code in C++? (that's what verilator wants, isn't it?)

</comment></comment></comment></comment></comment><comment><USER7> "Price: Arm, Leg" ... hard to miss the sarcasm.

<comment><USER8> Arria 10 FPGA is kind of mid range, I think they go around for 500 bucks , you can buy the dev board for 5K ([https://www.altera.com/products/boards_and_kits/dev- kits/alt...](https://www.altera.com/products/boards_and_kits/dev- kits/altera/kit-a10-gx-fpga.html))

<comment><USER9> Why are dev boards that much more expensive in general? I can't believe that it costs 10x as much to "just" put the chip on a pcie board.

<comment><USER10> These are usually full-custom boards, very low-volume, with many layers and fine pitch traces. The parts themselves may have thousands of pins, routed across a dozen layers or more.

So the non-recurring engineering (NRE) costs are very high, and you don't get to recover them over much volume. Even at 10x the cost, the vendor is still losing money.

<comment><USER11> funnily it also applies down the chain, even dollar ESP chips dev boards are 10x the cost of the bare pcb :)

</comment></comment></comment></comment></comment><comment><USER12> I remember Faggin (of microprocessor fame) dabbling with the idea of creating an all-FPGA ' _hypercomputer_ ' back in the late 1990s, and even going as far as launching a start-up called _Starbridge Systems_. Nothing much came of it then, but here's a WIRED period piece with all the _de rigeur_ gushing optimism of the era.

[https://www.wired.com/1999/02/the-super-duper- hypercomputer/](https://www.wired.com/1999/02/the-super-duper-hypercomputer/)

</comment><comment><USER13> I wonder if amd could produce epyc with tsmc and xilinx.

xilinx is a much better choice in fpga

</comment><comment><USER14> What I'm really interested to know is how this looks from a power-performance perspective. An Arria 10 can draw 20-40 watts (I'm not sure that 90w is really realistic), and the TDP for the Xeon is 165W. When I saw the discussion about this in the past with people who work at Intel the discussion wasn't 165+90 = 225TDP. It was actually "Oh so you want to use the FPGA, better turn off 6 of those Xeon cores!

That could be a real problem for getting performance out of these systems.

<comment><USER15> Intel Scalable CPUs are already at 205W TDP, and also see: [https://en.wikichip.org/wiki/intel/xeon_platinum/8124](https://en.wikichip.org/wiki/intel/xeon_platinum/8124)

</comment></comment><comment><USER16> > Also in the announcement was a mention of Intel's desire to offer a discrete > FPGA solution with a faster high-bandwidth coherent connection, although > details of this interconnect were not provided

Sounds a lot like what OpenCAPI ([https://opencapi.org](https://opencapi.org)) offers.

(disclosure: work for IBM on CAPI/OpenCAPI firmware enablement)

</comment><comment><USER17> So what can you do with 1.15M logic gates that are in that FPGA? Can you, say, multiply, say 2 256x256 FP32 matrices?

<comment><USER18> Top of the line Arria-10 FPGAs have about 1500 floating point MACs [1]. Using such a device, Intel claims ~1 TFLOP sustained for GEMM, the standard matrix multiply operation [2].

[1] [https://www.altera.com/content/dam/altera- www/global/en_US/p...](https://www.altera.com/content/dam/altera- www/global/en_US/pdfs/literature/pt/arria-10-product-table.pdf)

[2] [https://www.altera.com/content/dam/altera- www/global/en_US/p...](https://www.altera.com/content/dam/altera- www/global/en_US/pdfs/literature/wp/wp-01267-fpgas-enable-high-performance- floating-point.pdf)

<comment><USER14> I would give a very strong health warning about taking those numbers seriously. What that 2nd reference doesn't make clear is that it is NOT a standard Matrix Multiply Operation, it's an 11 row by 16 column Matrix Multiplication.

This is important because unlike in software where performance scales well. For FPGA you would have to decompose every matrix multiplication into 11x16 style matrix multiplies. They don't mention this overhead in their specs.

</comment></comment></comment><comment><USER8> If anyone is interested in using C# on a FPGA to learn take a look at [https://hastlayer.com/project](https://hastlayer.com/project)

<comment><USER19> Wow, someone managed to make something even worse than the "compile your C to an FPGA" tools you see occasionally.

The model is just too different for these things to make sense 99% of the time. It's like trying to run general purpose code on a GPU, but even worse.

<comment><USER20> Wait until you see the python-to-FPGA tool :P

<comment><USER19> This one does that thanks to IronPython, lol.

</comment></comment></comment></comment><comment><USER21> What's the use case of an integrated FPGA?

<comment><USER22> I can think of two possibilities: 1\. Hardware accelerated custom crypto algorithms. 2\. Specialized co-processor. You could implement an exotic processing architecture on the FPGA to off-load computations to, like a complex number processor with 52-bit words in a custom floating point format for a specific application.

<comment><USER11> I don't know how fast the FPGA can reconfigure itself or part of it, but you could also have per process bare metal JIT

<comment><USER14> It takes in the order of seconds to reconfigure. JIT is not really viable.

<comment><USER23> Nope. Reconfiguration takes milliseconds. Also, Arria 10 supports partial reconfiguration which means that the FPGA can keep operating while some of the logic is reconfigured via bitstream.

</comment></comment></comment></comment></comment><comment><USER24> Insert some random Moore's law comment here</comment>


Look Ma, no OS - <AUTHOR> http://slides.com/technolo-g/intro-to-unikernels-and-erlang-on-xen-ling-demo#/ <comment><USER2> "Two dimensional navigation for a slide deck would be really helpful, discoverable, and useful."

\- no one ever

<comment><USER3> For those who are confused: Hit the down arrow to go thru the slides, when you get to the end of one, hit the right arrow to go to the next section, then rinse and repeat.

Just hitting right will show the you the headers for each section. Right jumps from section to section

Hitting down goes slide to slide.

<comment><USER4> just use space for next slide, why all down, right arrows..??

</comment></comment></comment><comment><USER5> Unikernels are cool to play with. Erlang is cool too. But...

\- [name] is a kernel thread not a user space process.

\- its libssl, not "libopenss"

\- installing rpc, some obscure 55k listening port, and calling it bloated.. heh so cheap.

Once past all this FUD - what does a unikernel (basically the same as running linux and your app as /sbin/init except it's in Erlang and not C here)?

\- its obscure. you get security mainly because nobody knows what you're running.

\- its library based. like regular OSes.

\- it runs only one program. or a million of them, like a regular OS, but with zero separation between them so compromise one means compromise all, actually. Else you have to add the separation layer yourself by writing more apps per "system" and make them communicate.

\- its undebuggable without a lot of knowledge

\- 'script kiddies' will run ./erlang-hack-for-x instead of ./rootshell.sh, this changes nothing to that. Remember the XEN exploit a few month ago? That'd still work and give access to all the Erlang instances. Its not that hard.

\- its not faster, its actually slower, when compared to C kernel+code.

\- it doesnt compile itself, you need a "regular OS" to deploy it

\- it uses the same memory space for mostly everything (regular OSes use protected memory per process, its hardware enforced by the CPU)

\- namespaced linux boots in < 10ms already...

There are much better implementations of safer, faster, cleaner OSes with better paradigms that also do away with backward compat and using modern, memory safe languages ([http://en.wikipedia.org/wiki/Singularity_%28operating_system...](http://en.wikipedia.org/wiki/Singularity_%28operating_system%29) for a well-known one). For the record MS also developed Drawbridge (process+lib, so not exactly a unikernel) because they could not do away with windows compatibility. So yeah.

If you have doubts, look at the example code at [https://github.com/technolo-g/unikernel- demo](https://github.com/technolo-g/unikernel-demo)

<comment><USER6> The problem with Mesa/Cedar, Modula-3/Spin, Modula-2/Lilith, Oberon/Native Oberon, Oberon-2/AOS, Sing#/Singularity and many others is compatibility and lack of buy-in from OS vendors.

Personally I see application compartments, wider adoption of Swift, Java, .NET Native, OCaml, Haskell, Go, D, Rust, Erlang, ..., alongside unikernels as the way forward to mainstream adoption.

One day we will get C free OS stacks.

<comment><USER7> C/C++ is the language you write the library in, so that it's callable from every other language. Hopefully Rust, Nim (and Golang one day) will be able to produce C-API compatible replacements. API can also be something better than what .so and .dlls provide, as long as everyone is on board.

I guess Rust and Nim are the real contenders, as only a language with "zero runtime" is going to cut it.

<comment><USER6> It is an historical accident that C == OS ABI, as mainstream OSes copied UNIX model.

This wasn't true in other OSes.

Windows is currently moving to COM as the main OS ABI, specially with the WinRT focus.

Android also has little support for C ABI, beyond wrapping .so in JNI wrappers.

Another example are mainframe systems like OS/400, where the ABI is bytecode based (TIMI).

</comment></comment></comment></comment><comment><USER3> I have to say, this is one of the most exciting technologies I've seen in awhile. It predates docker by a fair bit, and I would have hoped it would have gotten more traction. So I'm very happy to see slides from a user group.

Alas, the brilliance of Erlang has not been sufficiently appreciated, so hopefully Elixir -- aka: Erlang Returns -- might catch on and become a popular hipster language.

With Docker you still have all the overhead of Linux, and personally, I'm finding it a bit overwrought, and then on top of that more and more infrastructure is being built. All well intentioned and I'm not saying it's wrong-- but it's starting to feel like open stack.

One of the earlier demos of Erlang on Xen was a system where a VM was spawned to handle each requests. EG: An HTTP request would come in, an entire VM would be spawned, handle the request and go away. It was very fast.

I find that kinda astounding!

[http://erlangonxen.org/zerg](http://erlangonxen.org/zerg)

PS- Not intended to start a flame war, the dogmatic sounding parts of this post are all tongue in cheek.

<comment><USER8> > and then on top of that more and more infrastructure is being built.

I don't see how unikernels solve orchestration. You still need databases, load balancing, service discovery and so on. Kubernetes or something like it would still be a necessity.

<comment><USER3> Good point. My feeling isn't so much that it exists, but that it's all new and dockery-- and doesn't feel like it's gelled into something really useable yet. And by usable, I mean "usable for non-ops people". I'm hoping managing hypervisors will be more of a solved problem given more time in the market... but I may well be wrong.

</comment></comment></comment><comment><USER9> The next logical step is to elide the virtualized network and disk interfaces, and then we're back to shared hosting! See you again in twenty years.

<comment><USER10> Yep. I don't get the value in this, pushing the problem somewhere else just creates new problems. Instead of being able to rely on distributions and gargantuan open software, now we go off and roll it all ourselves?

This is a good path to job security, but I don't see what else.

<comment><USER3> What's to roll yourselves? (Serious question, I might have missed it.) The erlang platform provides a great deal of everything you need. And if it doesn't, there's a library out there to do it.

Elixir is extremely active, growing and moving fast and even if you do have to roll it yourself, it can still be a net win.

For instance, I found it was easier to integrate a mail sending library or interface with mailgun than it was to get an STMP service working on linux.

But then, I'm a developer, not ops.

</comment></comment></comment><comment><USER11> Also relevant: [http://openmirage.org](http://openmirage.org)

and [https://www.youtube.com/watch?v=bYQ_lq5dcvM](https://www.youtube.com/watch?v=bYQ_lq5dcvM)

<comment><USER3> Mirage supports Ocaml the video shows people making Python Unikernels.

This slide deck supports Elixir and Erlang languages.

(just adding details for people)

</comment></comment><comment><USER12> This has to be one of the worst UIs for a slide deck. "Why aren't these questions being answered?" ... "Oh, the slide advance UI changes. Too inconspicuous."

<comment><USER13> I'm shocked that the top two HN comments as of writing are bikeshedding the submission's web design.

<comment><USER14> This is "Why is the bike shed missing three walls and half the roof?"ing.

<comment><USER13> Chapters bother you that much huh?

<comment><USER14> Not when they're arranged as a book, rather than a quilt disguised as a book.

</comment></comment></comment></comment></comment><comment><USER15> I'm not sure Erlang with a immutable infrastructure concept is good idea. Dynamic code reloading and upgrading without downtime is a key feature of Erlang, and immutable infrastructure do not play well with these features. If you make Erlang immutable, you should add another layer to ensure availability like HAProxy, which adds management burden. If you use dynamic code reloading, it is no longer 'immutable'.

<comment><USER16> My thoughts as well. And if you one does accept the restrictions I'd hope they remove the performance penalties associated with binding everything so late so it can be swapped.

</comment></comment><comment><USER17> In theory it should be possible to run Erlang applications on OSv as well [0]. I saw some discussions around this earlier, but I am not sure what the current status is.

[0] [https://github.com/cloudius-systems/osv- apps/tree/master/erl...](https://github.com/cloudius-systems/osv- apps/tree/master/erlang)

</comment><comment><USER18> Russell Pavlicek had a pretty good high level talk on Unikernels at Linuxfest Northwest this year -[http://linuxfestnorthwest.org/2015/sessions/next- generation-...](http://linuxfestnorthwest.org/2015/sessions/next-generation- cloud-unleashing-power-unikernel)

<comment><USER3> Excellent abstract, but unable to view slides on a Mac. (ODP format not supported by keynote?)

<comment><USER19> LibreOffice.

Edit: you should be able to import it into your google drive, and view it there if you do not wish to install libreoffice.

</comment></comment></comment><comment> technolo-g Thanks for all the comments! Looking forward to reading them in depth and tuning up the ole' preso :) \-- Matt

Twitter: @mattbajor

<comment><USER20> Here is another one for your list: [https://boxfuse.com](https://boxfuse.com)

We launched Boxfuse last month with support for running JVM apps as unikernels on VirtualBox and AWS.

Here is a blog article from last week about deploying Dropwizard unikernels to EC2: [https://boxfuse.com/blog/dropwizard- aws.html](https://boxfuse.com/blog/dropwizard-aws.html)

Disclaimer: I'm the founder.

<comment><USER21> It is not a unikernel though, just a minimal Linux.

<comment><USER20> Boxfuse falls squarely into the "generalized" unikernel type mentioned in the presentation. You are only thinking of the "specialized" ones.

In a sense it follows the same principle as OSv, just with a proven Linux kernel instead of a custom one.

Update: Why the downvote? If you disagree, feel free to say why.

<comment><USER21> No it doesnt. And the presentation is not very accurate. Rump kernel is a proper unikernel (based on the proven NetBSD kernel) but actually running as a library operating system, in the same address space as the single application it is linked to. You compile and link the kernel library and application into a single elf file. OSv is a single address space too, it just tries to pretend to look more like a normal OS. I think Drawbridge is a proper unikernel too. So the examples in the slides are simply wrong.

PS no idea who downvoted you, there is really no point in mentioning it.

</comment></comment></comment></comment></comment><comment><USER22> I thought Erlang relied heavily on threads...how does that even work without as OS?

<comment><USER23> I was curious as well and Googled it. Apparently, the Erlang Runtime runs within a single OS thread and implements its own thread scheduler in user space. [http://stackoverflow.com/questions/605183/how-if-at-all- do-e...](http://stackoverflow.com/questions/605183/how-if-at-all-do-erlang- processes-map-to-kernel-threads)

<comment><USER24> Unikernels are very able to schedule threads to CPUs. Often, that scheduling is static. But, when your intent is to run a single process exclusively on the virtual machine, static scheduling is actually preferable.

</comment></comment></comment><comment><USER25> Is it me or is the wrong word being used (0.o)? See -- [http://en.wikipedia.org/wiki/Microkernel](http://en.wikipedia.org/wiki/Microkernel)

<comment><USER26> It is you. See [https://queue.acm.org/detail.cfm?id=2566628](https://queue.acm.org/detail.cfm?id=2566628)

</comment></comment><comment><USER27> This is pretty amazing. I really like to idea of using more Erlang for my projects and this would make the deployment to EC2 easier.

</comment><comment><USER28> Possible next step in this direction is to get rid of both Xen and unikernel by making a specified Java/Erlang VM that only has syscall-calling op-codes for network traffic and virtual disk I/O, while uses hardware virt goodies to secure execution of JITed code. (;

</comment><comment><USER29> > Linux is a black box to a lot of devs.

That's not a problem you should get rid of, devs _need_ to understand the underlying system.

> no shell == no shellshock

Only servers that needed the shell for some service exposed the issue, so this point is irrelevant.

> no libopenss = no heartbleed

no libopenssl = no ssl either.

</comment><comment><USER30> Sounds like unikernels are giving the traditional OS a lobotomy and leaving only the brain stem to handle basic functions.

</comment><comment><USER31> If you work on an unikernel how do you store data to disk? There is no filesystem, right?

<comment><USER32> GooFS is specifically mentioned.

</comment></comment><comment><USER33> Can the same be done for Node.js? What about PHP?

<comment><USER21> No one has tried Node.js yet as far as I know (possibly under OSv not sure). PHP, yes, is running as a unikernel, using a rump kernel.

<comment><USER33> Can you post some links?

<comment><USER21> [https://github.com/mato/rump-php](https://github.com/mato/rump-php)

[http://rumpkernel.org/](http://rumpkernel.org/)

[https://github.com/rumpkernel/wiki/wiki/Info:-Community](https://github.com/rumpkernel/wiki/wiki/Info:-Community)

Ask on the mailing list/irc if you need help... its still under development so not completetly obvious yet ;)

</comment></comment></comment></comment><comment><USER34> Am I the only one who can't find Part 2?

<comment><USER35> Part 2 was the live demo portion of the talk.

</comment></comment><comment><USER36> I wonder if this is how AppEngine was built.

</comment><comment><USER37> [http://wiki.xenproject.org/wiki/Unikernels](http://wiki.xenproject.org/wiki/Unikernels)

'nuff said.

<comment><USER37> OK, maybe not 'nuff said; this is a great paper on unikernels from last year:

Unikernels: Rise of the Virtual Library Operating System [https://queue.acm.org/detail.cfm?id=2566628](https://queue.acm.org/detail.cfm?id=2566628)

</comment></comment><comment><USER38> Off-topic: Anyone else found it difficult to navigate through the presentation?

</comment><comment><USER39> This website must be broken. It broke my browser's back button.

</comment><comment><USER40> I went in expecting to read a bit about unikernels. I got there and felt like I was playing The Legend of Zelda for NES. You know, the one with the golden cartridge.</comment>