1. 4

    What will happen next? Are we going to get a z80 inside our phones? Why not a 6502? Hell, I would love to run C64 basic interpreter natively inside my phone…. No really, I’m not criticizing Apple or Intel for using an x86 core, I don’t really care, but…my PERSONAL opinion is that something is going really wrong in this world.

    lol? Nothing wrong with either x86 or ARM… I’m curious why the author feels this way.

    1. 10

      x86 is typically considered a difficult ISA to make small silicon for due to its complexity. Previous attempts at small x86 processor products (notably the Intel Gallileo) have ended up very expensive.

      Albeit I believe that x86 processors don’t run the instructions directly, instead they break down each instruct into simpler (RISCier) micro-ops that are run [citation needed]. There’s jokes about the idea of making an x86 processor run ARM or other ISAs natively, if only you could write your own firmware.

      1. 7

        IIRC pretty much all (big) processors use micro-ops, even if the ISA is already RISCy

        1. 2

          Here’s a nice blog entry by ryg. The last paragraph is quite interesting:

          And by the way, I used x86 as an example here, but don’t believe for a second the same thing doesn’t apply to, say, the ARM chip in your phone. Modern ARM chips support multiple encodings and also rank over 1000 instructions […]

          MIPS is similar as well, it has SIMD, historic baggage (invented in ’85), etc., and even this.

          SPARC has ‘tagged add’ etc. instructions, made specifially with certain language runtimes in mind.

          The recent PPC 600 blog series made it clear that PPC, considered a RISC, isn’t very ‘reduced’ either.

          I don’t know much about RISC-V, but v2.2 of the spec tells me extensions for SIMD (P), “dynamically translated languages” (J), etc. exist, or will soon.

          The only ‘simple’ ISAs left are probably 6502, AVR and maybe SuperH (I don’t know much about this one either).

          EDIT: funnily, Z80 is considered CISC, while those chips are considerably simpler than many of these ‘R’ISCs.

          1. 9

            RISC is more about fixed instruction word length and no direct-memory operations than reduction of features.

            1. 1

              SuperH was used in Dreamcast. Still sold by Renesas in multiple versions for embedded sector.

        2. 5

          Kind of weird why he is complaining about x86 processors and their complexity in manufacturing if he is an end user? Like he ain’t fabbin’ them.

          1. 1

            Yeah, it would cost him more to get an 8-bitter out of an old node than buy a single Xeon. Probably.

        1. 2

          This sounds a lot like Entity Component Systems

          1. 1

            Entity Component Systems usually utilize this pattern but this pattern doesn’t make an ECS. 👍

          1. 3

            And Unix line endings! Hands up all those who spent days chasing down a breakage that turned out to be someone editing a Linux file in Notepad (raises hand)

            1. 4

              Notepad adds a BOM if you save it as UTF-8, it’s one of the few things that does that. It’s wasted dozens of hours on a project that I’ve worked on.

              1. 2

                I added an automated test to our codebase that would check for BOM in SQL-files, which Windows wielding colleagues apparently were editing in Notepad. I never knew how they did it; thanks!

            1. 7

              I just wonder, how is it possible to have 124000 employees, yet leave such an important application untouched for so many years? The line ending thing is really important, but one could argue that MS haven’t cared for non-Windows systems, but Notepad has also been broken in other ways; ctrl+backspace inserts a square instead of deleting a word, for example.

              MS exhibits this behavior towards other important apps too. Explorer.exe still doesn’t use the “new” APIs to support paths more than a couple hundred characters, meaning people end up with folders they can’t delete using Explorer. Explorer’s text input fields also insert a square when you hit ctrl+backspace, just like Notepad. CMD.exe just recently was updated to let the window be maximized.

              1. 9

                I should specify why Notepad is such an important application, because it might not be obvious; everyone who needs a text editor just downloads Atom/VS Code/Sublime/Notepad++, right?

                No. There’s lots of people who aren’t programmers, who usually don’t need a text editor, but need to change a config file from time to time. Most people who install mods for games probably need to change a config file, or people who want to play a game but have a slightly unorthodox setup (surprisingly many games hide away settings like disabling the FPS lock in some INI file instead of exposing it through the GUI). Or maybe you just need somewhere to write a Reddit/Lobsters/HN comment or post that’s slightly longer than what’s comfortable to type in the text box. Maybe you need to reboot into BIOS to see some information, and want to save your draft without posting the comment yet. These are the people Notepad is for, and while it’s not important that Notepad is good for those uses, it’s important that it’s not broken.

                1. 3

                  I often use Notepad for anything that I’m looking at quickly and likely don’t have to interact with. “What’s in this file?” etc. It starts so fast compared to those other editors. it’s not tabbed (yet), so it’s not taking over what ever content I have open. It never starts maximized for me and that creates a mental shift for me that means it’s temporary.

                  1. 2

                    Yeah, especially now that Electron-based editors which have to start an entire instance of Chromium before you get to do anything are so popular, having a really lightweight editor to just check the content of a file and maybe change a value is nice.

                    Most of the time when I need to do that I’m in Linux, so I just open vim in my popup terminal, but I occasionally use Notepad on windows (and then regret it once I need to delete a couple of words and just insert squares instead).

                    1. 1

                      Vim/Linux is a great comparison actually. I use notepad the same way I use cat, less, nano or vim(default, uncustomized) in the terminal.

                  2. 2

                    I used to use Notepad for looking at untrustworthy stuff since it was easy to sandbox and already light on resources. I also used it as a default editor since it was on every system. WordPad for memos or official looking stuff where possible since RTF was super-light compared to MS Word. Also easier to sandbox.

                  3. 6

                    My first thought seeing it was “Ah, I remember that bug I ran into in high school… 25 years ago.” I guess updating it wouldn’t move a meaningful business metric and their users enjoyed the world’s most robust third-party software market. But few users edited between operating systems, so it wasn’t broken for the users with light editing needs.

                  1. 10

                    Ive been in conversations online in various places about getting Firefox revenue off ad revenue. One of my ideas was enterprise features licensed at a nice price. Like wigh Open Core, makknv the enterprise features paid has almost no effect on individuals that make up their majority of users.

                    “a little something extra for everyone who deploys Firefox in an enterprise environment. …”

                    Then, they start adding that stuff in for free. So much for that idea.

                    1. 9

                      They could start with a Windows Server GPO that was easy to install and configure. There’s no bigger Firefox advocate than me, yet I’m forced to use Chrome on my network because it was so easy to configure high-security policies for it, whereas I gave up trying to do the same for Firefox.

                      1. 4

                        Bookmarking that idea in case I ever get a chance to talk to their managemeng about this stuff. :)

                        1. 9

                          Thanks Nick! I’m no manager but I can take it from here (on Monday, because I’m off for the rest of the week):-))

                          @jrc: Are you willing to expand on that hardship? AFAIU our project managers have worked with some enterprises to hear about their needs. This is in part because the enterprise mailing list we have doesn’t contain enough vocal enterprises willing to talk about their pain points in the open.

                          Did you try the GPO features we just released with Firefox 60? What were you trying to do that didn’t work? Is there anything else you were missing?

                          For everyone else reading this, please answer those questions as well and I’m happy to forward the whole thread.

                          1. 2

                            I’m not jrc, and this isn’t specifically related but my biggest problem with Firefox largely boils down to the fact that it’s not portable. It’s one of the few things where I get a new computer, plug in my drive, and it isn’t already working. I just did it again today, and while I use sync, losing my open tabs (on the session I’m using), cookies, extension data, and everything else that goes along with my previous session isn’t great.

                            1. 4

                              Sorry to pile onto that, but on a slightly related note: It’s embarrassing that Firefox is still dumping folders into $HOME instead of following the applicable standard.

                              1. 1

                                Update! Please read through the policy templates repo and file issues there.

                                1. 1

                                  No fix for this and I don’t think that’s the appropriate place for it. :-/

                            2. 1

                              Hi! Sorry I didn’t see your reply or I would have commented back sooner. To answer your question, it’s been a couple years since I tried it. However, I’m about to upgrade to Windows Server 2016, so I will give it another go with Firefox and document the experience.

                              I can say off the top of my head, on my particular network, I’m looking to:

                              Browse websites and do nothing else. Easily lock out the ability to print, change any configuration settings at all, including visibility of toolbars, Firefox sync, managing search engines, anything like that.

                              I’d also like to be able to easily (1) install and (2) configure settings for add-ons, to manage mass deployment of updates to those add-ons, etc.

                              1. 1

                                Thanks for the feedback. Great to hear you’ll give it a try. I suppose that not exactly 100% of your requirements will be satisfied, but I’d love to see a blog post about your endeavors (unless it’s shattering criticism ;))

                              2. 1

                                Update! Please read through the policy templates repo and file issues there.

                        1. 5

                          I work remotely and so far everyone’s mostly on the same path.

                          I think it’s easier to answer it the other way around though. Why aren’t some languages good for remote work? Well… I do a lot of C++, and my compile times are like 40+ minutes for a full rebuild when I change something deep within Unreal Engine 4. My onsite coworkers use Incredibuild (actually SNDBS), as such their compile times are a fraction of mine. That makes C++ not fun to work with. I’m sure many would argue that it’s the codebase that causes the problem, but the language definitely plays a huge roll in it. Epic solves this by throwing infrastructure at it (ala Incredibuild) instead of trying to work around problems in the language (read: lack of modules, template bloating, etc).

                          An absolute killer is binary files. So any binary serialized scripting system is terrible. They are bad enough onsite, but combined with exclusive locks it’s so much worse remotely. Onsite you can just roll over and ask the person with the lock when they’ll be done with it. Remotely it’s slack, they may look away and miss the message, you have no idea if they are at their desk, in a meeting, or out to lunch. It just slows everything down so much.

                          1. 8

                            This is fantastic. I’ve been pretty vocal about this on twitter, largely along side @aprilwensel / @compassioncode, I love and use SO all the time, but it definitely isn’t a friendly place. My experiences contributing rather than consuming have been disappointing enough that I likely wouldn’t ever do it again if things didn’t change.

                            Take this example: https://stackoverflow.com/questions/10967795/directinput8-enumdevices-sometimes-painfully-slow/40449680#40449680

                            I posted this answer to this extremely obscure DirectX issue. This was literally the only result on google for the keywords I was searching. (Along with those stupid aggregator sites that just copy the content from SO…) I was a new account and could not post a comment on the question, only an answer. My answer is not an answer, it’s merely that I have the same problem and here’s what I’ve learned, and I made that known. The person that asked the question replied to my answer with “Very interesting! Thanks! […] It’s good to know I’m not the only one it affects!”. I GOT 3 PEOPLE ATTEMPTING TO DELETE MY ANSWER. How dare I try to contribute something useful? Better delete it for not actually answering the question! Thankfully I was able to respond to the deletions and keep it. Now it seems like someone else responded with a similar “I’m getting this too, but haven’t solved it” answer, and I’m glad they did because it’s starting to piece together this problem.

                            That sucked, and made me jaded towards contributing.

                            Another example is: https://stackoverflow.com/questions/3240633/web-based-vnc-client No it’s not programming, but it was like the first result for web based vnc client. It has like 31 votes, the answer has 23. It’s obviously a useful post. Yet it’s closed as off topic. It seems like content people want to see based on the upvotes. Now it’s just frozen in time with outdated content, and that sucks. Yes there’s other sites where this is better suited, I’d argue that a VNC client is primarily a developer tool though. I’d be surprised if developers/IT in some form make up less than say 70% of people that use VNC. You can ask questions about other developer tools like vim, emacs or MSVC on SO.

                            For the duplication issue what happens currently is if the question is identified as a duplicate, the question is closed with a message that feels like “Hmfp, RTFM, Why didn’t you search, this is a duplicate of this other question, use your eyes.” What should happen instead is, A: Don’t close the question. B: Link it as a possible duplicate of the other question. C: Post a message like, “We suspect that this question is a duplicate of this one and have associated it with the other question. If you believe this is incorrect then [click here] to revert this.” Then improve the flow for people ending up on this question to funnel them to the parent question, while still letting people answer this one, and better show the list of duplicate questions in the parent (depending on how well they can do SEO with this, obviously linking to a bunch of essentially dead/duplicate questions wouldn’t be great on the SEO side.)

                            1. 2

                              I gave up on SO for similar reasons - the mods seemed to care less about having a useful site than enforcing the ‘rules’.

                              1. 2

                                Even before the unfriendliness and mod absurdity, or at least before complaining about it got popular, I haven’t had very good experience with using SO for hard problems like the one you answered. I don’t think SO’s system is well-designed for attracting people capable of offering insight on such questions, or surfacing those types of questions to them when they do happen to show up and browse. It seems more like a system where newbies who are missing semicolons get their advice in ~10 seconds, while problems hard enough to stump experienced devs for hours or more get crickets.

                              1. 2

                                Bummer that sound is still messy. There still doesn’t seem to be a single competitor to Equalizer APO/Peace on Windows that doesn’t have sound quality issues or requires you setting up a convoluted Pulse -> Jack -> Alsa configuration.

                                1. 4

                                  About 1/3 of the time that I get on a conference call at work my audio and/or microphone doesn’t work. I have to close chrome, disable my audio, enable the microphone, and then enable sound+microphone. I can’t jump from disabled to sound+microphone, and I need to pause for at least a second or two before I change each setting or it doesn’t fix it.

                                  It’s stupid and takes me about an extra 2 minutes every single time. :/ I still can’t in good faith recommend Linux to anyone that’s not already familiar and using it.

                                1. 2

                                  “Professionally” used literally for once. Kinda buried at the bottom, pay to use.

                                  1. 4

                                    Like most things in the market slug is aimed at it’s worth it. We (game developers) all buy things like Bink, wwise/fmod, RAD Telemtry and Basis for a reason. They have some of the smartest people in the industry putting thousands of hours into them. Edit: It would be nice if it was FOSS, but when we value an engineers time at > $100k/yr, the price tag on something like this is a lot easier to swallow.

                                    1. 3

                                      Why is Bink (still) a thing? Modern games barely play any video at all (apart from the super rare FMV projects), and somehow services whose primary and only purpose is playing video — i.e., YouTube — get away with VP9.

                                      1. 2

                                        Why is Bink (still) a thing?

                                        Look around more!

                                        How many in-game menus have streaming video in the background or on a side panel during a briefing? How many in-game surfaces have streaming texture updates from a decoded video stream?

                                        :)

                                        1. 1

                                          IIRC Bink is significantly less cpu-intensive than VP9, which may be useful if you’re e.g. loading a level while showing FMV.

                                        2. 2

                                          I kind of feel like working at RAD would be the kind of olympic gold metal of game software engineering.

                                      1. 3

                                        It’s not just me; this process is a bit weird, right? The network-based installation does make it easy to stream a fresh version of Fuchsia to the device, but it seems like a lot of work for purely development purposes. Plus, if you want to repeatedly put software on a piece of hardware, the transmission medium of choice is usually USB.

                                        Errrrrrrrr, a fair amount of initial setup but way way way less work in the long run.

                                        1. 2

                                          I feel like I’m kind of missing the point of this?

                                          We want to avoid the DOM for rendering the text editor, for example, instead using a canvas, WebGL, or any other approach that can give us extremely good performance. This may make syntax themes slightly more difficult to build, and we accept that trade-off.

                                          Isn’t the whole point of Electron like 50% Javascript, and 50% DOM+CSS? If you’re not using either then… what is left? Why keep using Electron?

                                          Edit: I’m excited to see where this goes though, nice to see more people getting paid to use rust!

                                          1. 2

                                            there’s a lot more to a text editor than the editing area though, right? Just because the text editing component is rendered outside the DOM doesn’t mean the settings dialongs, or VCS integration, or sidebars, or embedded help browser, or popups, etc. aren’t. And in terms of extensibility, those are the things that should have an easy interface that many, many, many developers are used to, since that’s where the grand majority of useful extensions seem like they could end up.

                                            I think it’d be rad to see people get past “if it’s Electron is has to be 100% DOM + Javascript”, which will help with the anti-electron stance I’ve seen a lot. It’s a tool with strengths and weaknesses, and using it only for it’s strengths seems like a pretty good idea…

                                            1. 1

                                              Whoops, I removed this while you were writing this! Undeleting.

                                              I missed the part where they were still using DOM+CSS for the rest of the UI until I had a second look at it.