Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "webassembly"
-
I’m a .NET desktop fullstack dev these days… Never worked web unless for my own small needs/personal projects.
I started using tech one way or the other by the time windows was version 3.1 and been through quite a bit ground-breaking changes in the industry of software development and the internet but if there’s one thing I cannot understand of it all, no matter how much thought I put into it is: How the fuck did we manage to make it so fucking complicated to develop anything these days?
I remember like it was yesterday that you could stand a website with HTML, CSS and JS, three fucking files and you’ve made yourself a single page site. Then came the word “Responsive”, “Responsive” written everywhere. Fair enough, grid system popped up. All of the sudden jQuery was summoned… and everything that happened after this point has been a fucking circus of high-pitched teens talking on conferences about fucking libraries and frameworks to make integration with real time, highly scalable, eco-friendly, serverless, data driven, genome aware, genderless, quantum technologies to interact with bio dynamically generated organisms, namely fucking users.
Every fucking bit of the process of building a mobile/web application seems to be stopped by yet another incredibly dumb attempt to suicide a developer. Can you go from starting an app and publishing an app without jumping through a thousand VERY specific hoops? No, fuck no.
I fucking hate it… It’s a bit hard to get Desktop dev jobs these days but for as long as I work on IT I will continue to stick to that area, until someone for the love of life comes up with a fucking solution to all this decadent circus of bureaucratic technocracy.
Fuck big industry, fuck tech giants, fuck javascript and webassembly, fuck kids putting ASCII art on console applications that I DON’T FUCKING NEED to install dependencies THAT I DON’T FUCKING NEED to extend functionality on frameworks that I DON’T FUCKING NEED… oh wait, I do need all this because YOU FUCKING MADE IT MANDATORY NOW! FUUUUUUUUUUUUUUUUUUUUUUUCK YOU!!!9 -
A senior developer come to interrupt me.
Senior developer: blah...blah....blah about this concept...... that concept... So, any new things you learn lately that you would like to share?
Me: I am learning back C++
Immediately he stop me and said, "Why did you learn C++? It is obsolete, no one use it anymore"
Me (in my head): But, you just said what I learn. It doesn't matter if its obsolete or not. Infact you are wrong, C++ is not obsolete anytime soon. I was about to share on webassembly.
Senior developer: So, would you like to join me in a short sharing session this afternoon.
Me: No thanks, I am really busy (just want to avoid at any cost)8 -
Wohoo! Adobe kills flash in 2020 👍
"Adobe chose to end Flash because it believes coding technologies like HTML5, WebGL, and WebAssembly "
http://fortune.com/2017/07/...3 -
me: "hey look, something new and awesome I could use in my projects!" (WebAssembly in this case)
also me: "I HAVE NO FUCKING CLUE WHAT I WOULD USE THIS FOR"3 -
[long]
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
---
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
---
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
---
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Cheers!4 -
Assembly:
"OMG! What an unfriendly language! It's so obsolete!"
WebAssembly:
"OMG! Assembly is on the web! It's so amazing!"3 -
WebDev jobs should come with big warning signs:
"You absolutely will lose your sanity!"
"IE11 might indirectly lead to impotence!"
"You won't get laid more often by using CSS Grid!"
"You will have to fix websites which only appear broken on iOS Safari!"
"Get some extra terabytes ready for your node modules!"
"Get ready to yarnify your npm dockerized webassembly blobs while gulping on your mocha chai latte with no karma!"
Can't we just go back to the good old times with Quick Basic and chill?
Man, the ladies were flocking around those programmer boyz, I tell ya... Klickety klackety on the mechanical6 -
2020
Dotnet Core and dotnet framework are now one (november).
Blazor has an official release for client side webassembly. -
JavaScript is ok. But I'm really hoping it will be fully replaced by webassembly within the next ten years.9
-
Buckle up, it's a long one.
Let me tell you why "Tree Shaking" is stupidity incarnate and why Rich Harris needs to stop talking about things he doesn't understand.
For reference, this is a direct response to the 2015 article here: https://medium.com/@Rich_Harris/...
"Tree shaking", as Rich puts it, is NOT dead code removal apparently, but instead only picking the parts that are actually used.
However, Rich has never heard of a C compiler, apparently. In C (or any systems language with basic optimizations), public (visible) members exposed to library consumers must have that code available to them, obviously. However, all of the other cruft that you don't actually use is removed - hence, dead code removal.
How does the compiler do that? Well, it does what Rich calls "tree shaking" by evaluating all of the pieces of code that are used by any codepaths used by any of the exported symbols, not just the "main module" (which doesn't exist in systems libraries).
It's the SAME FUCKING THING, he's just not researched enough to fully fucking understand that. But sure, tell me how the javascript community apparently invented something ELSE that you REALLY just repackaged and made more bloated/downright wrong (React Hooks, webpack, WebAssembly, etc.)
Speaking of Javascript, "tree shaking" is impossible to do with any degree of confidence, unlike statically typed/well defined languages. This is because you can create artificial references to values at runtime using string functions - which means, with the right input, almost anything can be run depending on the input.
How do you figure out what can and can't be? You can't! Since there is a runtime-based codepath and decision tree, you run into properties of Turing's halting problem, which cannot be solved completely.
With stricter languages such as C (which is where "dead code removal" is used quite aggressively), you can make very strong assertions at compile time about the usage of code. This is simply how C is still thousands of times faster than Javascript.
So no, Rich Harris, dead code removal is not "silly". Your entire premise about "live code inclusion" is technical jargon and buzzwordy drivel. Empty words at best.
This sort of shit is annoying and only feeds into this cycle of the web community not being Special enough and having to reinvent every single fucking facet of operating systems in your shitty bloated spyware-like browser and brand it with flashy Matrix-esque imagery and prose.
Fuck all of it.20 -
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
gRPC
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.38 -
Was scrolling youtube last night, not expecting much, found this video about web apps. Holy mother of linus torwalds, just watch the fucking web assembly part. https://youtu.be/MiLAE6HMr10
I'm not trying to say web assembly will be a good thing or dot net is, but holy crap!
Edit: wasm is the second topic in the video2 -
Web Developments philosophy - always recreate the wheel. Never hesitate to make it again and again.3
-
Web Assembly and Dotnet Blazor. Finaly other languages will become aviable on the frontend, dotnet blazor is a good start for C#1
-
I like JavaScript as a language. But I hate absolutely everything around it. All of these tools just make things more difficult. Sometimes when I clone a project I want everything there. I don't want to then wait 30 minutes to download the latest version of every library used, with at least one of them always breaking something. I don't want to have to use npm or grunt or whatever. Just give me the damn thing I need not make me spend 30 minutes running round in circles! Never have these problems in any other language!
Come on WebAssembly!11 -
C/C++ devs need to learn Rust
Python devs need to learn Nim
Ruby devs need to learn Crystal
JS devs need to learn Typescript
Also bunch of other stuff like webassembly, native add-ons, machine learning and whatnot.
Too much to learn, to little time if you are a dev who has to learn them all.19 -
I've been working on an Emscripten emulation layer for a fledgling startup, and it's just a huge bitch. Seriously, Emscripten is the worst designed project I've ever seen. It embeds constants into a js file that it spits out. It turns out you can't fucking run the wasm that Emscripten emits without these magic constants from the js file.
Additionally, all the wasm imports that emscripten specifies are weirdly cased, with apparently no naming convention. They also use some weird, shitty vararg implementation when it already fucking knows exactly how many arguments are going to get passed to an import.
Also, there are a ton of broken things left over from when emscripten compiled to asm.js that they never bothered to replace with features from wasm. God knows how it even works. -
Fucking experimental technologies. I feel like doing webassembly stuff is like buying a smart device, it's not worth any of the trouble for now.
I wanted to do some webassembly-stuff with rust and yew (basically react for rust). I was really hyped because it all looked promising and i found this cool band "heilung" whose music made me my coding feel like black magic with complex incantations and shit.
A basic webassembly setup did work, but everything afterwards was pure shit. Crate installation didn't go as expected, i get weird errors even though i simply copied the example (and checked the versions). The best i got was when i tried to compile and rust told me to go fuck myself because i cant use feature XY in a package in the stable environment. Why the hell would someone even publish said package then? After losing half a day because of this i give up for now. I don't feel like a badass magician anymore anyways, more like the guy that puts mentos into coke and gets hit by the foam. -
You know you spend a lot of time programming when WA translates to WebAssembly instead of Whatsapp and Fb translates to Firebase in your head...1
-
Want to write WebAssembly code with C/C++ without the hassle of setting up the ecosystem on your machine?
https://github.com/wasdk/WasmFiddle -
Decentralized, block chain based Bitcoin Trading Software!
I just love it!
No for real now, I'm very excited about WebAssembly and the benefits of it! Can't wait to see games running on it!2 -
Right now im probably the only person using a {java spark, python, mysql, webassembly} stack and i dont know how to feel about this6
-
Currently working on a webassembly Blazor project with IdentityServer4, gRPC, SignalR, and webdev is once again fun2
-
I see a major shift coming up im regards of how we continue to evolve the way our applications work in regards to web based solutions. Http was not meant to do the shit that we are doing today, yeah it works, but it continues to feel like a hack. The advent of A.I and WebAssembly will probably make developers more mindful about compilers and truly optimized code. Languages such as Rust are pointing in the right direction in terms of speed and safety and as our computers become more powerful so will our way to communicate with them. Eventually damn near every web based solution will include A.I even when it is not needed at all.
Regardless of what happens. Yo ass is not going to stop hearing about C++, SQL, and Javascript(top kek)1 -
Anyone here tried dotnet Blazor yet? seems interesting thus far. I have been toying with it for a good portion of the day and I've got to say that thus far I like what I see.4
-
I use to develop desktop programs in C++ with algos related with image processing and computer vision. However, new projects appear and one of them was for web using Drupal. It was my first experience with web and I am still having nightmares... It is the worst thing you can do. Continue a big project without the understanding of technology nor the framework... Now I am more experienced and I prefer stacks like MERN. Easy the debugging in web i so crucial... Maybe, I would have to swtich to webassembly.6
-
So I did some testing with WebAssembly to see how it works in the most recent version and without Emscripten. I installed CMake and Visual Studio Community 2015 and compiled Binaryen, LLVM and Clang for a few hours (had to do it multiple times because I used the wrong version and forgot a compile flag), ended up with over 10 GB less free space on my laptop.
All that to compile a < 1kb C file to < 1kb WASM code.
At least it works for now and can natively run in (some) browsers.2 -
To all JavaScript devs in here, what are your current feelings toward the emergence of WebAssembly?7
-
Reply to my 2018 version: https://devrant.com/rants/1346392/...
Dear holodreamer ( version 2018 ),
I'm just glad that I'm still alive now. You won't believe how terrible 2020 is at the moment! Anyways, a lot has happened since you wrote me and I'm gonna reply it all to you.
Thanks for noticing. I really like my hairstyle now and my insecurity of going bald have gone. I couldn't be more happy.
Unfortunately, I'm not financially independent yet. Thanks to the crypto crash, the crypto ban in the country and some bad calls on my end. :/. But the good news is that we are back on the crypto market as the ban has been lifted recently. I don't have enough crypto to buy a lambo or go to the moon, but I have something that I could give to my grand kids. At this point, I don't really care anymore how much the value it is going to be, I have come to learn to think them of as a souvenir.
Your prediction of me preparing to move out of country seems to have come true. Honestly, I had given up that dream, but thanks to one of my best friend for reigniting those dreams - I may be moving somewhere really better by next year. I hope that I get this financial independence thing figured out before I move there. I don't wanna live there paycheck to paycheck.
Fortunately, I'm not getting any pressure to get married yet. I think I'm heading the way to a better life filled with some travel and adventures. I had a great opportunity to attend Google I/O 2020, but it got cancelled. Hopefully, covid19 will be over in few months.
Yea, I remember her. I got really carried away to the point that things she said started to hurt my heart. But eventually we had some argument and we stopped talking last September and I cut all contacts with her on the new years. If it makes you feel any better, last time i checked, she looks quite plumpy and totally different.
Thankfully, I'm not that lonely to need a chat bot. But I found some good online friends. They are fun to talk to.
No, AI didn't replace developers yet. Calm down! Javascript seems to be the most popular programming language now. But I hear there is a new contender to JavaScript that could change everything. It's called WebAssembly. Maybe in few years, we will see the decline of JavaScript.
Thinking about you, I feel some guilt for wasting your potential. I could have done much better if I was little more careful and responsible with you. I don't wanna make 2022 version of me feel bad for me.
Regards,
holodreamer ( version 2020 )2 -
I am a student with a full time job in React/React Native. I am thinking of learning something new. What should I learn Deep Learning or Web Assembly with Rust?1
-
I have an app I have developed that uses concurrency. My dev env allows me to select different targets. One of those targets is WebAssembly. So I got it configured and decided to test my app. It immediately failed on compile due to the concurrency module missing. I later found that for my dev env concurrency for webassembly is experimental.
So concurrency is a thing for webassembly, but the support on my dev env end is not there yet.
Is threading difficult in webassembly?2 -
I'm kind of excited about the development of Web assembly (wasm), and to see Blazor getting closer to a release is awesome.
Blazor Update: 'The End of the Experiment Is in Sight' -- Visual Studio Magazine
https://visualstudiomagazine.com/ar...1 -
I'm porting an OpenGL project to work with WebAssembly, I'm using emscripten to compile/generate the 'glue' to JS. Sofar I'm able to render my gl code properly through the glfw3 framework. I know you can use emscripten callbacks for input, however I was hoping to keep my existing glfw3 callback setup, that said the only callback that seems to be working properly is mouse position, window resize, keyboard, etc never get called. If anyone knows how to enable these I'd be super greatful!1
-
Why the fuck is it Impossible to get crisp font rendering on chrome (widows desktop), Firefox looks sooooo much more crispy... Get your shit together Google, also while your at it, catch up to Firefox with WebAssembly loading time.
And Firefox, it would be really nice if you could start supporting brotli compression... Just saying.3 -
Hey devs, I'm doing a final year project for a company where I have to implement a solution using web assembly.
Now this can be anything at all from a new operating system to a virtual machine. Although I have something in mind I thought I'd ask the community too, do you guys have any interesting project ideas that can be implemented using web assembly? -
prediction question: how long do you think until JavaScript goes away, and what language do you think will replace it as the de facto web language? I know Dart is aiming to fill that niche, as well as even Kotlin/JS and/or Kotlin/WebAssembly7
-
I just wish I could determine what I want as a reference and what I want as a value in JavaScript. I hate not being able to determine it myself and be constrained by a spec while not having any other language to use (no I'm not gonna use webassembly for everything).6
-
Should I use C++ and WebAssembly to do heavy calculations on client side instead of buying heroku workers? Is it wise?3
-
+ Taste Dartlang and Flutter
+ Do something with WebXR and/or WebAssembly
+ Start some lil projects
+ Learn more about Kubernetes and monitoring services -
Working with nightly builds and concept tech is such a fucking hassle...
I'm currently working on a WebAssembly proof of concept where I need to generate a unique id, but since threading is currently not supported (rust and webassembly) I cant use half of the libraries currently out.
And the ones that does work... guess what... are not compatible with the nightly build of the compiler I'm using for Rust. Just fucking end me.
The legit only workaround I can find is to make a server request and get the unique id from there... piece of cunt software...I need a break 😑 -
Sophomore year starting soon so I'm looking for new project (s) to complete in parallel with the studies.
Some are more design-y and some more backend-y but I recently started getting better at designing so :)
1) Learn some fragment shader stuff. I've always been messing around with graphics and have a game on steam, so I think that's a good idea to be paired with signal processing.
2) Reactive web services. Preferably with spring-boot or vert.x but
3) I would also like to dive into golang (and make some reactive thing with it)
4) WebAssembly seems nice... But I got some concerns
5) exercise making wireframes -> CSS (with some js)
6) I've never really done any real backed work with nodejs, except serving and aot compiling js, or doing gulp tasks
7) Implementing a whole project, or a fraction of it as serverless on aws
* I'm definitely going to use a couple very simple services to make a docker swarm with load balancing, etc, just because I know how everything works but got no practical knowledge
8) Design an esports jersey for the university department I'm in (shouldn't take long)
So what do you guys think? Recommendations are welcome :)
P.S. last year in review:
> A webapp running on a raspberry pi powering a reflex testing game on gpio (java/spring-boot , codename: buttonmasher)
> small Elastic search cluster to monitor some random university servers through kibana dashboards
> laser tracking on wall of *any* colour and variable light conditions via a webcam (opencv) , controlling the mouse pointer, whether you run it against a projector or any wall
> jstrain.herokuapp.com => a small JavaScript powered tool with a DSL to help you train more efficiently without a coach
> Various random Photoshop stuff -
I just found Blazor a .NET web framework. As anyone tried it out ? Does it look promising for you ?
https://github.com/aspnet/Blazor
https://daveaglick.com/posts/...
https://learn-blazor.com/
https://blazor.net/2