(You watch this issue if you'd like to stay up to date on progress https://github.com/fission/fission/issues/24)
806 karma · joined November 2, 2010
Previous work: cohesion.dev, fission.io, filesystems at VMware.
Generally: interested in the systems of change in software and people.
Specifically: working on Dev AI at Stripe.
contact@soam.dev; no sales pitches please but I'm always interested in grabbing a coffee and talking about developer tools, infrastructure, or startups!
(You watch this issue if you'd like to stay up to date on progress https://github.com/fission/fission/issues/24)
About that 100msec overhead -- there's a bunch of optimizations yet to be done, and also we think we can reduce the median at the expense of tail latency; but for now 100msec is good enough performance for a good enough set of use cases (but of course we'd love to hear from people for whom it really doesn't work at all).
Also, we could add knobs that let you tune how long a function stays "warm", so you can tune the latency overhead vs. resource consumption trade-off.
> But with modern progress in fast-starting compiled languages like Go and Rust, I'd love to have some easy way to supply small static binaries instead of source code.
We're very interested in this use case. We're redesigning the function environment stuff right now to better support compiled languages, and allowing users to bypass the source-code level stuff is quite possible.
BTW, to be clear, for a compiled language Fission wouldn't compile source code at runtime; there would be separate build stage that would run when you add the function to fission. I'm also not sure why you say we pay interpreter startup overhead on every request (we don't).
It's hard to have a productive discussion in such a confrontational tone, especially when you don't really have all the facts. If you have questions about how to secure Kubernetes communication with etcd, feel free to ask!
BTW, you have "USA" and "United States" as two countries, might want to combine those.
1. Strip all metadata but provide downloads of originals somewhere
2. Keep it simple, just use imagemagick's convert to remove profiles (but don't use imagemagick for file type detection)
3. If the image has orientation exif tags, rotate the image to the right orientation (-auto-orient) before removing the exif profile.
4. Don't remove image profile data. Or convert to sRGB first.
Why does dumb-jump-go want me to save my files before jumping?
> Storage for applications deployed on Supergiant is allocated on high-availability arrays, however, it does not use Kubernetes' persistent volumes. Currently available on AWS, Supergiant uses Amazon's Elastic Block Store (EBS) so that volumes can move freely around the cluster.
Kubernetes has EBS support, right? What does Supergiant do better here?
It's totally okay to just talk to a developer about the problem and start sketching out your ideas, without necessarily knowing the specific tasks that you're going to assign.
The abstraction level of the tasks that you should assign will also come out of the level of discussion you're able to have with the person. Everyone has different abilities/amounts of domain knowledge/available time/etc., so there is never "One True Task List" for implementing something; it must depend on the developer.
Finally, it is deeply motivating for the person who's going to do the work to be an involved part of the planning discussion. It's important to anyone to have a certain amount of autonomy in their work, and making them be a part of planning is a great way to do that.
So if you're asking what you should do, the answer is: the exact opposite of whatever you're doing now.
If you inline a compiled C function, don't you have to do the stack switching for whatever that inlined function might call? Or do you only inline code that doesn't have any function calls?
p/x *foo@100http://www.libraryjournal.com/article/CA6649814.html?rssid=1...
You could use some sort of global or thread local variable to maintain the context, and then you wouldn't lose the instance scope, but then this code will not mix well with yield (and continuations and fibers etc.)
So then it looks like the only way to solve this problem really neatly is in a language that has macros.
(I made some attempts at this problem too, at https://github.com/soam/blox . It is slightly more complex than lispy; see for example https://github.com/soam/blox/tree/master/samples/webservice .)
Or how about the distribution of upvotes over comments under one post -- are upvotes more uniformly distributed?
Do the comments on the bestcomments list have greater or fewer upvotes on an average?
(That said, I'm no SSD expert, so I might be way off)
Though there are meta discussions once in a while on HN too, they tend to be more general in nature, not specific to a certain comment or post.
I think an active meta discussion community would help with continuous small corrections, and eventually improve people's opinions on what kind of comments are good or bad.