Ask HN: What startup/technology is on your 'to watch' list?
For me a couple of interesting technology products that help me in my day-to-day job
1. Hasura 2. Strapi 3. Forest Admin (super interesting although I cannot ever get it to connect to a hasura backend on Heroku ¯\_(ツ)_/¯ 4. Integromat 5. Appgyver
There are many others that I have my eye on such as NodeRed[6], but have yet to use. I do realise that these are all low-code related, however, I would be super interested in being made aware of cool other cool & upcoming tech that is making waves.
What's on your 'to watch' list?
[3]https://www.forestadmin.com/
700 comments
[ 2.8 ms ] story [ 343 ms ] threadhttps://workers.cloudflare.com/
2. Rust - definitely will be the next language I learn. Sadly the coronavirus cancelled a series of meetings in Michigan promising to give a gentle introduction to Rust.
https://www.rust-lang.org/learn
Excuse my ignorance & N00Bness, but are they essentially a Cloudfare version of AWS Lambdas, Google Cloud Functions and Netlify functions, or are they something different/better?
[0]: https://blog.cloudflare.com/cloud-computing-without-containe...
They have vastly more pops than Amazon, so global performance for these is on a different level. But they are also more limited in compute and serve a slightly different purpose.
postid:someid/text
postid:someid/author
etc.
the relation aspect doesnt daunts me. As long as I can have a list/collection as a value, i can define a working schema.
I am more worried about if its costlier than normal dbs. and if there are any other gotchas to keep in mind as kv workers have scant documentation.
You should also consider how you intend to backup the data as there currently isn't a process to do that outside of writing something yourself to periodically download the keys. This will add to your usage cost depending on what your strategy is, for example, backing up old keys that gets updated vs only new keys by keeping track of the cursor.
- I use imgix to manipulate images in my app, but some of my users don't want anyone to be able to discover (and steal) the source images. Imgix can't do this natively; all image manipulation instructions are in the URL. So I put a CF worker in front of imgix; my app encrypts the url, the worker decrypts it and proxies.
- A year ago, intercom.io didn't support permissions on their KB articles system. I like intercom's articles but (at the time) wanted to restrict them to actual customers. So I put a CF worker in front that gates based on a cookie set by my app.
These are both trivial, stateless 5-line scripts. I like that I can use CF workers to fundamentally change the behavior of hosted services I rely on. It's almost like being able to edit their code.
Of course, this only works for hosted services that work with custom domains.
Might be against their terms? I rem someone asked if they could treat Workers as a http reverse-proxy to essentially bypass restrictions, and the answer was "no".
Would it be possible to share these scripts? I would love to see them, they sound really helpful/useful
https://gist.github.com/stickfigure/af592b1ce7f888c5b8a4efbe...
Go was designed to be easy to use for un-demanding problems. People mostly switch to Go from Ruby, Python, or Java; or from C in places where C was an unfortunate choice to begin with.
Rust is gunning for C++ territory, in places where the greater expressiveness of C++ is not needed or, in cases, not welcome. They would like to displace C (and the world would be a better place if that happened) but people still using C at this late date will typically be the last to adopt Rust.
All these languages are Turing-complete. The difference is in how much work it is to design and write the program, and in whether it can satisfy performance needs.
C++ wins here by being more expressive, making it better able to implement libraries that can be used in all cases. Rust is less capable, but stronger than other mainstream languages.
"14. Connect Forest Admin to Hasura & Postgres"
http://hasura-forest-admin.surge.sh/#/?id=_14-connect-forest...
For Heroku specifically you need to make sure that the client attempting to connect does it over SSL, so set SSL mode if possible (many clients will do this by-default).
To get the connection string for pasting into Forest Admin config, run this:
That should give you a connection string you can copy + paste to access externally from Heroku: https://devcenter.heroku.com/articles/heroku-postgresql#exte...Glad you liked the post, I've been using Forest on both realworld SaaS platforms and small side-startups since early 2017. Really cool to watch how much you've evolved since then.
Also, Louis S. is amazing! I've sent two emails to you guys over the years, Louis answered both of them within a day.
Throwback to 2017 UI ;)
https://i.imgur.com/KT9Wtlx.png
See you soon!
Thanks for the heads up!
It's not even about gaming. Fuck gaming. It's about the underlying streaming technology.
Imagine this same tech being used by a surgeon to perform surgery remotely. That's the type of use case I'm thinking about!
Going to be interesting to see if they survive as the pace of JVM improvements has been rapidly increasing in the last year or so.
When I look at the landing page of vectorized.io it touts the speed repeatedly without mentioning this simplicity pitch you find deeper in the site:
Redpanda is a single binary you can scp to your servers and be done. We got rid of Zookeeper®, the JVM and garbage collection for a streamlined, predictable system.
That does sound great! Put that information right up front.
neat, don't think I've seen something like this before!
in addition, sometimes people don't know things that you know, and you would do well to keep that in mind: https://xkcd.com/1053/
Hell, I am a dev, and I still did not know that will let me create one quickly.
- user picks a cloud (or have a "Advanced" option on the next step instead)
- you show them OpenID/OAuth form for their cloud provider
- guide them through the creation of an account if necessary
- you get the token, that permits your server to create cloud resources on behalf of the user
- you go ahead and create their services for them
- potentially store the token to be able to update the apps automatically
I thought about that, when I was considering to make a similar service (also similar to sandstorm.io). Glad to see somebody doing something in that area (I guess without the permissions model yet).
Problem is: most clouds don't let you easily create an account, so "guide them through the creation of an account" might be impossible without leaving the browser.
I have been a Cloudron user for a bit of time. Recently I have launched a company and we're now a paying and very happy customer of Cloudron's business subscription.
It seems that the "next app suggestion" process have stalled. To me as an outsider of your internal process, I cannot see what applications are being preferred over others. There are tons of very good suggestions which are not receiving traction it seems, from the app suggestion-forum.
A few examples which Cloudron needs, and would benefit from having attracting more users:
- A Wireguard VPN frontend application
- Jupyter Notebooks Environment
- Odoo ERP Community edition
- Erpnext
Anyway ServerPilot then scrapped their free plan so I've been looking for an alternative. cloudron looks cool, I don't see anything specific to Node.js/Express, but it does have a LAMP stack which includes Apache, so I might try that. Otherwise I'll probably use something like CapRover [2], a self-hosted platform as a service.
[1] https://twitter.com/umaar/status/1256155563748139009
[2] https://caprover.com/
Are there features ServerPilot is missing that would justify the price more for you? Some examples might be monitoring, analytics, automated security patching, containerization of workloads, etc.
Would the plan be more appealing if the cost of the plan, the portal, and the VM hosting itself were all rolled into one? (i.e. you would just pay one company, rather than having to sign up for DO as well as ServerPilot).
2) Should be free when used in non-commercial applications. Multiple servers included.
3) Keep the common and already available typical configurations free: lamp, lemp, python, letsencrypt, email. Charge for things which no other panel free or otherwise typically supports. lightspeed, go, caddy, load balancing, sql replication, graphql, etc. Thats value.
http://dokku.viewdocs.io/dokku/
I'm pretty sure that's their whole point of existence.
It's interesting in a bunch of ways, and I think it might end up having a wider impact than anyone has really realized yet.
It's an ISA that looks set to be adopted in a pretty wide range of applications, web browsers, sandboxed and cross platform applications, embedded (into other programs) scripting, cryptocurrencies, and so on.
It looks like it's going to enable a wider variety of languages on the web, many more performant than the current ones. That's interesting on it's own, but not the main reason why I think the technology is interesting.
Both mobile devices, and crypto currencies, are places where hardware acceleration is a thing. If this is going to be a popular ISA in both of those, might we get chips whose native ISA is web assembly? Once we have hardware acceleration, do we see wasm chips running as CPUs someday in the not too distant future (CPU with an emphasis on Central)?
A lot of people seem excited about the potential for risc-v, and arm is gaining momentum against x86 to some extent, but to me wasm actually seems best placed to takeover as the dominant ISA.
Anyways, I doubt that thinking about this is going to have much direct impact on my life... this isn't something I feel any need to help along (or a change I feel the need to try and resist). It's just a technology that I think will be interesting to watch as the future unfolds.
One thing I haven't heard much about is the packaging of wasm runtimes. For example, instead of including all of the .net runtime as scripts that need to be downloaded, we could have canonical releases of major libraries pre-installed in our browsers, and could even have the browser have pre-warmed runtimes ready to execute, in theory. So if we wanted to have a really fast startup time for .net, my browser could transparently cache a runtime. Basically like CDN references to JS files, but for entire language runtimes.
This would obviate the need for browsers to natively support language runtimes. It's conceptually a way to get back to something like Flash or SilverLight but with a super simple fallback that doesn't require any plugin to be installed.
I'm cautiously optimistic about blazor, it definitely makes streaming data to the Dom much easier
People are already whining about JS bundle size and even the small .net runtimes are >60kb.
Yew on the other hand seems to fit right into what WebAssembly was made for.
It is the first time you can develop a full stack application (client and backend) in one language in one debugging session. For C# that was possible with Silverlight.
Small companies (like mine) that deliver applications and have full stack engineers can have some amazing productivity!
So for my needs I'm really excited with something like Blazor, and this was only the first release.
I just don't think it's a good idea in general.
That's a pretty big difference.
Also, a lot of computer use is via mobile these days and I doubt too many people are using the web interface on mobile for gmail.
And point about conversations moving to post-email protocols, but email is certainly still up there with HTTP as a bedrock standard that everyone eventually touches.
Without pushing JavaScript and a full featured web client, it's fair to say Google wouldn't have grown as quickly and be nearly as dominant today.
As for their move to full mobile app, I think it's a bit of a different calculation when you happen to own the OS that powers ~75% of all mobile phones [2]. ;)
Suffice to say, I don't think Google has the same troubles as other developers. (Exception to security policy, for my first party app? Sure!)
[1] https://www.statista.com/chart/17570/most-popular-email-clie...
[2] https://www.statista.com/topics/3778/mobile-operating-system...
I remember being really excited at the concept. Of /course/ we needed Java co-processors!
Web Assembly is one of the more misunderstood technologies in terms of it's real, practical application.
At its core, it crunches numbers, in limited memory space. So this can provide some 'performance enhancements' possibly for running some kinds of algorithms. It means you can also write those in C/C++, or port them. Autodesk does this for some online viewers. This is actually a surprisingly narrow area of application and it still comes with a lot of complexity.
WA is a black box with no access to anything and how useful really is that?
Most of an app is drawing 'stuff' on the screen, storage, networking, user event management, fonts, image, videos - that's literally what apps are. The notion of adding 'black box for calculating stuff more quickly' is a major afterthought.
At the end of the day, JS keeps improving quite a lot and does pretty well, it might make more sense to have a variation of this that can be even more optimized than building something ground up.
WASI - the standard WA interface is a neat project, but I feel it may come along with some serious security headaches. Once you 'break out of the black box' ... well ... it's no longer a 'black box'.
WA will be a perennially interesting technology and maybe the best example of something that looks obviously useful but in reality isn't really. WA actually serves as a really great Product Manager's instructional example to articulate 'what things actually create value and why'.
It will be interesting to see how far we get with WASI.
For 5 years we've been hearing about how great they are, except nobody is really using them.
So now, it's 'the next thing' that will make it great? Except that next thing isn't there, not agreed upon or implemented, we don't know so many things about it?
Like I say, this is textbook example of tech-hype for things probably not as valuable as they appear.
If (huge if) WASI were 'great, functional, widespread, smoothly integrated' - I do agree there's more potential. But that this will really happen is questionable, and that even if it does happen, it will be valuable, is questionable.
I remember the first Unity demos appearing on these orange pages at least 4 or 5 years ago, and promptly blowing me away. But, after an eternity in JavaScript years, I still dont know what the killer app is, technically or business wise. (Side note - I encourage people to prove me wrong, in fact I'd love to be! Thats whats so engaging about discussions here. I'd love to see examples of what WebAssembly makes possible that wouldn't exist without it.)
I use WebAssembly for a few cross-platform plugins. E.g. An AR 3D rendering engine in C++ and OpenGL. With very little effort it is working in browser. No bespoke code, same business logic, etc. Saved a lot of time vs creating a new renderer for our web app.
For me it allows a suite of curated plugins which work cross-platform. The web experience is nearly just as nice as the native mobile and desktop experience. This in turn increases market growth as more of my clients prefer web vs downloading an app (which is a large blocker for my users). I also enjoy the code reuse, maintainability, etc, :)
Another:
This year Max Factor (via Holition Beauty tech) won a Webby award for in-browser AI and AR. This was used to scan a users face, analyse their features, advise them on what make up, etc, would suit them, after which the user can try it on. This would have been impossible without WebAssembly.
This tech is also used by another makeup brands beauty advisors (via WebRTC) to call a customer and in real-time advise them on their make up look, etc.
Is this tech necessary? Probably not, but it is a lot nicer than having to go to a store. Especially when we are all in lockdown :)
1) https://www.holitionbeauty.com/
2) https://winners.webbyawards.com/?_ga=2.215422039.1334936414....
3) https://www.maxfactor.com/vmua/
I moved on from that a decade ago but it was a neat project at the time.
But I deployed my first integration of WASM about a month ago for PaperlessPost.com. It is a custom h264 video decoder that renders into a canvas that manages timing relative to other graphics layers over this video. This code works around a series of bugs we've found with the built in video player. It went smoothly enough that we are looking into a few other hot spots in our code that could also be improved with WASM.
One avenue for WASM might be simply polyfilling the features that are not consistently implemented across browsers.
Ten years ago I did the same but in Java and JOGL (before Apple banned OpenGL graphics within Java Applets embedded within a webpage). Was used for AR Watch try on within https://www.watchwarehouse.com and Ebay. The pain of Flash and Applets still wake me up at night.
I'm also building something very similar but with the ability for custom codecs (https://www.v-nova.com/ is very good). Probably the same issues too! Could I know more about your solution?
I think WebAssembly is more used than it appears, just difficult to see/tell.
A few years ago I actually tried integrating AR via WebAssembly with Amazon. We couldn't get the approval due to poor performance on Amazon fire devices (which have low end hardware). It is a shame but it is what it is.
What is disappointing/annoying is - as a CTO - it is near impossible to hire someone with WebAssembly skills. It requires an extra curious Engineer with a passion for native and web. Training is always important for a team but when going down the WebAssembly route you need to extra focused and invest more than what a typical Engineer would be allocated (E.g. Increase training from 1 day a week to 2-3). I suppose this may put people off?
I've been playing with WebAssembly lately and the moment where it clicked for me how powerful it was was building an in-browser crossword filler (https://crossword.paulbutler.org/). I didn't write a JS version for comparison, but a lot of the speed I got out of it was from doing zero memory allocation during the backtracking process. No matter how good JS optimization gets, that sort of control is out of the question.
I also think being able to target the browser from something other than JS is a big win. 4-5 years is a long time for JS, but not a long time for language tooling; I feel like we're just getting started here.
Obviously very serious chess players will still want to install a database and engine(s) on their own computer, but for casual players who just occasionally want to check what they should have done on move eleven to avoid losing their knight it's a game changer.
[1] https://lichess.org/analysis
If it's not, I'd be interested to see a speed and feature comparison between the two.
Example of WASM being used in a major product:
https://www.figma.com/blog/webassembly-cut-figmas-load-time-...
You can infer from this that it's making them 3x faster than anything a competitor can make, and probably inspired a lot of those 'Why is Figma so much more awesome than any comparable tool?' comments I remember reading on Twitter months back.
Even if it were, there is an extremely high bar to meet for actual new ISAs/cores. There is no chance for Wasm to compete with RISC-V, Arm or x86.
Imagine if the crowd didn't fall for the HODL hypers and called these things cryptolotteries or something like that -- they are a betting game after all -- how ridiculous would it look to include them in every discussion like this.
If you read about the Baseline protocol (EY, Microsoft, SAP etc building neutral interconnections between consortiums), ENS/IPFS, or digital identity systems you might find something that interests you and is more relevant than the mindless hodl ancaps. It's actually a pretty exciting field to be in as a computer scientist with almost no end of boundary pushing experiments and cryptographic primitives to play with and build on top of.
JITs may approach native performance in theory - but the battery consumption and memory consumption are not very good. ("Better than JS" is a low bar).
As hardware becomes stronger, I would like to do more with it, and when it comes to portable devices, I want more battery life. Nothing justifies compiling same code again and again, or downloading pages again and again like "web apps" shit.
I understand where developer productivity argument comes from. But we can have both efficiency and developer productivity - it is a problem with webshit-grade stacks that are used today that you can't have both.
I personally think flutter model is future. You need not strive for "build once - run anywhere". You can write once and build anywhere a cross platform HLL and that's better.
As for sandboxing, maybe it is that your OS sucks (I say this as linux user); Android / iOS have sandboxing with native code. You shouldn't need to waste energy and RAM for security. IMO enforcing W^X along with permission based sandboxing is better than webassembly bullshit that is pushed.
And webassembly itself seems to be a rudimentary project with over ambitious goals. JS bridge being so slow and not having GC support ("To be designed" state) make it unusable for many purpose. Outside HN echo chamber, not many web people want to write in rust or even C++.
Wasm is like the JVM or CLR in that regard. It's not the future - it's the past.
Without WebAssembly I wouldn't have been able to ship 2 products pro-bono within intensive care units and operating theatres directly helping with COVID.
I understand your dislike towards WebAssembly (albeit Web stack trends / flavour of the month esque development). I am not the largest fan of modern web development. Nevertheless love for WebAssembly is not due to developer productivity. After shipping 20+ WebAssembly products (alongside native counterparts) I am yet to meet an Engineer who enjoyed the WebAssembly/Emscripten/Blazor pipeline. However what WebAssembly has achieved for me is: Do people use your app? and within certain markets it allowed me to grow, do good, and say yes. This is the only real reason why someone should go down this route.
2. Bubble - no-code!
3. Stripe - already big but has the potential to be the next Google/FB/MSFT etc
tl;dr is: we provide the entire development stack for API integration on rails. If you've ever wanted to ship some quick webhook or API integration logic but have found Zapier too limiting but spinning up an entire dev stack overkill, Autocode fits cleanly in between both. In-browser IDE, API autocomplete, a drag-and-drop UI that generates code for you, version control, revision history, cloud hosting for your APIs. Takes a minute or two to ship a webhook from scratch.
Disclaimer: Am founder. Am also happy to hear questions, thoughts, anything!
[0] https://stdlib.com/
IMO golang and JS are both better technical fits (go for parallel concurrency and js for concurrency/V8/typed arrays/wasm), and we got close via Apache arrow libs, but will be a year or two more for them as a core supporter is needed and we had to stop the JS side after we wrote arrow. Python side is exploding so now just a matter of time.
RISC-V
Zig programming language
Nim programming language
(also some stuff mentioned by others, like WASM, Rust, Nix/NixOS)
Whoa... had to do a double take there.
Great to see luna seems to be alive yet again - now "enso lang" per github [i]. A git commit just days ago... so here's hoping! It is such a great concept.
[i] https://github.com/luna/ide
Essentially let’s you verify computation is accurate without doing the computation yourself, and even treating the computation as a black box so you don’t know what is computed. Many applications in privacy, but also for outsourced computation.
[1]https://filecoin.io/blog/participate-in-our-trusted-setup-ce...
[2] https://eprint.iacr.org/2018/046.pdf
Only started to become available last year in AWS' more expensive instance types. But hoping it will become more widespread.
Benchmarks with Spark result in real world performance improvements of 2-3x and SSDs will be much faster with PCIe4.0.
Hoping it trickles down for us normal people.
A tool for networked thought that has been an effective "Second Brain" for me.
I'm writing way more than ever through daily notes and the bi-directly linking of notes enables me to build smarter connections between notes and structure my thoughts in a way that helps me take more action and build stronger ideas over time.
[1]: https://vimeo.com/275530205
Of course, you could throw a bunch of scripts together to approximate these features — but you don’t have to, since Roam (and Obsidian and others) exists.
[0] http://notational.net
Now, I’m not a TW user, but I think things like block references, outliner features, and bi-directional linking aren’t there by default.
I feel that Obsidian’s values align more closely with the values of a general HN reader. For example, the files (Zettels?) are plain markdown files, so the portability is much higher than what is the case with Roam (which is online only, and your data is somewhere in a database in a proprietary format).
Another example would be the support for plugins, which are first-class citizens (although the API is yet undocumented) — many of the core features are implemented as plugins and can be turned off.
And there’s a Discord channel where you can discuss with the devs, which are very responsive — so much so that I’m surprised they can rollout new features so quickly (at least one feature update per week, from my limited experience with Obsidian).
(Not affiliated in any way, just a happy user)
[1]: https://obsidian.md/
https://tailscale.com/
https://portal.cloud/app/subspace
(I prefer device-based zerotier-style access rather than login-based tailscale-style so that does sway me to zerotier...but I have to admit tailscale looks more polished, e.g. the screenshot of seeing other devices on the network. I get it's not a fundamental feature! But I can't help but appreciate it)
The pulldown showing other devices on a network does look spiffy but that wont scale. We have users with thousands of devices on a virtual LAN and the protocol will scale far larger. Not only will that not fit in a menu but any system that relies on a master list will fall down. That list and refreshing it will get huge.
We are doing the tech first, spiff second.
I think the website could do a better job showcasing how it's used.
Hope my feedback is helpful and wish all the best!
It's kind of hard to explain ZeroTier sometimes. Its so simple (to the user) people have a hard time getting it.
"You just make a network and connect stuff." Huh?
People have been conditioned to think networking is hard because 90% of networking software is crap.
You make networks, add stuff to them, and any protocol you want just works: games, ssh, sftp, http, drive mounts (though they can be slow over the Internet), video chat, VoIP, even stuff like BGP or old protocols like IPX work.
The MiSTer FPGA-based hardware platform.
RISC-V is gonna change everything. Yeah, RISC-V is good.
inference AI (signed up for the Google Alpha, but also looking at Elastic)
Sleep research as a generality