what do you like about it? (disclaimer, i work at temporal, but just genuinely interested in how you'd describe it in your words, good or bad lets hear it)
I may be able to answer your question. I only watched the video on the landing page and glanced at the docs, but it reminds me of what a saga system would do (like redux-saga perhaps), meaning that much of the side effects, such as networking, are abstracted away from the business logic, and there is the concept of compensation when things don't go as planned. Very neat!
yeah, "saga for the backend" is an appealing angle to some folks (eg our Coinbase testimonial has that) but i'm not sure how many developers know about sagas so I've been hesitant to push that too hard (bc then we'd have to teach people an extra concept before they get to us).
i'd say something that is maybe hard to appreciate until you really get into it is just how much goes into making this ultra scalable with distributed transactions. If you have ~20 mins for it, I wrote this up recently: https://docs.temporal.io/blog/workflow-engine-principles
Not hard at all to appreciate. I know the consistency woes of juggling thousands of message queues with millions of messages and containers with enormous databases. The problem though, as I found out ironically, is that most dilbert bosses don't appreciate solutions like temporal, unless a tech "guru" tells them about it. For example, I get laughed at when I tell other developers that databases are an antiquated idea and should be avoided in general.
What I've been working on in recent years is actually not too far off in terms of how to approach making truly simple code, but is far off in the sense that it'll take me (alone) years to make a pragmatic implementation, probably as a language in its own right. Rather than attempt to make a system partition tolerant I started thinking what if network partitions were assumed as the default? To answer that question you have to do things like measure the information entropy of data, use knot theory, representation theory such as young lattices, symmetric group mapping, character groups, prime number theory, among other goodies, to represent event-states, workflows, etc. Most of all (this is where things get weird) is rather than code programs, the emphasis becomes how to easily declaratively code and build "homotopic" multiplexed protocols instead (while keeping the business logic familiar), that way SDKs and integrations are a thing of the past. All this has of course has to use existing web standards like HTTP, otherwise it won't be adopted. My friend always laughs at me when I try to explain it to him, so I apologize, ha. But that's all the more reason to appreciate technology like temporal because it's something a developer can use today.
I would say that it allows one to write statefu, long lasting workflows or processes in a durable and persistent way using all the niceties of regular programming languages such as Go/Java, like control structures, abstraction, etc. In a similar way that generators in Python/JS allow one to write even complicated iterators much more easily than manually keeping track of state yourself, Temporal allows one to easily define long-lived stateful processes (on order of years even) with the simplicity of roughly:
...which would normally require one to manually keep track of state in queues and key-value stores and idempotent updates, but with temporal the developer can just focus on the simple business rules. The runtime of Temporal takes care of compiling that down into proper state-machine logic.
yeah nice, exactly. i like calling Temporal a "framework" for that reason - you'd have to code + provision all this stuff anyway if you're doing anything async, and you're probably not testing it properly/thinking through scalability needs or lacking debugging tools to investigate issues.
i think `Thread.sleep(1, MONTH);` is a profound paradigm change in programming that I have been struggling to find the words to describe. It's like, where you used to need to write "multiuser" code, you can now write code as if you simply have one machine per user and it idled or did work as long as your user's activity is still going, whether we're talking the end-to-end journey of a food delivery startup or machine learning data pipelines or infrastructure provisioning at a cloud startup (you can even run a workflow for forever, with some careful segmentation https://docs.temporal.io/docs/concept-workflows#faq).
this is useful market research for us, thank you for taking up the suggestion :)
I recently came across Polymarket[1] and am really excited about what crypto has in store for prediction markets and insurance. I've dabbled in prediction markets over the years. I think they have a lot of promise but execution is always an issue. Using ETH to create a two-sided marketplace feels much better than having prediction markets decide what one can bet on.
More broadly, decentralizing insurance in this way would be very cool too... There's little difference, in my mind, between a prediction market predicting weather changes or elections, and insurance contracts around risk.
... and what's even cooler is: can we build bots and models to actually get an edge on these predictions? Imagine applying HFT strategies from stocks to predicting real-world events... Now it sounds like we can actually get good at forecasting difficult-to-predict human events, rather than just stock prices.
When I played with Augur, the community was very quiet and not a lot was going on. That was a big challenge for me. I also didn't like that you had to use their crypto to actually participate -- in Polymarket's case, I understand that they are using ETH smart contracts.
There are definitely a few players in this space and I'm excited to see where it goes.
Is there really? I worked at Intrade when I was in college. It was messy internally but a great concept. Pity the US Gov smashed it. It had a lot of potential.
What is Polymarket doing in the insurance space? Didn't see anything along those lines on their site. I've previously encountered https://etherisc.com in passing, but it's not clear that they have a plan to address the hard parts, particularly leverage/capitalization. I'll also mention/disclose that my current employer, https://ledgerinvesting.com, is doing some cool stuff in the direction of decentralized insurance.
They focus only on prediction markets. I just meant that insurance and prediction markets are two sides of the same coin. Thanks for sharing those links though -- I will check them out.
https://paddle.com - it's like Stripe, but their "Reseller of record" means that they handle all sales tax / VAT issues. For most SaaS businesses it seems to reduce headaches a lot.
I’m a customer, and it handles a lot of headaches for accounting. Basically you have 1 client - paddle, as far as the law is concerned. Plus has an easy checkout feature that’s inline for collecting payment info that never touches your server, no headaches securing that info.
Can you share an approximate percentage they take from a transaction for offering that service? Their pricing information seems to be hidden behind an email form.
Former Paddle customer, don't believe the hype. Everything is duct tape and half assed with the API, the checkout process is happy path or bust, and you're going to have a hard time migrating to a different processor.
Stripe + TaxJar was cheaper and easier to implement and maintain.
Another former Paddle customer: I agree with Mike here. Additionally, issuing anything other than the most trivial coupon was a huge hassle, to the point that it distracted from other work (small team).
Not sure if I'm missing something, but there have been companies operating the same way for decades, such as FastSpring. These existing companies all charge a pretty penny though - is Paddle different in that regard?
Narrowband IoT data service. Very low power, low bandwidth, cheap, with increasingly great coverage. It’s like an offshoot of LTE but classified as a 5G technology for massive numbers of low power internet connected devices.
I am really surprised this isn't already more of a 'thing'.
When I did my postgrad research project, back in 2016, I was using LoRaWAN and thought it was so obviously going to be huge in e.g. AgriTech. Surprised not that much has happened with it tbh.
Cheap LoRa chips are finally hitting the market for long enough that ecosystems can grow around them. As an example, for Radio Control vehicles (planes, drones, cars) there have been 3 different systems released over the past year or so, and now an open source system called ExpressLRS which is gaining traction.
I have to admit, the idea of a run-of-the-mill security-hole-ridden IoT device being exposed to the bare internet over a wireless connection that's out of my control gives me the heebie-jeebies... and that's ignoring the possibilities for malicious use (e.g. using a low powered wireless connection for uncontrollable surveillance/data collection).
The operators would argue this is where their "managed service" offering kicks in and gives you value.
Most operators haven't figured out their business model for NB-IoT quite yet (at least in Europe) - they're still dabbling. Some seem likely to try pair it with enterprise "private APN" type solutions. Under such a setup, you can actually get quite an interesting system in place - the operator locks the SIM to a custom APN, and that APN only allows comms to a managed, operator-provided IoT backend.
Then the operator's enterprise services team turns that into dashboards and other things the customer can use and access. In a sense, they're using "extra slack capacity" on their FDD cellular networks (as an NB-IoT carrier is only 200 kHz wide and can sit inside or adjacent to a regular 4G or 5G carrier), and delivering higher margin managed enterprise services.
Some other comments point out the potential to use LoRa - indeed, although if you can use LoRa, you probably aren't the target market for NB-IoT. If you want to deploy 50 million smart meters, a nationwide existing network and managed service from the operator starts to get appealing, as does them handling security, isolating the devices onto a private APN, and helping you update devices in the field.
If you are using LoRa, you need to handle this and deploy the infrastructure. To date though, I've seen lots of "unmanaged" NB-IoT testing taking place, but not a whole lot of the "full service managed offering".
Otherwise I would agree entirely with your point about connecting modern IoT devices to the internet, but in this case I think it will end up for enterprise type deployments where they're restricting that for you.
I've implemented some use-cases for t-mobile, they basically peddle our products as a whitelabel solution to municipalities. One of my biggest beef with nbIoT is that 90% of all the use-cases I designed would have been better of using LoRaWAN instead. The reason why nbIoT is chosen is obviously that it provides the operator recurring revenue via a data-SIM but apart from costs there are other massive drawbacks such as energy draw of an nbIoT enabled sensor when compared to LoRa.
nbIoT is justified if I know that the data volume of my "solution" might increase due to feature/scope creep (and replacing the battery/sensor isn't going to become an annoyance in 2-3 years at end of life).
For most use-case LoRaWAN makes more sense but doesn't have the same marketing budget that is available to T-mobile, Vodafone and Co.
I work adjacent to this space and LoRa is great (really great, the specs look impossible on paper) but everyone has been peddling proprietary cloud-based SaaS solutions that come and go every year, for about a decade now. For non-cloud/SaaS solutions, nothing seemed to be able to compete against the branding of wifi and bluetooth. I think this is the main reason it didn't take off. 802.11ah looked like it was going to finally become a good option, with wifi branding, but it somehow was never really released into the market.
It’s queriable like a database but it doesn’t store your data - it proxies all your other databases and data lakes and stuff, and let’s you join between them.
Trino is the community-open-source fork of Presto (they were recently required to change the name from PrestoSQL, which they had been using to make the Presto lineage clear).
I'm not too deep into the data side of things, but this is interesting to think about.
Aren't stuff like data lakes and warehouses supposed to address the need for a centralized datastore?
Outside of perhaps an easy-to-apply interface, what benefit would a data hub provide over just streaming duplicates from all of your databases into a single data lake like Snowflake?
Want to cross ref the erp database with that stuff team x has in a lake and join with what team z has in a dwh? You don’t need pipelines and jobs and working out where to store that data... you just need a hub! And you can query it ad hoc too.
We used to have to copy and shuffle data into centralized systems so we can query and join it.
Data hubs do away with all that. Stop needing to think about storage. Instead, it’s just about access.
There have always been fringe tools, eg I once did some cool stuff with MySQL spider engine. But modern systems like Trino (formerly called Presto) make it easy. And, I predict, will hit the mainstream soon.
Advances in computational chemistry and computational materials science. Specially using ML to speed up computation. Computational chemistry is already patchwork of different heuristic approaches. Graph neural networks and even some language models seem very promising addition.
If we could simulate and observe what happens with complex chemistry accurately, it would completely change the biology, medicine and materials science.
>If we could simulate and observe what happens with complex chemistry accurately
There is the rub. Biological simulations have been written for 40 years now. It's an extremely difficult problem considering how many latent variables are at play, and people have been working on it for a very long time now.
A lot of my work revolves around human physiology. I think a lot of that will be improved with very accurate, high resolution, and continuous sensors. When that happens (with BioMEMS of course for most cases), AI will be able to fill in a gap, in a lot of various applications.
In the early 2010s, I was an undergraduate electrical engineering student with type 1 diabetes playing around with such models by reprogramming stuff that had been presented in peer-reviewed journal articles. I eventually programmed a closed loop control system (also known as "Artificial Pancreas System") as a spring break project to inform my insulin dosages. Mostly, it was a soul-searching project as engineering school was physically enduring for me, as I have serious health problems. I had found a paper about a sliding mode control with respect to type 1 diabetes that looked solvable to me, but I did not know if it was actually solvable. I decided to see what I could do with it, and I was successful, in 2011 and barely old enough to legally drink!
Anyways, I can assure you that while research on control systems is drying up, including for physiological systems, that the excitement is just about to begin for what you mention, starting in about 5 years.
> If we could simulate and observe what happens with complex chemistry accurately, it would completely change the biology, medicine and materials science.
The rate-limiting steps in drug discovery is in figuring out a) what you need to muck up to improve health or b) how to muck it up without mucking up other things badly enough to kill you. Computational chemistry has generally focused more on solving problems c) how to muck up this target more effectively or d) how to make the mucker-upper in the first place, which, while not useless, is not going to be a revolutionary change by any stretch of the imagination.
I have a relative who is a PhD chemist who I talked to about some of this stuff. He is generally skeptical of it because "the interesting chemicals are the ones that have extreme properties and predicting extreme properties is hard". It's a lot easier to model normal behavior than unusual behavior. He wasn't totally against the idea, he just thought it would be much harder than many people assume.
The GraphBLAS[1] is an amazing API and mathematical framework for building parallel graph algorithms using sparse matrix multiplication in the language of Linear Algebra.
There are Python and and MATLAB bindings, in fact MATLAB 2021a now uses SuiteSparse:GraphBLAS for sparse matrix multiplication (A*B) built-in.
I am working on GraphBLAS-based implementations right now. While the API itself is great, using it full-time I notice documentation is still quite behind and still not too many features. Also there is almost no community outside academia. Crazy efficient though, and very solid overall
I think Bitcoin is genuinely exciting. I know it's not exactly "under-the-radar", but a lot of the discussion on HN is unfortunately only related to the price. It's a bit of a shame, but I can understand it's hard to see through the noise sometimes.
The fact that there isn't more discussion around the cryptography, networking, etc. suggests to me that many are still unfamiliar with the power of the underlying technology.
Don't get too distracted by the shiny. The ethereum ecosystem is a train wreck. What we see today is the reinvention of the same of scum tricks that Wall Street has played on the people for decades. More printing of funny money, tricks on yield, relending and rehypothication.
Its is unscalable, and PoS is a insecure trick. I don't think the value proposition of ether can exist in a PoS world.
I also think some elements are interesting, but I am far more excited about bitcoin!
Bitcoin cannot be inflated, takes mass energy to create it (this is good thing!), censorship resistant and not under any kind of central control.
As long as we are careful, this technology can be scaled responsibly.
How is it working exactly ? Since it is a change in the algorithm, could it be put on a GPU to go even faster afterwards, or is it too sequential for that ?
The same algorithm can put on GPU, it works by approximating non-linear activation of a layer by storing which neuron get activated for a certain activation and then only calculate those neurons for similar input. This costs a lot of memory.
This involves traversing a hash table but that is possible efficiently on GPU.
This entire paper is entire publication is a red herring for the reason you gave.
If you (or anybody else) happens to be a graphics programmer with experience of implementing the bounding-box tree traversal common in CUDA implementations of ray tracing please get in touch with me as there as a good chance an rusty old 1080 can defeat most expensive xeon on the market since it has more memory bandwidth than Intels part. If you ever wanted to piss on Intels leg with a multiple week-end project please get in touch. email in profile. There is a slim chance that this will actually help deep learning.
Homomorphic encryption, which enables you to process data without decrypting it. Would solve privacy / data security issues around sending data to be processed in the cloud
The fact that wallet IDs are visible in the blockchain breaks it completely for me. I do NOT want an immortal record of every penny I spent and to whom I gave it. Fuuuuuuuck that. Today I have a choice, but with many cryptocurrencices (ETH, BTC) that is a "feature" not a "bug".
Monero and Ravencoin have transparent and shielded entries. I believe the node is encrypted with an ECDH shared secret, so the payer and the payee know each other's wallets, but no one else does.
yes, i did mean that. also pegging it to a real currency, like USDCoin. I have not heard of Mimblewimble. Thanks for the reference, I'll add it to my list of coins to study.
The extra cost is worrying. You're talking at 4 to 6 orders of magnitude increase in resource usage for the same computation.
Unless we figure out some awesome hardware acceleration for it, it's not practical but for a few niche applications.
It also has the problem that you can use computation results to derive the data, if you have enough control over the computation (e.g. a reporting application that allows aggregate reports).
Modern homomorphic encryption schemes only have a ~100x performance hit. That sounds bad, until you remember that computers are really fast and spend the majority of time doing nothing, and that the difference between writing a program in Python or C is already something like 10x.
> Modern homomorphic encryption schemes only have a ~100x performance hit.
Really?! Now I'm curious. If I have a simple program for an 8-bit CPU @ 1 MHz, when can I run this program on a virtual machine using homomorphic encryption, under a reasonable runtime? Is it possible yet? If the performance hit is only 100x, the runtime should not be much longer than the actual chip. But the last time I checked, the hypothetical runtime seems to be still impractical.
- do fast operations, with a limit on how many you can do. This is called Leveled Homomorphic Encryption, with CKKS being the most popular scheme. Microsoft open sourced a lib called Seal for it.
- do unlimited operations, but with extra overhead. This is called Fully Homomorphic Encryption, with TFHE being the fastest implementation. My company Zama has open sourced an library in Rust called Concrete.
Reminds me a lot of deep learning in 2010, just before it took off!
I'm not sure this is exactly under the radar but I'm excited about wearable AR. No it doesn't look real but once you get past that we have some amazing tech on the horizon.
Microsoft and Oculus have hands free controls that actually work. Inside out tracking is progressing quickly. New UX patterns are getting forged.
I'm exited to see what we'll have in a few years time. In my mind its far more exciting than something like crypto but gets much less press.
The Quest2 packs a ton of power into a very comfortable headset. While not designed for passthrough, its still quite functional.
The Hololens opens up an entirely new UX flow with accurate enough hand tracking and the ability to keep your hands free to operate a keyboard or any other kind of device.
Uncertainty quantification and OOD detection in machine learning. It's on some people's radar, but has the potential to get ML adopted much more widely as people understand what it is actually really good at, and stop giving it things to do that it's bad at.
For a great recent example that get at some of this, see "Does Your Dermatology Classifier Know What It Doesn't Know? Detecting the Long-Tail of Unseen Conditions" - https://arxiv.org/abs/2104.03829
I'm not affiliated with this work but I am building a company in this area (because I'm excited). Company is in my profile.
Developments in the AR/VR space. The haptics stuff coming out is really cool and may be consumer friendly in the near future. Meanwhile headset tech is seeing major investment and light field technology is going to do amazing things for this space.
I have a Valve Index. It is the most mind blowing thing to me. I’m really excited for AR to get going. I’ve only seen it for shopping (see what item x would look like in your house). I think it might be cool for collaboration.
The Oculus Quest 2 is so cheap for a very high quality and high resolution experience. And even more importantly, it’s extremely simple to setup.
Wireless VR really is a necessity for it to become more than just a tiny niche.
Not yet mainstream, but it’s actually a joy to use and I think we’ll have significant marginal improvements over time which will keep making it more and more worthwhile.
I think the real thing will be commercial applications of VR, where companies use it because it’s the best way to get certain kinds of work done. And NOT desk work, either. We’re maybe a decade or two from that being mainstream, but it’s going to be a significant improvement.
I work full time in VR, using virtual screens (ImmersedVR). I was never really all that excited about AR/VR outside of entertainment until the first time I accidentally spent 8 hours of focused work.
Same here. IPFS seems to have been lumped into the whole "crypto" scene because of filecoin. In my opinion, IPFS is much more interesting and potentially beneficial to individual freedom than crypto. The problem is the only people really talking about it are people focused on crypto, also forcing dapp conversations to focus on quick money vs. long term usability/functionality. I don't hold the money conversations against anyone...just not interested in that side of it. More interested in the preservation of knowledge long term and how/if that gets built. IPFS seems to be an interesting potential step towards those goals.
There's still a bunch of questions around filecoin, but if you set aside the token and speculative nature, the it's the first realistic proof of storage system and represents (1) a departure from proof of work that's sucking up the power output of several countries for no good reason,
(2) a useful base for IPFS to store its bits persistently
and (3) perhaps funding Protocol Labs so they can continue to advance this state of art.
I keep seeing this pop up, but honestly I still don't get it. I'm also weirded out by the filecoin aspect of it. Could you maybe explain it better for the dumb folks like me?
Think of it as a distributed filesystem with content addressable by hash values. If you want to publish some content instead of posting a torrent file and seeding it, you can announce the content on IPFS to your IPFS peers. Anyone else can now find it by hash (or by name if you use IPNS). If anyone else downloads it, like with a torrent, they'll begin sharing it back out creating redundancy and, potentially, reducing access time for others as more people are sharing it out (imagine you're on a 10Mbps network connection and the only one sharing it versus having 100 others sharing it out, even if they're also all on 10Mbps connections it will be faster). Content can be "pinned" which ensures it remains on your IPFS node, if it's unpinned anything you download will eventually disappear (basically an LRU cache). So if you download the entire run of Dungeon Magazine but don't pin it, it will disappear if you continue downloading content via IPFS when the cache you've set aside for IPFS fills up (eventually). But if you pin it, the content will remain hosted by your node indefinitely, even if no one ever accesses it or pins it again and the original disappears.
Filecoin is a separate thing (mostly), and can (kind of) be thought of as pinning-as-a-service. It's built on a private IPFS network, not the main public one most people use or are directed to. So it's using IPFS, but it is not IPFS.
Is there a client that I can run and point at an existing file structure to make it all available on via IPFS? Perhaps with limiting on outgoing bandwidth?
Played around with it a few weeks ago. It was super easy to get going with it. I just dunno what benefits it gives over traditional storage? besides the classic crypto, "censorship resistant".
(Also hello HN, this is the first time I've posted anything :p )
I agree with you. And we also need technology like dApps that don't cost when running it by opcodes -with its vm, but use hourly pricing like cloud based hosting, so it will run your software deliberately without throw decentralized capabilities and it will enable decentralized economy to the mass.
Could you expand on what you mean by a variation of Signal? To me, Signal’s main feature is just that it’s a reliable E2E encrypted messaging app, implying two ends to communication. A blog post interface implies one-to-anyone communication, so I’m confused what part of Signal you want to emulate.
I am aiming for a decentralised-FB like experience on Signal. And I honestly think it is feasible.
On FB, you tag a post with intended recipients(default:All "Friends"), people log in and get fed these posts with FB fiddling along the way.
Signal with a redesigned UX could show a doom scroll of posts that friends send you. Not that I think this is great, but user adoption for familiarity.
Signal E2E delivers the message, the new UX displays the posts. You apply heuristics as you want, all without ads or data gathering by a MITM.
But... public posting is a thing. I am hoping that IPFS combined with cryptographic signing for authentication, could fill that role.
Hence my comment that IPFS could hopefully lead to democratization. Although, I am also concerned that IPFS will also lead to "undeletable" content, but that seems to be almost a thing anyway.
Scuttlebutt is the software you're looking for. Check out the patchwork client. Posts are public by default but you can make them encrypted so only your friends can read them.
There's also cabal chat which is based on the same underlying technology but is chat focused rather than Facebook like.
I'm really excited, to the point of distraction by the RISC-V ISA.
Some people say that there's nothing new in it, but to my mind, they're missing the point : the Berkeley Four took what couldn't be appropriated for profit, and built a statement about what computing is... They revealed the Wizard of Oz to everyone, so that anyone with some computing background can build a processor, freely.
And now this freed wizard is working his magic, and will change the computing landscape irrevocably.
You do realize that RISC-V processors aren't free right? Making an open source ISA is no small feat, but all they really did was help save some megacorporations a little extra money.
Perhaps it will lead to a processor startup, but follow that to its logical conclusion: it takes a huge, profitable company to sustain processor delivery for years. There's a very good reason why only a handful of companies make the top 6 CPU architectures. There's still Synopsys ARC, Renesas, Atmel, PIC just to name a few of RISC-V competitors.
In reality, the Berkeley Four just made a handful of semi companies richer. WDC, NXP, NVIDIA, Microchip, etc. don't have to pay Arm for IP if they use RISC-V. Did that really help anything? Meh.
Sure, RISC-V designs can be open or not... And of course there's always the cost of fabbing.
There're already designs freely available to use though, either as they are, or to build upon.
And there are also now many other companies designing using the ISA; decentralising the production of chips.
But - over and above the revolutionary economics of it - it's being recognised as a good ISA, and RISC-V cores are already being incorporated into consumer electronics.
You could argue that the availability of Linux saved countless megacorporations from having to pay Microsoft, IBM, or Sun. Yet the availability of Linux has been a boon to people across the board.
While I agree there is something not right about cutting into ARM’s profits for the benefit of megacorporations, I think that a royalty-free ISA might genuinely be good for civilization despite that in the same way Linux is. It’s tough though, I’m still not fully sold on that opinion.
I hear what you are saying, and that is a good point, and I do agree with the: "Why isn't there an open ISA?"
I think the key difference with an OS like Linux and an ISA like RISC-V is that Linux helped literally millions of smart, curious kids get exposed to Unix and tinkering in a OS that wasn't a locked down behemoth: Windows. It changed lives. I don't think it is an exaggeration to overstate the democrization Linux had.
However, I don't see RISC-V touching the world in an analogous way. No kid is gonna tinker with an ISA and fab a CPU. Maybe they will stick it on an FPGA? But it seems less accessible.
Plus RISC-V's biggest propopent, Patterson, isn't really giving the world anything like Linus Torvald did. Linus busted his butt (and still does!) whereas Patterson flies around getting big speaker fees to pump up RISC-V while delegating. Just seems a bit... off? Or its just me.
You raise good points. Linus is a one in a million person... At the same time I do think kids, hobbiests, small startups, and people who can’t afford expensive computers will make use of RISCV on commoditized programmable logic chips like FPGAs. Look at projects like MiSTer, simply not something that was available for hobbiests and free culture advocates 20 years ago. I can see a similar development happening in the computer space. Actually I’m surprised homebrew computers architected around an FPGA haven’t yet become more popular. Maybe as the popularity of RISCV grows we’ll see more of that. Would be great to see a project that implements a risc-v based computer on a de10-nano board as a starting point.
I spent most of my career is a microarchitect at Intel in the late 80's till mid-90's on 486 & Pentium and then again in the late 2000's on Xeon. So the idea of tinkering with an ISA is something that gives me the cold-sweats today! It's a wee bit more complicated than hacking the RTL/VHDL, but I am not saying curious kids should not have the chance to have a go at it! RISC-V is more akin to if I handed a kid a Boeing 747 and said, hey, go nuts! :)
However, I taught programming in an afterschool program in the mid-80's and the Apple //e had an amazing graphical program that stepped through an assembly program, showing the data moving through the busses from register to memory, etc. And it was instrumental to kids learning. There's a few more wires in a 32-bit RISC compared to an 8-bit 6502, but someone will benefit!
Interesting perspective. It’s true the jump from 8-bit to 32-bit architectures involved a lot more than just increasing the data bus width, it came with advances in processor architecture so I understand where you are coming from. That said, I think the hobbiest community will find a happy medium in terms of complexity / hackability. Establishing a base platform seems to me the most important first step.
> "At the same time I do think kids, hobbiests, small startups, and people who can’t afford expensive computers will make use of RISCV on commoditized programmable logic chips like FPGAs."
No, they won't. By definition, FPGAs always give you less performance per dollar than custom silicon. If they can't afford an expensive computer, then FPGAs and the tooling to use them is even more out of reach by a long way.
By the working analogy here, Linux is also at a disadvantage because it doesn’t run the majority of commercially supported consumer software yet many people still use it. It has shown that people are willing to choose free options even if it’s technically less advanced than closed options. A fully featured de10-nano board costs ~$150 [1] so it’s readily accessible, at least in comparison to desktop pcs.
Steam's system survey shows Linux desktop usage at ~0.85% and general consumer surveys show less than 3% usage even after thirty years of development and that is in spite the fact that it costs nothing. Moreover, a $45 Raspberry Pi 4 costing a third as much will have vastly better performance as a desktop than any logic it's possible to fit on the DE10 board costing $150 that was mentioned. The examples provided therefore demonstrate the exact opposite of the points you are trying to make.
<=1% usage does not contradict any of the points I made. I never claimed >1% of people would make the freedom over convenience trade off, just that there exists people who would and it would be important to them.
I don’t see anywhere near 1% of people running a RISC-V softcore based computer on a de10-nano board but I would and many other hackers like me would.
To be fair, interest around ISAs has never been so high. Now RISC-V workshops ("build your own core") are kind of everywhere, from Udemy to most universities, some of which are even targeted at teenagers.
The resulting RISC-V cores are mostly emulated, but are expanding knowledge of FPGAs immensely as a side effect.
There are so many hardware hackers and makers these days, such as Hackster.io [0], that they are transforming the world around us. We need more of them and RISC-V is well positioned in this space.
I think you're underestimating the amount of curious kids who are more on the electrical engineering side of things. Who, sure, probably won't get to play with a CPU fab line, but then again that's somewhat like sending kernel contributions is to "tinkering with Linux".
It really is a just question of any level of hobbyist-accessibility (think photo-etching 2 PCBs of less sophistication vs. making a run of 100 perfect 3-layered PCBs in a factory) - and I've seen quite a lot of projects popping up around FPGAs lately that seem to indicate they're starting to approach the Arduino-ish level of approachability (though it's still obviously very far).
RISC-V just might be one of the things on the way to a whole "sillicon-tinkering" scene, so I'm pretty hopeful.
A generation ago, their forerunners - Acorn - were happy to take, use and make a profit from the work of American universities, yet when Berkeley asked to be able to use Arm's ISA for research purposes, they got short shrift.
So Berkeley cobbling together a next-generation RISC ISA, and Foundation-ing it out of reach of the same thing happening again, is smart retribution.
Can I run Linux on it ? I almost feel like being able to completely rebuilt computer technology from raw materials should be encased in a book somewhere. Hypothetically if we dropped you and 100 other engineers in the woods with metal working equipment could you get something resembling a computer working in 5 years ? Or in this post-apocalyptic landscape would it be more practical to dig in landfills for old GameCubes to retrofit
On RISC-V? Yes... Well sort of. There are people working on ports of Fedora, Debian and OpenSuse (I think) and I've seen some version of BSD working on SiFive's boards. Debian is said to be 95% complete. Ubuntu have also announced that they're working on a port, and SkiffOS is said to be ready to run on RISC-V too. There was also a demo of AOSP working on 3 XuanTie 910 cores a few weeks ago.
Of course, then you need apps to be ported over, and that might take longer.
This new crypto project just launched its mainnet a few weeks ago: https://chia.net
It's a novel "Proof of" algorithm (Proof of Space and Time) that front loads the resource needs into a Plotting phase, with a very efficient Farming phase after that to process blocks with transactions. Seems like a much more fair, sustainable model for having a secure digital currency.
It also has an interesting, Lisp based programming language on it.
But what excites me is that it's lead by Bram Cohen, the dude who invented BitTorrent, one of the best pieces of tech I've used nearly my whole tech life.
The people who have the most hard drive space will mine the most Chia. How is that any different to just paying with USD to get more? In terms of it being a "much more" fair model.
I think the big part is that farming with hard drives is a much more approachable thing to do than to try and mine BTC/ETH, considering both of those at a minimum require crazy GPU hardware, if not full blown custom chips, that no normal people will buy. Also, insane energy usage too, which Chia doesn't really have.
That being said, yes, with the right amount of investment, someone could try and take over the network. That being said, look how many Full Nodes are already in the network...
Not just the most hard drive space, but the very specific fast kinds of hard drives you need to farm it efficiently.
The idea that you can do a sustainable cryptocurrency that remains sustainable no matter how valuable the tokens become in real money terms is self-evidently ridiculous. There's always some limiting resource you'll hit first, and if the cryptotokens are worth real money, that resource will get scarce.
But Chia is a good example of a brilliant person being so seduced by a challenging technical problem that they lose any ability to see foundational problems that people with a tenth of the brampower would be able to spot instantly.
Like you, I'm struggling to see how this is substantially different from proof of work, besides trading one limited resource (GPUs and power) for another (disks). It surely still comes down to real-world money - whoever can afford to buy the most disks can mine the most crypto.
Electric cars and planes are going to be huge, of course. Increasingly batteries will be replaced by fuel cells, and the hydrogen that powers them will be produced by means of hydrolysis produced by sunlight.
For electric planes, it is. Up until a year or two ago, I still had fairly intelligent people still saying electric flight is “essentially impossible.”
Yeah, that’s what they say if you press them on it today. They’ll keep moving the goalposts as soon as it becomes too obviously wrong, and then never admit to having been wrong in the first place. ;)
The goalposts are actually moving in the other direction. Batteries keep eating fuel cell's target applications.
And there is currently a very large PR effort by fossil fuel companies to promote hydrogen. I'd suggest extreme skepticism about any "news" promoting it at present. Always ask where the hydrogen is actually coming from in the present, not 30 years down the road.
I think it’s kinda like modern SSDs which also have more states than just on or off per storage cell, but it’s still holding data that can be written/interpreted in binary.
The data is binary, the encoding doesn't have to be. Most modulation schemes in high-speed digital communication uses more than 2 states, but it doesn't make it less "digital" (in the end, everything is analog). Gigabit Ethernet's PAM-5 uses 5 different voltage levels, but one would not call it "quinary computing". Similarly, Wi-Fi's QAM-64 uses 64 possible combinations of phases and amplitudes, Base64 uses 64-symbol alphabet, but the data represented by all of them is still binary.
552 comments
[ 3.4 ms ] story [ 361 ms ] threadAsk HN: What novel tools are you using to write web sites/apps? - https://news.ycombinator.com/item?id=26693959 - April 2021 (320 comments)
Ask HN: What startup/technology is on your 'to watch' list? - https://news.ycombinator.com/item?id=25540583 - Dec 2020 (248 comments)
i'd say something that is maybe hard to appreciate until you really get into it is just how much goes into making this ultra scalable with distributed transactions. If you have ~20 mins for it, I wrote this up recently: https://docs.temporal.io/blog/workflow-engine-principles
What I've been working on in recent years is actually not too far off in terms of how to approach making truly simple code, but is far off in the sense that it'll take me (alone) years to make a pragmatic implementation, probably as a language in its own right. Rather than attempt to make a system partition tolerant I started thinking what if network partitions were assumed as the default? To answer that question you have to do things like measure the information entropy of data, use knot theory, representation theory such as young lattices, symmetric group mapping, character groups, prime number theory, among other goodies, to represent event-states, workflows, etc. Most of all (this is where things get weird) is rather than code programs, the emphasis becomes how to easily declaratively code and build "homotopic" multiplexed protocols instead (while keeping the business logic familiar), that way SDKs and integrations are a thing of the past. All this has of course has to use existing web standards like HTTP, otherwise it won't be adopted. My friend always laughs at me when I try to explain it to him, so I apologize, ha. But that's all the more reason to appreciate technology like temporal because it's something a developer can use today.
sounds good, you get it. if you are interested in working with us... we're hiring haha. or happy to help promote if you want to write up your thoughts
I'll volunteer that we don't have Python or JS SDKs right now but are working on it (https://github.com/temporalio/sdk-node).
i think `Thread.sleep(1, MONTH);` is a profound paradigm change in programming that I have been struggling to find the words to describe. It's like, where you used to need to write "multiuser" code, you can now write code as if you simply have one machine per user and it idled or did work as long as your user's activity is still going, whether we're talking the end-to-end journey of a food delivery startup or machine learning data pipelines or infrastructure provisioning at a cloud startup (you can even run a workflow for forever, with some careful segmentation https://docs.temporal.io/docs/concept-workflows#faq).
this is useful market research for us, thank you for taking up the suggestion :)
More broadly, decentralizing insurance in this way would be very cool too... There's little difference, in my mind, between a prediction market predicting weather changes or elections, and insurance contracts around risk.
... and what's even cooler is: can we build bots and models to actually get an edge on these predictions? Imagine applying HFT strategies from stocks to predicting real-world events... Now it sounds like we can actually get good at forecasting difficult-to-predict human events, rather than just stock prices.
[1] https://polymarket.com/
There are definitely a few players in this space and I'm excited to see where it goes.
If you’re in the US there is a regulated prediction market set to launch soon.
Do you have more info about the regulated prediction market? I'd love to learn more.
Oh wait, that's under-the-radar technology.
Stripe + TaxJar was cheaper and easier to implement and maintain.
When I did my postgrad research project, back in 2016, I was using LoRaWAN and thought it was so obviously going to be huge in e.g. AgriTech. Surprised not that much has happened with it tbh.
Most operators haven't figured out their business model for NB-IoT quite yet (at least in Europe) - they're still dabbling. Some seem likely to try pair it with enterprise "private APN" type solutions. Under such a setup, you can actually get quite an interesting system in place - the operator locks the SIM to a custom APN, and that APN only allows comms to a managed, operator-provided IoT backend.
Then the operator's enterprise services team turns that into dashboards and other things the customer can use and access. In a sense, they're using "extra slack capacity" on their FDD cellular networks (as an NB-IoT carrier is only 200 kHz wide and can sit inside or adjacent to a regular 4G or 5G carrier), and delivering higher margin managed enterprise services.
Some other comments point out the potential to use LoRa - indeed, although if you can use LoRa, you probably aren't the target market for NB-IoT. If you want to deploy 50 million smart meters, a nationwide existing network and managed service from the operator starts to get appealing, as does them handling security, isolating the devices onto a private APN, and helping you update devices in the field.
If you are using LoRa, you need to handle this and deploy the infrastructure. To date though, I've seen lots of "unmanaged" NB-IoT testing taking place, but not a whole lot of the "full service managed offering".
Otherwise I would agree entirely with your point about connecting modern IoT devices to the internet, but in this case I think it will end up for enterprise type deployments where they're restricting that for you.
nbIoT is justified if I know that the data volume of my "solution" might increase due to feature/scope creep (and replacing the battery/sensor isn't going to become an annoyance in 2-3 years at end of life).
For most use-case LoRaWAN makes more sense but doesn't have the same marketing budget that is available to T-mobile, Vodafone and Co.
It’s queriable like a database but it doesn’t store your data - it proxies all your other databases and data lakes and stuff, and let’s you join between them.
Trino is a great example.
(not affiliated in any way). https://trino.io/
Aren't stuff like data lakes and warehouses supposed to address the need for a centralized datastore?
Outside of perhaps an easy-to-apply interface, what benefit would a data hub provide over just streaming duplicates from all of your databases into a single data lake like Snowflake?
We used to have to copy and shuffle data into centralized systems so we can query and join it.
Data hubs do away with all that. Stop needing to think about storage. Instead, it’s just about access.
There have always been fringe tools, eg I once did some cool stuff with MySQL spider engine. But modern systems like Trino (formerly called Presto) make it easy. And, I predict, will hit the mainstream soon.
100% resonates when you put it that way. Thanks for the explanation!
If we could simulate and observe what happens with complex chemistry accurately, it would completely change the biology, medicine and materials science.
There is the rub. Biological simulations have been written for 40 years now. It's an extremely difficult problem considering how many latent variables are at play, and people have been working on it for a very long time now.
ML techniques will be used to cut that latent variable space in both quantum chemistry and molecular mechanics based methods.
In the early 2010s, I was an undergraduate electrical engineering student with type 1 diabetes playing around with such models by reprogramming stuff that had been presented in peer-reviewed journal articles. I eventually programmed a closed loop control system (also known as "Artificial Pancreas System") as a spring break project to inform my insulin dosages. Mostly, it was a soul-searching project as engineering school was physically enduring for me, as I have serious health problems. I had found a paper about a sliding mode control with respect to type 1 diabetes that looked solvable to me, but I did not know if it was actually solvable. I decided to see what I could do with it, and I was successful, in 2011 and barely old enough to legally drink!
Anyways, I can assure you that while research on control systems is drying up, including for physiological systems, that the excitement is just about to begin for what you mention, starting in about 5 years.
If anyone is working on this, and is looking to hire a computational organic chemist-turned-ai engineer, let me know!
There are many others.
That's probably far less true than you imagine. See Derek Lowe's take on it: https://blogs.sciencemag.org/pipeline/archives/2021/03/19/ai...
The rate-limiting steps in drug discovery is in figuring out a) what you need to muck up to improve health or b) how to muck it up without mucking up other things badly enough to kill you. Computational chemistry has generally focused more on solving problems c) how to muck up this target more effectively or d) how to make the mucker-upper in the first place, which, while not useless, is not going to be a revolutionary change by any stretch of the imagination.
There are Python and and MATLAB bindings, in fact MATLAB 2021a now uses SuiteSparse:GraphBLAS for sparse matrix multiplication (A*B) built-in.
[1] https://graphblas.github.io/
The fact that there isn't more discussion around the cryptography, networking, etc. suggests to me that many are still unfamiliar with the power of the underlying technology.
I am pretty excited about Ethereum and related ecosystem.
https://techxplore.com/news/2021-04-rice-intel-optimize-ai-c...
If you (or anybody else) happens to be a graphics programmer with experience of implementing the bounding-box tree traversal common in CUDA implementations of ray tracing please get in touch with me as there as a good chance an rusty old 1080 can defeat most expensive xeon on the market since it has more memory bandwidth than Intels part. If you ever wanted to piss on Intels leg with a multiple week-end project please get in touch. email in profile. There is a slim chance that this will actually help deep learning.
1 Zero-knowledge proofs,
2 shielded ledgers,
3 democratized and energy efficiency mining,
4 inflationary control, and
5 wallet recovery.
No one has all of these yet, but ZKP is a big part of it.
Monero and Ravencoin have transparent and shielded entries. I believe the node is encrypted with an ECDH shared secret, so the payer and the payee know each other's wallets, but no one else does.
Unless we figure out some awesome hardware acceleration for it, it's not practical but for a few niche applications.
It also has the problem that you can use computation results to derive the data, if you have enough control over the computation (e.g. a reporting application that allows aggregate reports).
Really?! Now I'm curious. If I have a simple program for an 8-bit CPU @ 1 MHz, when can I run this program on a virtual machine using homomorphic encryption, under a reasonable runtime? Is it possible yet? If the performance hit is only 100x, the runtime should not be much longer than the actual chip. But the last time I checked, the hypothetical runtime seems to be still impractical.
There are basically 2 strategies:
- do fast operations, with a limit on how many you can do. This is called Leveled Homomorphic Encryption, with CKKS being the most popular scheme. Microsoft open sourced a lib called Seal for it.
- do unlimited operations, but with extra overhead. This is called Fully Homomorphic Encryption, with TFHE being the fastest implementation. My company Zama has open sourced an library in Rust called Concrete.
Reminds me a lot of deep learning in 2010, just before it took off!
Microsoft and Oculus have hands free controls that actually work. Inside out tracking is progressing quickly. New UX patterns are getting forged.
I'm exited to see what we'll have in a few years time. In my mind its far more exciting than something like crypto but gets much less press.
The Hololens opens up an entirely new UX flow with accurate enough hand tracking and the ability to keep your hands free to operate a keyboard or any other kind of device.
For a great recent example that get at some of this, see "Does Your Dermatology Classifier Know What It Doesn't Know? Detecting the Long-Tail of Unseen Conditions" - https://arxiv.org/abs/2104.03829
I'm not affiliated with this work but I am building a company in this area (because I'm excited). Company is in my profile.
Wireless VR really is a necessity for it to become more than just a tiny niche.
Not yet mainstream, but it’s actually a joy to use and I think we’ll have significant marginal improvements over time which will keep making it more and more worthwhile.
I think the real thing will be commercial applications of VR, where companies use it because it’s the best way to get certain kinds of work done. And NOT desk work, either. We’re maybe a decade or two from that being mainstream, but it’s going to be a significant improvement.
Filecoin is a separate thing (mostly), and can (kind of) be thought of as pinning-as-a-service. It's built on a private IPFS network, not the main public one most people use or are directed to. So it's using IPFS, but it is not IPFS.
It could then use IPFS to host "Public Facing" posts. People could pin - or pay for pinning - their posts.
IPFS is what I hope will lead to further democratization of the internet.
I am aiming for a decentralised-FB like experience on Signal. And I honestly think it is feasible.
On FB, you tag a post with intended recipients(default:All "Friends"), people log in and get fed these posts with FB fiddling along the way.
Signal with a redesigned UX could show a doom scroll of posts that friends send you. Not that I think this is great, but user adoption for familiarity.
Signal E2E delivers the message, the new UX displays the posts. You apply heuristics as you want, all without ads or data gathering by a MITM.
But... public posting is a thing. I am hoping that IPFS combined with cryptographic signing for authentication, could fill that role.
Hence my comment that IPFS could hopefully lead to democratization. Although, I am also concerned that IPFS will also lead to "undeletable" content, but that seems to be almost a thing anyway.
There's also cabal chat which is based on the same underlying technology but is chat focused rather than Facebook like.
Some people say that there's nothing new in it, but to my mind, they're missing the point : the Berkeley Four took what couldn't be appropriated for profit, and built a statement about what computing is... They revealed the Wizard of Oz to everyone, so that anyone with some computing background can build a processor, freely.
And now this freed wizard is working his magic, and will change the computing landscape irrevocably.
Perhaps it will lead to a processor startup, but follow that to its logical conclusion: it takes a huge, profitable company to sustain processor delivery for years. There's a very good reason why only a handful of companies make the top 6 CPU architectures. There's still Synopsys ARC, Renesas, Atmel, PIC just to name a few of RISC-V competitors.
In reality, the Berkeley Four just made a handful of semi companies richer. WDC, NXP, NVIDIA, Microchip, etc. don't have to pay Arm for IP if they use RISC-V. Did that really help anything? Meh.
There're already designs freely available to use though, either as they are, or to build upon.
And there are also now many other companies designing using the ISA; decentralising the production of chips.
But - over and above the revolutionary economics of it - it's being recognised as a good ISA, and RISC-V cores are already being incorporated into consumer electronics.
While I agree there is something not right about cutting into ARM’s profits for the benefit of megacorporations, I think that a royalty-free ISA might genuinely be good for civilization despite that in the same way Linux is. It’s tough though, I’m still not fully sold on that opinion.
I think the key difference with an OS like Linux and an ISA like RISC-V is that Linux helped literally millions of smart, curious kids get exposed to Unix and tinkering in a OS that wasn't a locked down behemoth: Windows. It changed lives. I don't think it is an exaggeration to overstate the democrization Linux had.
However, I don't see RISC-V touching the world in an analogous way. No kid is gonna tinker with an ISA and fab a CPU. Maybe they will stick it on an FPGA? But it seems less accessible.
Plus RISC-V's biggest propopent, Patterson, isn't really giving the world anything like Linus Torvald did. Linus busted his butt (and still does!) whereas Patterson flies around getting big speaker fees to pump up RISC-V while delegating. Just seems a bit... off? Or its just me.
However, I taught programming in an afterschool program in the mid-80's and the Apple //e had an amazing graphical program that stepped through an assembly program, showing the data moving through the busses from register to memory, etc. And it was instrumental to kids learning. There's a few more wires in a 32-bit RISC compared to an 8-bit 6502, but someone will benefit!
No, they won't. By definition, FPGAs always give you less performance per dollar than custom silicon. If they can't afford an expensive computer, then FPGAs and the tooling to use them is even more out of reach by a long way.
[1] https://www.amazon.com/Terasic-Technologies-P0496-DE10-Nano-...
I don’t see anywhere near 1% of people running a RISC-V softcore based computer on a de10-nano board but I would and many other hackers like me would.
Or to at least have a FPGA embedded in the machine Novena(*) laptop style.
(*) the open source laptop by Andrew Huang.
The resulting RISC-V cores are mostly emulated, but are expanding knowledge of FPGAs immensely as a side effect.
[0] http://hackster.io
It really is a just question of any level of hobbyist-accessibility (think photo-etching 2 PCBs of less sophistication vs. making a run of 100 perfect 3-layered PCBs in a factory) - and I've seen quite a lot of projects popping up around FPGAs lately that seem to indicate they're starting to approach the Arduino-ish level of approachability (though it's still obviously very far).
RISC-V just might be one of the things on the way to a whole "sillicon-tinkering" scene, so I'm pretty hopeful.
A generation ago, their forerunners - Acorn - were happy to take, use and make a profit from the work of American universities, yet when Berkeley asked to be able to use Arm's ISA for research purposes, they got short shrift.
So Berkeley cobbling together a next-generation RISC ISA, and Foundation-ing it out of reach of the same thing happening again, is smart retribution.
They could already do that. I designed and laid out in silicon a 32 bit processor as part of my undergraduate studies in computer engineering.
It's a solution looking for a problem that doesn't exist.
Of course, then you need apps to be ported over, and that might take longer.
It's a novel "Proof of" algorithm (Proof of Space and Time) that front loads the resource needs into a Plotting phase, with a very efficient Farming phase after that to process blocks with transactions. Seems like a much more fair, sustainable model for having a secure digital currency.
It also has an interesting, Lisp based programming language on it.
But what excites me is that it's lead by Bram Cohen, the dude who invented BitTorrent, one of the best pieces of tech I've used nearly my whole tech life.
That being said, yes, with the right amount of investment, someone could try and take over the network. That being said, look how many Full Nodes are already in the network...
https://www.chiaexplorer.com/charts/nodes
The idea that you can do a sustainable cryptocurrency that remains sustainable no matter how valuable the tokens become in real money terms is self-evidently ridiculous. There's always some limiting resource you'll hit first, and if the cryptotokens are worth real money, that resource will get scarce.
But Chia is a good example of a brilliant person being so seduced by a challenging technical problem that they lose any ability to see foundational problems that people with a tenth of the brampower would be able to spot instantly.
https://en.m.wikipedia.org/wiki/Proof_of_space
https://phys.org/news/2021-04-hydrogen-fuel-machine-ultimate...
https://newatlas.com/energy/osu-turro-solar-spectrum-hydroge...
https://uh.edu/news-events/stories/2017/April/05152017Ren-Wa...
And there is currently a very large PR effort by fossil fuel companies to promote hydrogen. I'd suggest extreme skepticism about any "news" promoting it at present. Always ask where the hydrogen is actually coming from in the present, not 30 years down the road.
If each "bit" of DNA can be either A, C, G, or T, why call that binary?