News for hackers. Stuff that matters.

bem

This post from fly.io [1] has a pretty comprehensive survey of the tech available for running users' code safely. It's a good read.

I've been investigating something similar for a feature I want to launch. I'm currently leaning towards running users' code in Kubernetes using Firecracker or gVisor.

My main takeaway has been that while there are good solutions for isolating users' code, there's going to be a lot of worked involved in orchestrating it at scale. I.e. building and storing images, spinning up containers, managing storage, tracking/billing minutes and bandwidth, killing timed-out containers, etc. I have not found a good library for that. It seems like a good use-case for a Kubernetes operator, so I think that's what I'll wind up building.

[1] https://fly.io/blog/sandboxing-and-workload-isolation/

The daily newsletter (/commentary) from Messari is a great way to stay casually updated on what's happening in crypto: https://messari.io/newsletter

If you're looking for something more technical, the Week in Ethereum newsletter is incredible: https://weekinethereumnews.com

For learning the basics, the docs on the Ethereum foundation website will get you a long way: https://ethereum.org/

One powerful way to deal with these problems is event sourcing. It's a reasonably elegant way to materialize a single application-specific cache based on many different data sources. Two great resources:

https://engineering.linkedin.com/distributed-systems/log-wha...

https://queue.acm.org/detail.cfm?id=3321612

Makes sense. Why do you think Google and Amazon didn't pursue that approach for services like Cloud Functions and Lambda? Is there a trade-off or is it a matter of complexity?
Re:My solo entrepreneur journey so far on Thursday April 29, 2021 @05:46AM (#26979136)
Makes sense – Google Sheets is a great tool. No problem!
Looks interesting! I’ve been looking at setting up gVisor to enable running users’ code. How does/will Kwarantine compare to gVisor?
Re:Ask HN: Who has best DevRel these days? on Wednesday April 28, 2021 @12:13PM (#26971034)
I personally love the vibes around Replit. Check out their Twitter as an example: https://twitter.com/replit
Re:My solo entrepreneur journey so far on Wednesday April 28, 2021 @05:29AM (#26967468)
Looks like a useful product! I think it's neat how you built it directly on Google Sheets. I'd love to hear more about why you made that decision (versus building an independent tool).

Some feedback on the landing page:

- Would be nice with a 2-3 minute demo video

- Put the screenshots (or demo video) closer to the top, so they're visible without scrolling

- Some of the copywriting could be clearer. For example: "Pre-built financial models for SaaS companies, with plug-and-play software built directly in Google Sheets" could be just "Financial models for SaaS companies, directly in Google Sheets"

Re:Ask HN: Suggest Some Books to Read on Wednesday April 28, 2021 @04:58AM (#26967245)
Last year I read Masters of Doom by David Kushner after someone mentioned it on Hacker News. It was the best book I had read in a long time. It won't improve your skills, but I think it will motivate and inspire you to immerse yourself (if we're talking programming, doing small projects and getting feedback is a better way to improve your skills anyway).

https://www.goodreads.com/book/show/222146.Masters_of_Doom

I think you could find some inspiration in cryptocurrency exchanges. Most of them expose public websockets for prices, order books, trades, etc. They're high volume with lots of subscribers.

For example, check out the docs for the Binance websockets (they use both snapshot and delta messages): https://github.com/binance/binance-spot-api-docs/blob/master...

If you could tell me a little more about the data format, data volumes, number of subscribers, and how you get the data on the backend, I can try to give you some more concrete advice.

If you like GraphQL and don't mind managed services:

- Fauna (http://fauna.com) or Hasura (https://hasura.io) for the backend

- Vercel (http://vercel.com) or Netlify (https://www.netlify.com) for the frontend and functions

Re:Poll: Do programmers care about FaceBook? on Monday March 26, 2012 @06:19AM (#3755944)
Facebook is one of few online services where programmers are not programmers. Alas, probably not worth it.
Re:Basic Patterns for Everyday Programming on Wednesday November 23, 2011 @10:37AM (#3270338)
Checking for null on every method call certainly sounds nuts to me. Furthermore I would argue that doing so decreases consistence in your program. For example, in Objective-C I can count on nil being returned every time I call a method on a nil object. The opposite is true for other languages. The point is, it renders me able to make certain assumptions about how my code will behave, and thereby reduces the amount of code and tests I have to write.

Now if the language you're using behaves opposite of your wish, you're either using the wrong language or doing things the wrong way.

Re:Blogging: The Hacker Way on Sunday November 20, 2011 @10:38AM (#3258287)
Certainly. Hopefully my post will help them judge whether they are part of that minority or not.
Re:Blogging: The Hacker Way on Sunday November 20, 2011 @10:22AM (#3258247)
Which is exactly why it goes on Hacker News. I would never in a lifetime recommend it to my mother.
Re:Blogging: The Hacker Way on Sunday November 20, 2011 @10:17AM (#3258241)
I guess I should elaborate on my statement about Wordpress because it came out wrong. I realize Wordpress is powerful, extremely powerful. What I meant was that this comes at an expense. This power means one has to deal with a very extensive API. This is great for someone who needs it (or knows it), but when building a personal site, dealing with an API requiring more than a couple of pages of documentation seems wrong (to me). Something like having to keep af functions.php with a 20+ sloc function to generate the current page title.

Obviously Wordpress does not suck, it is one of the most used blogging platforms. The feeling I got when tweaking it to do something different from the standard themes was that I was using a chainsaw to slice a loaf of bread. It was certainly powerful enough and it could certainly get the job done, but it wasn't easy and it wasn't elegant.

And here is an overview of the files in my custom wordpress theme: http://dl.dropbox.com/u/3240627/wordpress_folder_structure.p... :)