7 ms·
Obvious and possible software innovations
- dogman123 5y ago“He would be hailed as a Jobs-like technical innovator if he had some of his slaves do this, and he would be remembered with gratitude, rather than as the sperdo who dumped his wife for sexorz with lip filler Cthulhu.” Misogyny is really cool! Thanks Scott Locklin!
- the_optimist 5y agoThere is nothing in this quote which implies a hatred of women, and perhaps you inferring it says more about you than about the quote.
- cratermoon 5y agoMisogyny isn't just about hate. Sexualization, denying agency, https://www.nytimes.com/2019/03/08/style/misogyny-women-history-photographs.html https://www.nytimes.com/2019/03/08/style/misogyny-women-hist...
- pjc50 5y agoDid you miss the "lip filler Cthulhu"?
- Aeolun 5y agoWell, yes, but it’s preceded by an equally flattering statement about Bezos himself.
- clarge1120 5y agoIt was a joke about Bezo’s bad judgment re: life choices, not hatred of women. Let a guy make a joke about someone doing an ugly thing to his wife. Bezos became King of the World and then left his wife for a TV personality. I give the guy credit for humor.
- hermanradtke 5y agoRust is not an interpreted language, but it does attempt to satisfy the first point. The bindgen and cxx crates will attempt to generate the API from a C/C++ header file.
- nivertech 5y ago1. Some modern PLs and frameworks are making ffi easier, without requiring writing manual wrappers, or using a code generators. I can't recall project names now, but they do exist. But yes, they're not widely used or supported. 2. BEAM (Erlang VM) has several native mechanisms to communicate with the outside world (both in-process and out-of-process). In-process ones: linked-in drivers (.so/DLL), NIFs (.so/DLL, like JNI), dirty schedulers. Out-of-process: ports (external executables), C-Nodes/JInterface (an Erlang cluster node interface can be written in any programming language, not just C or Java). See [1]. 3. Morphing into a Single Image System OS would be ideal evolution for the cloud vendors. I don't think Mainframe or Heroku-style PaaS are good directions, though. I have many ideas in this field, but they need to be fleshed out first. -- [1] https://www.slideshare.net/nivertech/erlang-on-osv-49278675#64 https://www.slideshare.net/nivertech/erlang-on-osv-49278675#...
- viksit 5y agoDo elaborate on (3)?
- nivertech 5y ago1. The first step would be to simplify and unify services. It's especially relevant to AWS, which has lots of overlapping services, built by independent teams. Just look on this flowchat ("Which AWS container service should I use?"): https://twitter.com/forrestbrazeal/status/1400639759215640577 https://twitter.com/forrestbrazeal/status/140063975921564057... 2. The longer term solution would be something like DarkLang, "deployless" single image system development environment. Of-course it will be opinionated. It should include all best practices by default. I.e. think 128-factor, instead of Heroku's 12-factor. 3. Another direction is cloud-native or web-services oriented programming languages.
- rzzzt 5y agoJNA looks reasonable for accessing native code from Java: https://github.com/java-native-access/jna/blob/master/www/GettingStarted.md https://github.com/java-native-access/jna/blob/master/www/Ge...
- 5y ago
- JohnJamesRambo 5y ago> Cloud providers should admit they’re basically mainframes and write an operating system instead of the ad-hoc collection of horse shit they foist on developers. Oh I like this one so much. I love the era and idea of the mainframe. I caught the tail end of it in college. Our research professors would send their statistics jobs over to the mainframe and get the dot matrix printouts back showing what treatments showed significance. Maybe I watched Tron too much too. I just love the idea of one big central computer doing all the processing.
- bigiain 5y ago> I just love the idea of one big central computer doing all the processing. And yet at the same time, having a super computer in my pocket is spectacularly cool!
- hulitu 5y agoWhich can only siphon your data and play games.
- bigiain 5y agoYou can run your own code on your phone. Even iOS lets you do that (I don’t even think you need to lay the apple developer fees to do that?) You just can’t widely distributed it in easy for other people to run form. You _can_ give your friends .apk files. You _can_ write iOS apps that violate App Store rules. It’s the “publishing” bit that is locked down.
- bryanrasmussen 5y ago> Really, they should all run like Heroku and you’d never notice they were there. right that sounds like a great business idea because then your cloud service company you're building will be easier to commoditize! Can't believe that Bezos guy didn't think of it.
- underwater 5y agoFeels like a list of stuff where he massively underestimates the complexity of the fields he's talking about. Drag and drop UIs have, as he indentified, been tried. They were a leaky abstraction where incremental functionality was difficult to implement.
- TimTheTinker 5y agoI think he means things like XCode's Interface Builder. He's not massively underestimating the complexity as much as saying that huge swaths of that complexity are unnecessary, were it not for business requirements that often require us to do things the cheapest way possible (like hiring "fungible" web engineers to build an electron app instead of paying native platform engineers to build a first-class native app) -- and thus cause long-term harm.
- whatshisface 5y agoI have lightly used both web UI stuff and native UI stuff, and on the desktop at least, web UI concepts are lightyears ahead. I think native UI development for PCs will return when and if the concepts there catch up with the present state of the abstractions and patterns that work for web dev. GTK, the one I know the best, is still in an era where object orientation is a new and technically difficult thing to achieve. Not bad at all, but we can do things so much more advanced than that if we port over the lessons learned when inventing ways to manipulate and efficiently push updates to the document object model. There are some projects working on this but they are not yet at the level of "copy paste works," or "you can use either a retina or non-retina display and it won't look badly scaled or blurry on either." But I hope this will be sorted out soon because there is a lot of software I want to write with it.
- Zviedris 5y agoYeah, like could start list with just solve PvPN problem :)
- drewcoo 5y ago"The reality is they’re all quite possible, but nobody makes money doing them." The fact that he thinks they would take money implies that he believes they would be complex. Simple problems shouldn't cost much to fix.
- japhib 5y agoI actually really dislike this whole post. There’s a really condescending tone lurking just beneath the surface for most of it. It’s also extremely hand-wavy about the problems, their causes, AND possible solutions. Also, so whiny. At this point I don’t care if he even has any good ideas because he’s made me so mad just by his writing style.
- TimTheTinker 5y agoPerhaps he's a generation or two older, and doesn't want to go into a lot of technical detail to back up his opinion. I think his perspective is valuable. He's seen a lot, and he's right that we could do to learn a few things from the past.
- stickfigure 5y agoI'm probably older than he is, and it seems whiny to me.
- bawolff 5y agoWhat value is an opinion if you can't back it up?
- TimTheTinker 5y agoDavid Hilbert published a list of 23 open problems in mathematics near the turn of the 20th century, and they served to goad the mathematics community into action for the next 75 years at least (some are still unsolved, but most were solved). Saying "this is a problem that should be solved" might betray a lack of knowledge of an existing solution, but hand-waving such an assertion away and saying "he can't back up his opinion" isn't helpful. If he's wrong, anyone can show why by demonstrating a correct solution to the problem - and then we'll all learn something.
- theamk 5y agoThat person is no David Hilbert. As multiple comments says, many of the problems he talks about are already solved. And some of them were solved in the past and solutions abandoned. If you want to learn something, you will be much better off starting from a post which does not ignore existing state of the field.
- kodablah 5y ago> have all the functions described in it turned into reasonably safe FFIed function calls Many langs get close with the ease of importing C headers (Go, Rust, etc), but once you ask for reasonably safe FFI'd calls, you're asking a bit too much since ownership goes out the window. Otherwise, if you mean turned into acceptably-unsafe FFI'd function calls, agree just about every lang with C interfacing built in should have that. > It’s fascinating to me that people find it easier to write a pile of React and HTML on top of electron rather than dragging and dropping native widgets for a framework like we did in the old days. Ok, on my mark, you write a reasonably complex native GUI for the 5 common platforms (and including the wiring, not just drag-drop) and I'll write a reasonably complex GUI w/ web tech. Once you see the difference in time to market, not to mention reduced maintenance cost, it'll be less fascinating. Other than those points, I somewhat agree w/ the others, or rather don't strongly disagree (the condescending tone notwithstanding).
- madhadron 5y ago> Ok, on my mark, you write a reasonably complex native GUI for the 5 common platforms (and including the wiring, not just drag-drop) and I'll write a reasonably complex GUI w/ web tech. Two things on this: this was Java's promise (and Swing delivered on it for the desktop). And the expectations of a web app/electron app are still lower than those of a native app.
- jay_kyburz 5y ago>Ok, on my mark, you write a reasonably complex native GUI for the 5 common platforms oh, it has to run in a browser too so that users don't need to "install" it.
- nixpulvis 5y agoCan Qt help with this? I'm unaware of it's WASM support, but it seems like just a matter of time before they have all the GUI elements.
- nixpulvis 5y ago> Ok, on my mark, you write a reasonably complex native GUI for the 5 common platforms (and including the wiring, not just drag-drop) and I'll write a reasonably complex GUI w/ web tech. I think you've missed the point of the title.
- vorpalhex 5y agoSo obvious and possible the author is ranting about them instead of writing them...
- RcouF1uZ4gsC 5y ago> Automated FFI parsers. In 2021 I should be able to point any interpreted language at a C include file and have all the functions described in it turned into reasonably safe FFIed function calls, The big issue with doing this is that C does not have enough of a type system to exactly specify the interface. Is that char pointer, a null terminated string, or is it a pointer to an untyped buffer? What is the ownership of the pointer you are passing in or is being returned from the function? Are you allowed to pass in null for the pointer parameter? All of these are questions that the C type system does not tell you. You have to rely on some type of documentation to figure it out. And if you get it wrong, you have a memory leak at best or a security while at worse.
- andrewflnr 5y agoThere's definitely still a lot of scut work the compiler could (and therefore should, in my view anyway) be doing for you. Even if it got you to the point where you can setup those safety invariants in your interpreted (or whatever) language, that would be nice.
- _ph_ 5y agoI think this points to the real answer: libraries should be defined by something else than the C headers we are using now. All automated solutions or parsing C headers require a C compiler present and as you write, there is a lot left unspecified.
- contextfree 5y agoWindows has partly moved and is moving in this direction - WinRT (higher-level, C#-like but without requiring the .NET runtime and GC) APIs are already defined in metadata, and now Win32 (lower-level, C-style) APIs are being defined that way as well: https://github.com/microsoft/win32metadata/blob/master/docs/roadmap.md https://github.com/microsoft/win32metadata/blob/master/docs/...
- nixpulvis 5y agoI agree with the general sentiment of this post, but like others, I think some explanations lack depth and possibly miss important active developments. This passage made me laugh though: > The funny thing is, the same people who absolutely insist that the Church Turing thesis means muh computer is all-powerful simulator of everything, or repeat the fantasy that AI will replace everyone’s jobs will come up with elaborate reasons why these things listed above are too hard to achieve in the corporeal world, despite most of them being solved problems from the VLSI era of computer engineering.
- pdamoc 5y agoGerald Sussman of SICP fame was asked why they stop teaching SICP and he said that the way programming was being done changed mid 90s. It moved from programming from first principles to programming against an API. This is still the reality of most. You have to be big enough or brave enough to move back to reinventing the whole universe. In theory, any large company could use projects like Oberon and "STEPS Toward The Reinvention of Programming" as an inspiration and create a full stack that runs GUIs on all platforms. In practice this is a monumental undertaking that not even companies like Apple could do. They still reused BSD for macos and KHtml for Safari.
- jolux 5y agoApple could absolutely do it (or Microsoft, or Google, or Amazon) but there’s no justification for it from a business perspective.
- upforgrabs 5y agofuchsia seems like a solid attempt by goog to write a ground up os
- sparkie 5y agoWhat are the advantages/disadvantages of Zircon over seL4? I've read up a bit on seL4, but can't seem to find the rationale or design decisions behind Zircon. Not sure why Google needs to roll their own microkernel when there is a fast, secure, formally verified one they could use.
- upforgrabs 5y agoA web search shows some speculation suggesting it could be Zircon's larger feature set and a desire for an in-house ground up solution. Fuchsia leads are on twitter; they seem very nice and some have open DM's. They'd probably be happy to answer
- Aeolun 5y ago
- speedgoose 5y agoThere are many reasons why developers use Electron for GUI development. The size of the final package is not very important, and creating many times the same native application is not that appealing. Having a cross platform, responsive, and a modern high quality framework is much more appealing.
- andrewflnr 5y ago> The size of the final package is not very important You can only install so many packages with this philosophy before size starts to be important after. More to the point, you can only run a few of them at a time, on machines with gigabytes of RAM. This is a profound embarrassment to our industry. If by "responsive" you're referring to input latency, Electron apps are at best on par with native, usually worse IME. If by "responsive" you mean accommodating different displays... it's a desktop app. Your statement about a "high quality framework" is basically orthogonal to reality, but I'd like to see you justify rating React "higher quality" than Qt5.
- Aeolun 5y agoI can start building in React today, and style literally everything without really thinking about it. I can start with Qt5 today, and give up screaming in rage tomorrow because I can’t get my select dropdown to display what I want.
- hulitu 5y ago> I can start building in React today, and style literally everything without really thinking about it. And be cursed into oblivion by the first user. > I can start with Qt5 today, and give up screaming in rage tomorrow because I can’t get my select dropdown to display what I want. File a bug report. Oh, i forgot, developers want to develop, not to fix bugs.
- speedgoose 5y agoI understand the performance criticism. But people don't have that many apps, storage is cheap and we have plenty of ram. Today a high end smartphone has 128gb of storage and 8gb of ram. Some have 512gb of storage and 12gb of ram. An actual high end desktop computer has at least 64gb of ram and enough storage to have quite a lot of Electron runtimes installed side by side. My M1 MacBook pro with only 8gb of ram, I asked 16gb but someone did an ordering mistake, has no issues to run multiple electrons apps at the same time and storage is not something I think about. By responsive I mean accomoding different display sizes, to have a layout that makes sense on a small laptop with a touchscreen or a 4k 32" external display. For most usages, I will rate react much higher than Qt5, like almost everyone one in the the industry. The only Qt interface that I think is nice and up to modern standards, and that I remember is the Tesla user interface. It may be a few others because sometimes Qt makes sense, but not for desktop in my humble opinion.
- deleted 5y ago[deleted]
- roca 5y agoI only had to read the first few sentences of the first point to see that the author thinks problems are easy because they don't understand the difficulties. Parsing C function prototypes doesn't give you enough information to write safe language bindings. For example if you see "char* make_stuff(const char* param);", you don't know whether the memory pointed to by 'param' can be reused after the function call, or whether the function actually took ownership of it. You don't even know how many bytes of memory 'param' has to point to, because you don't know whether 'param' points to a null-terminated string or something else. Likewise you don't know how many bytes of memory the returned pointer points to, you don't know whether the caller is responsible for freeing it, and if they are you don't know how to free it. You don't know whether it's safe to call this function concurrently from multiple threads. You don't know whether 'param' or the return value are allowed to be NULL or not. And this is nearly the simplest possible example!
- TimTheTinker 5y agoYou raise a good point, but the OP's point still stands. All we'd need is comments in header files with the extra type information encoded, and automated FFI would be possible. Not to say that would be easy... building a type system on top of a language that lacks it is anything but easy, but it's possible. TypeScript is an excellent example.
- roca 5y agoThe OP's point is very clearly "we could just parse C header files and do it all automatically", not "we could parse C header files and a bunch of extra handwritten metadata and then do the rest automatically". The latter point is certainly more defensible but it's not the point they made, and it's much weaker ... I mean of course if you add extra metadata you can generate whatever FFI glue you need. The devil is then in the details.
- philipswood 5y agoI took his point in general to be a rant about the unwillingness to give priority and effort to things that are schleppy, but doable. An unwillingness to address the devil in the details. The main idea being that an unwillingness to solve these problems once, generally and completely is dooming "us" to solve it partly, inefficiently and repeatedly. I would take the detail he gives for the specific cases as incomplete. Specifically this one. I would NOT say that the article as a whole is "clearly "we could just parse C header files and do it all automatically"" All of these should be doable. Each of these obviously has significant schleppy or technical difficulties/constraints. For none of these does he address the actual reasons they haven't been done or suggest plans for overcoming them. I kinda agree with him at a high-level in this case FFI _should_ be solvable. I think for this case he's just saying "there should be _some_ way to automatically generate FFI glue code (and we should be reusing it)"
- deleted 5y ago[deleted]
- annica 5y agoI actually really like this whole post. Every time I think about quitting HN altogether a rare gem like this comes along. You should be able to have a little fun with common pain points we all have to deal with. The author has some pretty good suggestions as well. But I almost lost my drink with this one: “ Imagine if the EC2 were as clean as, I dunno, z/OS, which has more or less been around since the 1960s. That would be pretty cool. I could read a single book instead of 100 books on all the myriad tools and services and frameworks offered by Oligarch Bezos. He would be hailed as a Jobs-like technical innovator if he had some of his slaves do this, and he would be remembered with gratitude, rather than as the sperdo who dumped his wife for sexorz with lip filler Cthulhu.” Comedy gold.
- solatic 5y agoPart of what makes it funny is that if Bezos somehow got IBM to license z/OS to AWS to offer z/OS as a service on-demand, that it would likely be incredibly lucrative.
- JanecekPetr 5y agoAutomated ffi parser soon (TM) to be in standard Java: https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md https://github.com/openjdk/panama-foreign/blob/foreign-jextr...
- ggm 5y agoOperating systems don’t have to look like your crazy hoarder aunt’s house This.
- ajarmst 5y agoIf they're so easy and obvious, why hasn't the author done it, at least as a demo? The article also reeks of "this doesn't work for me, therefore it won't work for anyone" I doubt I'm the only one who absolutely does not concede that everything should have a GUI interface. "Why does shit like DPDK exist?" I don't know, but I bet you could find out with a little investigation, which might make this sound more like a well-researched position and less like a tantrum. "people who absolutely insist that the Church Turing thesis means muh computer is all-powerful simulator of everything". Yeaaah...we're done here.
- ajarmst 5y agoThe author's about page reports that he is a former physicist with experience in automotives and law enforcement. It also contains the statement "I have a particular dislike of self-anointed 'experts';" with no apparent irony. And my personal favourite: "People may think I’m fighting above my weight class, because many of the people I label as clowns are on television and in important newspapers, much like the stars of 'The Bachelor.' " Uh huh.
- clarge1120 5y agoThe guy has a sense of humor that is both effective and rubs The Offended the wrong way.
- deleted 5y ago[deleted]
- suhas2go 5y agowho's this guy again?
- Santosh83 5y ago> Engineers are a defeated tribe; it’s cheaper to hire an “AI” (Alien or Immigrant) slave to write the terraform or electron front end rather than paying clever engineers well enough to build themselves useful tooling to make them more productive and the world a better place. Offensive passage that subtly implies immigrants from the developing world are slavish (and dehumanising them as well, using the word alien), incapable of intelligence, and who're undercutting honest-to-god 'engineers', and preventing the world from becoming a better place. I'm astonished that hordes of people are still ready to sell their first born if they can get a citizenship amid such a culture of passive racism and superiority complex.
- Aeolun 5y ago> I'm astonished that hordes of people are still ready to sell their first born if they can get a citizenship amid such a culture of passive racism and superiority complex. Can you imagine how bad it is where they come from?
- hulitu 5y agoNo. He is just astonished. I am also astonished that a so called good manager will outsource a project to a "third world" country because he thinks this is cheaper and the poor guy in the third world country must reinvent the wheel and be "creative" because he is denied money (for equipment) and knowledge. ("just take this code and continue").
- clarge1120 5y agoThere is no racism here, subtle or otherwise, and I say this as a black engineer watching this happen every single day. Engineers are not allowed to talk about how their jobs are being replaced by web development in every possible corner even where it doesn’t fit. It is much cheaper to hire 5 offshore web devs for 5 weeks to force a solution into a web interface and then have an onshore dev spend 2 weeks turning web UI into an Electron app than it is to build any other type of solution. He is simply stating the issue rather than not stating it.
- wokwokwok 5y ago> The reality is they’re all quite possible, but nobody makes money doing them. You don't get nice things for free. Seriously, we could build a space station around Jupiter if we reallllly wanted to. It would be hard, and people would probably die, but if you really wanted to, you could do it. Similar story for these problems: Solvable? yes. Valuable? Well... maybe; but probably hard enough that you can't do them for free, and not valuable enough to justify the cost and effort of doing them. > Engineers are a defeated tribe... Is that the take-away here? Be sad, give up? Go and build some electron apps? There are two problems here: doing (hard task), and paying for it; you can solve either of them by either a) volunteering your time to work on (hard task) or, b) helping fund people who are. Not to say that the points raised are all invalid, and enumerating things which are worth working on is also helpful, but yeah, well, when people are trying to address them, and all you've got to say is: > You see pieces of this idea here and there, but like everything else about modernity, they suck. ...complaining that no one else is doing either of these two things, or the ones that are trying suck, is... well, I'm going to be generous and say, entitled.
- spullara 5y agoSome responses: 1. Java is adding this with Panama. Definitely a sore point and should be standard when folks are making their languages. https://openjdk.java.net/projects/panama/ https://openjdk.java.net/projects/panama/ 2. Meh. 3. This is exactly how to get zero people to use your cloud. Everyone would love to do this but adoption risk is too high. 4. This will never pass muster when it encounters design. There are plenty of tools that do this but generate half-hearted interfaces. Xcode (interface builder) does a pretty good job of it anyway but folks will still want to customize their UIs. 5. Fair criticism. 6. I think that CoreOS was a step in the right direction. Not sure if they have seen it.
- piyush_soni 5y agoRe: Point 4: I think C# Windows Forms are a great example of that (drag and drop GUI for creating GUI forms), and I wonder why no one is making things that easy in a cross-platform manner anymore!
- clarge1120 5y agoIt would take the resources of a Microsoft, with their decades of language and OS experience to create such a thing. And, Microsoft has no interest whatsoever in encouraging a cross platform desktop ecosystem.
- manigandham 5y agoMicrosoft is working on it, it’s called MAUI: https://github.com/dotnet/maui https://github.com/dotnet/maui
- deleted 5y ago[deleted]
- dukeofdoom 5y agoThe world is the way it is because of a series of compromises and negotiations by competing interests. It's easy to look from one perspective and only see the hilltop, and think you can get there by taking the straight road.
- jupp0r 5y agoI really dislike the article, here are some reasons (referencing the numbered arguments in the article). 1. There are many such parsers. Rusts bindgen [1] is one of them, I have written a proprietary one last year. This is pretty common to do for narrow use cases, there just isn't one for "Convert a C API to Ruby".. 2. "Most VM designs I’ve seen are basically just student exercises". Seriously? Create a better on and get rich then! I'm pretty sure Google would pay good money for something better than v8. 3. You can run z/OS on EC2. They do very different things. It's like saying I wish that cars were as simple as a strawberry. 4. "People used to make GUI frameworks which did more than electron apps, looked better and fit in the tens of kilobytes range." That's correct and that's why lots of apps are based on native UI frameworks. For some use cases, electron seems to hit a sweet spot (mostly not having to write UI for each platform and the web too). If you don't like electron apps, don't use them, most run in the browser too. 5. "Compilers and interpreters should learn how modern computers work." I don't know where to begin here. Modern compilers optimize for latest hardware all the time, one recent example out of thousand others is this [2] where V8 redundantly inserts short functions into memory regions close to the code they are called from in order to get more instruction cache hits. [1] https://github.com/rust-lang/rust-bindgen https://github.com/rust-lang/rust-bindgen [2] https://www.techradar.com/news/google-chrome-is-now-dramatically-faster-heres-why https://www.techradar.com/news/google-chrome-is-now-dramatic...
- pdimitar 5y agoLook, I agree that the article could've used a more productive tone but saying "just don't use Electron apps" is misguided. We don't have a choice. IMO it's perfectly fine to be consistently unhappy on that point and to rant about it.
- jupp0r 5y agoYou can be perfectly unhappy, sure. My point was just to go a little deeper than just rant and talk about the economics of why companies choose electron in spite of all the disadvantages it comes with.
- 5y ago
- mcqueenjordan 5y agoAn incredible optimization of Dunning–Kruger × Bravado.
- vzaliva 5y ago"Pretty much all compilers and interpreters think computers are a PDP-11 stack machine" shows that authour have no idea how modern compilers work. A ton of low-level optimizations and code generation are utilizing intrinsic knowledge of details of underlying computer architecture.
- FounderBurr 5y agoSomebody call this clown a whaaaaambulance.
- xfer 5y agoThere are some conflicting things, why would you do a clean OS design(this would be great and i would very much like to see some experiment with serious effort) and write it in C? You would already be throwing most of useful programs that exist today. If you no longer write it in C why would you need to parse C headers for calling "foreign" code? The point on software not taking enough advantage of hardware is on point. I would also like the hardwares(e.g. SSDs) to expose a bit more how they work rather than have another CPU emulating spinning disks.
- mackrevinack 5y ago7. software that allows you to add an empty line in between numbered lists
- deleted 5y ago[deleted]
- eezing 5y agoI hate this post.
- lamontcg 5y ago> Cloud providers should admit they’re basically mainframes and write an operating system instead of the ad-hoc collection of horse shit they foist on developers. Imagine if the EC2 were as clean as, I dunno, z/OS, which has more or less been around since the 1960s. That would be pretty cool. I could read a single book instead of 100 books on all the myriad tools and services and frameworks offered by Oligarch Bezos. He would be hailed as a Jobs-like technical innovator if he had some of his slaves do this, and he would be remembered with gratitude, rather than as the sperdo who dumped his wife for sexorz with lip filler Cthulhu. There’s no excuse for this from an engineering perspective; Bezos was smart enough to know he was going to do timesharing, he was also smart enough to constrain the spaghetti into something resembling an OS. Same story with all the other cloud services. Really, they should all run like Heroku and you’d never notice they were there. You could also draw flowcharts for most of this shit and replace devops with something that looks like labview. Nobody will do that either, as innovation in core software engineering, or even learning from the past in core software engineering is basically dead. Heh, no Bezos was not smart enough to realize he was building a horizontally scalable mainframe out of commodity parts. All he knew was that they'd driven IT costs down below what anyone in the business had seen in other companies to the point where they could drop some APIs on it and sell it. Plus google was publishing papers like GoogleFS and coming up with GMail and everyone wanted to be seen to be as smart as them. This bit in particular: "he was also smart enough to constrain the spaghetti into something resembling an OS" is "lol, no". The big pile of web APIs was his vision. Literally its called Amazon Web Services.
- Animats 5y agoFront ends could be drag and drop native GUIs instead of electron apps We had Visual Basic. We had Dreamweaver. We had Microsoft FrontPage. What went wrong? Most web pages really aren't doing anything that exciting.
- hulitu 5y ago> Front ends could be drag and drop native GUIs instead of electron apps > We had Visual Basic. We had Dreamweaver. We had Microsoft FrontPage. What went wrong? Visual basic was only used to run macros in Office documents. And then viruses. And then MS killed it. Dreamweaver ? Hello Adobe. Frontpage ? Was broken by design. SW is only about inovations. It does not need to last. It must be new. > Most web pages really aren't doing anything that exciting. Data collection is a very exciting thing, so I heard.
- mikewarot 5y ago>Visual basic was only used to run macros in Office documents. And then viruses. And then MS killed it. No, it got used to do a lot of things, so did Delphi. VB6 was awesome, then they decided to abandon a good thing and went off on the stupid .NET folly.
- Aeolun 5y agoEvery time I read something like this, I think how much I want a true cross platform GUI library with the customizability of HTML/CSS, determine to build it myself, then give up before I even start when I realize how much work it’s going to be.
- clarge1120 5y agoSame here. A native cross-platform GUI library with HTML/CSS native markup would set the works aflame. It would take many man-years to build, and would take the dedication of Torvolds and the core Linux team to bring into the world.
- Animats 5y agoOperating systems don’t have to look like your crazy hoarder aunt’s house. If all the bare metal OS is doing is running containers in a data center, it should look more like Xen and less like Linux.
- Miiko 5y agoLooks like nobody noticed the date at the top of the page: "Posted in tools by Scott Locklin on April 1, 2021"
- aleclm 5y agoAt rev.ng we're developing ludwig, a clang-based automatic generator of wrappers for C++ APIs. First we generate C API and then generate wrappers for dynamic languages such as Python/Ruby/JS. It's basically SWiG done right. Trying to write a C++ parser is a design doomed to fail. In C++ ownership is much more explicit than C on average. The idea is to have a Python wrapping object for each C++ pointer. This wrapper can be owning or non-owning: if it's owning calls `delete` once the wrapper is destroyed. If a C++ function returns a std::unique_ptr we map it to an owning wrapper. If a C++ function returns an object by value we `std::move` it on a new object on the heap and map it to an owning pointer. If a C++ function returns naked pointers, we map it to a non-owning wrapper. The system is extensible, for instance you can say that a owner<int *> (see C++ Core Guidelines) is actually owning. The wrapper can also be const or non-const, exposing the appropriate methods accordingly. Also you have a lot of patterns you can exploit to provide high level constructs in scripting languages (e.g., `.begin` + `.end` ranges can become Python generators rather easily). Here you can find the design document: https://pad.rev.ng/s/__WrFSmm_# Right now, we're struggling with default template arguments. Many STL classes have default template arguments which make the name of types look ugly. Also, we currently instantiate all the methods of template classes. But not all methods are supposed to be instantiate with all the possible template values. If you do instantiate those, you can run into compile errors. This means we have to resort to a sort trial and error approach to see what it actually makes sense to instantiate. ludwig will be open source, but still needs some love before going public.
- whereistimbo 5y agoI haven't read this and I am very puzzled this is flagged. I'm lucky to fav this before this goes flagged. At a glance, this doesn't seem to be insulting or whatnot.
- radiator 5y agoWhy was this article censored? Was it done without an explanation? I do not find one.
- radiator 5y agoI got downvoted at least twice, but noone bothered to link to the explanation why this article is no longer visible.