7 ms·
Making Your Own Tools
- ampdepolymerase 5y agoThe ironic thing is that despite the emergence of more walled gardens and the decline of general purpose computing, high level tooling has exploded. Look at the amount of new JavaScript frameworks and tooling that come out every year. The areas that are most lacking in innovation are generally all difficult and boring with no quick pay-offs; VHDL/Verilog, cross platform GUI applications, low level code that can run on multiple hardware architectures. These are all important problems to tackle that would drastically improve general purpose computing but nobody's truly interested to work on those problems and make something production ready.
- alpaca128 5y ago> cross platform GUI applications That's handled by Electron already. Unfortunately in a very inefficient way, but I don't think web-based UIs on the desktop will disappear soon. The comfort of using the same tech as websites and compatibility with many systems is hard to beat. I just hope all those projects aiming to replace Electron with their smaller footprint hold what they promise.
- pabs3 5y agoThere are lots of non-web solutions for this, for eg Qt, wxWidgets, Flutter etc.
- edoceo 5y agoI've had not-terrible luck with PyGTK on Win,Mac,Linux. But my apps are simple.
- FractalHQ 5y agoTauri is a light and fast electron-esque platform written in rust. I’m pretty bullish on it, as it seems like the best of node and rust without the bloat. Using Svelte to write super light and fast cross-platform apps on Tauri is such a treat.
- FlashBlaze 5y agoIf possible, could you share some examples made using Svelte/React/Vue you've created or encountered?
- bitwize 5y agoThose are too hard for beginning programmers. And the Web has all the best-in-class UI design tools (except for maybe Interface Builder, which isn't cross-platform). Plus there's thr fact that Qt apps need extensive cross-platform testing; by contrast, because Chrome works the same way everywhere, so too do Electron apps, so you can deploy to multiple platforms much more quickly. When it comes to TCO and time to market, none of the non-Web solutions come close to Electron.
- legends2k 5y agoEven web based but without Electron or Chrome e.g. rocket.
- MelvinButtsESQ 5y agoI remember in the late 80s when I started professionally ... the impending obsolescence of the programmer due to 4GL code generators was upon us. Those stinking edge cases though. Where 90% of the problem/requirement can be addressed by said tools, but the final 10% (the part that really matters) can't. I'm not so sure we are any closer now than we were then. Needless to say, I've had a fruitful career.
- TchoBeer 5y agoInteresting. What sorts of "10% problems" was 4GL unable to handle?
- GoOnThenDoTell 5y agoI thin WASM will help with the GUI problem Everyone wants to reuse their web app on the desktop, but soon it could flip the other way around if you can suddenly run your native app in a browser
- junon 5y agoThis is exactly where it's going. You are right
- greggman3 5y agoI'm not yet totally convinced. There are no WASM apps that handle full unicode, with CJK input, right to left input, etc.... that I know of. I'm not looking forward to every wasm app having it's own quirks that are vastly different than the quirks of my OS.
- Oddskar 5y agoThis is such a dull take at this point. I'm sorry, but WASM won't magically be able to port your UI app to the web. Just because it can convert some basic logic doesn't mean that it will be able to create a performant application that uses the underlying browser APIs correctly. Lets say there was some sort of framework that did this in your language of choice, there's still significant downsides in terms of interop with the rest of the JS ecosystem and debugging.
- pabs3 5y ago> low level code that can run on multiple hardware architectures I thought SIMD Everywhere was a pretty interesting project for that, lets you write x86 SSE/AVX code and run it on non-x86 architectures: https://github.com/simd-everywhere/simde https://github.com/simd-everywhere/simde
- userbinator 5y agoThe ironic thing is that despite the emergence of more walled gardens and the decline of general purpose computing, high level tooling has exploded. Look at the amount of new JavaScript frameworks and tooling that come out every year. I think it's not "despite" but "due to". If all you have is a locked-down user-herding media consumption "device"[1], the web stuff is pretty much the easiest way to have access to something like a Turing-complete language. [1] the fact that a word which used to primarily refer to computer peripherals is now increasingly applied to a general-purpose computer itself is a telling sign of where things are going next. Destroying the general-purpose nature of computing little-by-little and selling you back small specific pieces of it seems to be the trend today.
- amelius 5y ago> The areas that are most lacking in innovation are generally all difficult and boring with no quick pay-offs; VHDL/Verilog, cross platform GUI applications, low level code that can run on multiple hardware architectures. Those are exactly the areas hindered by vendor lock-in.
- bythreads 5y agoI you didn't check them out follow the links and try out orca with casetter and the synth - really nicely done in all areas
- imvetri 5y agoI have been coding things that interest me as part of https://github.com/imvetri/ui-editor https://github.com/imvetri/ui-editor. This idea had been in my head when I was introduced to visual foxpro and I told the person it can be made more efficient if it can build components that can build components. In my second company I came to know about eval - I called it a browser runtime that can execute source code. I don't have to learn anything about AST. Also I learnt about graph structure and I used it for the component tree in my tool. In my third company I saw a technique where component configuration is saved as a JSON - I learnt that code can be a configuration and configuration is just a JSON, I dont' have to learn anything fancy about Object oriented concepts to build application. In my fourth company I saw a neat codebase where view, css, reducers, state, events are all split into separate files and used that idea and made them as inputs. Overall, its a hobby tool I have been building and whenever I learn interesting, simple and efficient techniques from the projects I work on, I use it in the tool.
- 600frogs 5y agoI honestly can't tell if I love this piece or hate this piece. On the one hand, it really kicked off my imagination, and I started to yearn for absolute computing simplicity and efficiency. A world where I can run absolutely anything I want off of a Raspberry Pi Zero and a small battery pack. I even spent half an hour looking into the most lightweight GUI toolkits available, to start to contribute to this vision. On the other hand... it all seems so futile, and out-of-touch with reality. In the real world, I need to pick the best tool for the job at work, regardless of the philosophy of the tool. And in my spare time, I can't help but feel like it's a pointless endeavour. I'm not living on a boat, and I'm not working on a Raspberry Pi. Why rewrite the software I use into something more lightweight when I can just use the software without consequence now, and save all that pain? Plus, there's a certain amount of 1. pretentiousness and 2. hypocrisy that I read in the article, that I don't want to touch with a 10 foot pole. Using your own time system is nothing more than a "I want to be different" gesture. I honestly can't see the benefit at all, despite his explanation. If you want to do 2 week sprints, just do a 2 week sprint. If you want to work to 40 minute Pomodoros, just do 40 minute Pomodoros. The main benefit that I can see is the element of mysticism to seeing things on the wiki timestamped as `14X05`, to add to the feeling that this is some other-worldly operation going on that's just out of reach. Yet he scoffs at the interview for suggesting it's an aesthetic thing. Regarding the hypocrisy - Devine preaches for energy efficiency and simplicity above all else, then writes half his tools using <canvas> on a bloated web browser. It doesn't quite stack up for me.
- jonstewart 5y agoI mean, sure, he’s living a life out of a Wes Anderson film, free from kids/family/house/whatever. I quite like the idea of numbering sprints A-Z, though. One thing I’ve noticed at work with sprints and dates is that time marches on and it feels like an abstraction, an endless future and cycle. 26 sprints, a, b, c, d, ..., z, well, that’s something with a clear start and finish, a sequence we’ve internalized from a very young age. You get to R or S, you start thinking, whoa, not many sprints left for me to finish some big goals. I think it could help focus team members a bit.
- 600frogs 5y ago