1. 5

    It utilizes circa 30 % of CPU all the time, even if I do not move mouse or even look at that GUI (I am switched to a different desktop looking at htop in Konsole).

    I understand that it is development/experimental version, but: do you have any performance goals?

    P.S. One mouse wheel step is too small – compared to scrolling in a native GUI or a classic web page on the same computer.

    P.P.S. Scrolling in the Scroll area scrolls also the outer window/pane.

    1. 1

      CPU hogging might be browser/platform-dependent. I’m also getting around 30% CPU usage when I’m looking at the demo (which isn’t surprising for immediate mode, but I wouldn’t call it lightweight), but it drops as soon as I switch to another tab or desktop. Firefox ESR 68.9.0 on Gentoo.

      1. 1

        I tried Firefox and Chromium on GNU/Linux with similar results. But I switched to a different window/desktop. You are right that if I switch to a different tab, the excessive CPU usage disappears.

    1. 5

      Back when architectures were designed for human assembly programmers and not just as compiler targets. Having a simple and elegant instruction set was considered a selling point.

      If you’re interested in learning an assembly language, you’d be hard-pressed to find a better one than m68k.

      1. 5

        Back when architectures were designed for human assembly programmers and not just as compiler targets. Having a simple and elegant instruction set was considered a selling point

        Turns out it also makes it hard to make a fast processor. Mashey believed it wasn’t the number of instructions, but the ergonomic and symmetrical forms that lead to things like memory-to-memory instructions, which makes it harder to optimize. (Memory decode, dependencies, etc. when it gets broken down into µops…)

        Ironically, the ugly duckling of CISC, x86, is ugly in ways that mostly don’t matter for performance. IBM System/3x0 is actually pretty clean, and arguably on the borderline of RISC with clean mostly fixed instruction forms and mostly schewing memory to memory instructions. (Arguably, the Model 44 comes pretty close to RISC!) I don’t think it’s a coincidence that x86 and z are around today while the more aggressively assembly-friendly architectures like VAX and 68k died.

        1. 3

          It isn’t at all a coincidence; x86 and the Z series are much easier to implement than the 68k or the VAX.
          John Mashey discusses the difficulties with implementing a high-speed VAX here.

        2. 2

          If you’re interested in learning an assembly language, you’d be hard-pressed to find a better one than m68k.

          Someone who wrote several assemblers thinks MSP430, MIPS, and AVR8 are the cleanest architectures:

          https://github.com/mikeakohn/naken_asm/issues/60#issuecomment-471514168

          1. 2

            While I still love the m68k, See MIPS Run is the best processor architecture book I’ve ever read…

            1. 2

              I think that refers to parsing by a machine, and indeed MIPS was designed to be very easy to parse (as were other RISC ISAs), but not to ease of writing the instructions by a human.

              I’ve found MIPS to be somewhat obnoxious to write, but I realize my experiences refer to privileged code intended to work on multiple machines, so aren’t the typical MIPS experience.

              1. 2

                Having worked on a MIPS implementation and the LLVM MIPS back end, I’d agree that MIPS is clean from the perspective of writing an assembler or instruction decoder, as long as we’re talking about MIPS IV and not the newer MIPS32 and MIPS64. That is; however, the only positive thing that I could think of to say about the ISA.

              2. 1

                I think AVR is a good, modern-day contender that I would recommend to anyone looking to get started with Assembly.

                1. 1

                  risc-v?

                  1. 4

                    risc-v?

                    If you want to get an understanding of a simple close-to-the-metal environment, RISC-V is fine. If you want to write assembly code, it’s painful. The lack of complex addressing modes means that you end up burning registers and doing arithmetic for simple tasks. If you want to do complex things like bitfield manipulation, you either need to write a lot of logic with shifts and masks or you need to use an extension (I think the bitmanip extension is standardised now, but the cores from ETH have their own variants). There are lots of clunky things in RISC-V.

                    ARM (AArch32 or AArch64) is much nicer to use as an assembly programmer. Both are big instruction sets, but the addressing modes on ARM are really nice to work with (it’s almost as if they, unlike the RISC-V project, followed the RISC I methodology of examining the output from compilers and working out what the common sequences of operations were, before designing an instruction set).

                    Note that ARM doesn’t call itself a RISC ISA anymore, it calls itself a load-store architecture. This is one of the key points of RISC (memory-register and memory-memory instructions make out-of-order execution difficult), but they’re definitely not a small ISA. They do have a much more efficient encoding than RISC-V (which, in a massive case of premature optimisation, optimised the ISA to be simple to decode in an in-order pipeline).

                    1. 2

                      ah, I made the mistake of assuming that the smaller instruction set of the risc-v meant that it was easier to work with.

              1. 5

                Hello,

                I wrote that post and wanted to clarify some points.

                For the numbers, I’ve found them on three sites :

                https://www.independent.co.uk/life-style/gadgets-and-tech/how-bad-is-email-for-the-environment-a7555161.html https://carbonliteracy.com/the-carbon-cost-of-an-email https://www.theguardian.com/environment/green-living-blog/2010/oct/21/carbon-footprint-email

                It was probably an error to not check them better because the first link was from 2017 but the other ones were older and maybe some improvement has been made since.

                On the signal part, it’s just that people around me used Whatsapp a lot. Moving from Whatsapp to Signal is still better. Of what I’ve read they do some work to remove the phone number and use just a nickname. Dunno exactly where they are about that. The giphy part was also a privacy concern since it’s a 3rd party service.

                I should have been better checked facts …

                Sorry for that and lesson learned.

                1. 1

                  I read your post, and I liked it. I wasn’t clear on why you dislike HTML emails. Edit: I did some thinking, and I came to agree on this point. emails are letters, not websites

                  1. 2

                    @binyamin Ah thanks !

                    I don’t like emails in HTML because the email should just be in plain text and have a link to their website with that page actually… and the second reason is because I use mutt … and sometimes you got email with crapy HTML like this one :

                    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ http://click.e.odigeo.com/u/?qs=daeacdb6679ec88c461f91321f2197852351893baf9a

                    How could you even send that kind of content to people … They should keep those pages on their websites IMHO

                    1. 1

                      Actually, you don’t see it because there was like more than 10 lines of “zwnj;” HTML tags …

                  2. 1

                    Thanks for the clarification. Yes, recommending Signal over Whatsapp sounds like a good idea.

                    1. 1

                      Then the all thing is to write … I started the #100DaysToOffload challenge and the main goal was to write something I thought it would be a subject that could be interesting to talk about.

                      Indeed my research was a bit flaky and I should have done better … but hey nobody is perfect and I’m certainly not too.

                  1. 8
                    • Spam email, even not opened : 0.3 CO2e
                    • A proper email : 4g CO2e
                    • An email with long attachment : 50g CO2e

                    i’m not really sure about these numbers.

                    1. 10

                      The carbon footprint of email are approximately

                      Where I live most power is from burning lignite, which is about as bad as it gets - 1.17 tonnes per megawatt hour.

                      4g of carbon emission would be 14 kj.

                      End-to-end delivery of an email from fastmail to gmail takes about half a second (counting from when I hit send to when it shows up in the gmail inbox).

                      To consume 14kj of carbon emissions in that half-second, you would need to draw 28kw! My local colo will, if you have a really fat wallet, sell you a 6kw line for an entire rack. Worst-case, the cooling for a rack that draws 6kw will use 4kw, and there’s embodied energy in the products, and a control plane, networking gear etc. Lets say a really full rack ends up using 14kw.

                      I don’t think 2 full racks of servers running at maximum power are strictly required to send an email.

                      I’ve been quite generous in this analysis - using lignite for power, inefficient cooling - and I still can’t see how these numbers could be within 3-5 orders of magnitude of reality.

                      1. 6

                        Two further comments:

                        1. The “email with long attachment” is 12x more CO2; that’s some attachment! Given that this number is given just after complaining about “people put images in their signature” I feel it’s rather misleading.

                        2. Email servers will run anyway; and the difference between the base power draw vs. maximum power draw in the context of processing emails is probably not going to be that great. While dealing with torrents of spam emails certainly increases the load significantly, it seems to me that an email with an image is unlikely to increase the power draw by 12x.

                        Given that this person has their own hefty dedicated server for their blog and some projects it seems they’re not overly concerned about a few grams of CO2 more or less. The entire thing seems like a post-hoc argument to rationalize “I don’t like HTML email”.

                        1. 2

                          The “email with long attachment” is 12x more CO2; that’s some attachment! Given that this number is given just after complaining about “people put images in their signature” I feel it’s rather misleading.

                          I can definitely see this. An average text-only email is ~4kb from what I’ve seen. Images I’d expect to see in email signatures weigh ~100kb. It’s a long way from 4kb to 104kb. 26 times larger emails would definitely use more energy to transfer. The question is, is the CO2 emissions dominated by the processing of the email, or the transfer, and I’m pretty sure it’s the processing. Though, even in processing some things like spam processing can use more energy for larger emails.

                      2. 4
                        • a web page complaining about email plus the resulting discussion: XXXXXXgCO2e

                        I’m fairly sure about this number although I’m not convinced about the relevancy of these ‘CO2e’ stories - not about the CO₂ itself, nor about the estimates. It makes a lot of difference whether that mail is sent between two people in Sweden - where electricity is largely CO₂-neutral due to the extensive use of hydro and nuclear (still, the so-called environmentalists want to get rid of it) with a bit of wind added in - or Poland where coal is used for ~85% of power generation.

                        1. 3

                          As others have pointed out, these CO2 number are highly doubtful. Neither source nor methodology are given to back up this claim. But even if we believe the author, one important question remains: Applying the same methodology, what would be numbers for Signal? And no, I don’t buy that routing your communication through the central servers of a private enterprise makes it trustworthy in any way. It’s great that they open source both the client and server software, but you have to simply trust them that that’s actually what they’re running on their servers.

                          In my opinion the biggest problem with Email nowadays is Gmail. And I’m not talking about the obvious privacy implications. I agree that email is kind of broken in that respect anyway, and that won’t change unless there’s a way of encrypting mail that’s end-user/non-techie friendly. I think the bigger problem is Gmail’s tendency to silently block mail from smaller providers. This, combined with their market share, is what breaks email for me.

                          1. 1

                            I think the bigger problem is Gmail’s tendency to silently block mail from smaller providers. This, combined with their market share, is what breaks email for me.

                            with anything else, these practices would be instant-lawsuit, but spam is the ideal front for them, as everybody dislikes it.

                            1. 1

                              but spam is the ideal front for them, as everybody dislikes it

                              Which is why we need to switch off of email, onto a communication channel that has spam-resistance baked in from the get-go.

                        1. 9

                          Yes, I think the author is making a good choice here. Forth is indeed very well suited for these specific constraints. There’s a reason why it was popular on very limited machines such as the Sinclair ZX81 (see Husband Forth). The Jupiter Ace even had Forth in ROM, instead of BASIC as was common at the time.

                          1. 7

                            Hah, I did not see that coming. Thanks for sharing! Author here, happy to answer questions (after I’ve had a night’s sleep).

                            1. 2

                              How would humor be different in this language? You can’t hide the punchline while you’re setting it up. Are there jokes that are just as funny read backwards as forwards?

                              1. 2

                                I guess it would be somewhat similar as looking at a single frame cartoon: https://www.google.com/search?q=single+frame+cartoon&tbm=isch

                                I am sure humor would work differently in this language, but it might introduce alternative ways to express it?

                                1. 2

                                  I’d also add that, while Sapir-Whorf is in general…well, um, provably wrong, to be blunt…there are certain things, especially around humour, that are language-dependent. Puns are only available in some languages, for example; German can’t really do them. Or they’re available spoken, but not written (for example, Japanese, which has many cognates, but uses a Chinese writing system in part to avoid ambiguity in written forms).

                                  In this case, I can imagine an almost reverse of the Japanese situation: some of these sentences would be recognizable as drawings, and could have a unique form of written-only pun depending on how that worked out.

                                  1. 4

                                    German can do puns. Maybe Germans can’t, though. ;)

                                    1. 2

                                      I speak German okay, not great, so I confess I’m forwarding what I was told. Can you give me a German pun? I love them in English.

                                      1. 5

                                        Germans can definitely do puns, and puns are in fact pretty common in German (though generally considered to be “lame” jokes). The German name is Kalauer. A classic one: “Es wird nie wieder ein Kalauer über meine Lippen kommen, und wenn du lauerst, bist du kahl wirst.” (Of course it doesn’t work in English, but the translation would be “Never again shall a pun cross my lips, even if you lurk till you turn bald”).

                                        1. 1

                                          Ooh, nice! Thanks! I’ll need to ask my buddy what he actually meant.

                                        2. 4

                                          Most famous German pun (at least among English speakers): https://genius.com/Rammstein-du-hast-lyrics

                                          The phrases ‘du hast’ and ‘du hast mich’ when spoken can mean either ‘you have’ or ‘you hate’ and ‘you have … me’ and ‘you hate me’ respectively. When written hate is spelled differently, i.e. hast -> hasst.

                                          In effect the song tricks the hearer into believing that the singer is accusing them of being hateful towards him. Only when the complete sentence is sung is it clear that the much tamer meaning ‘You asked me’ is meant the whole time.

                                          I am not a huge fan but its such a famous example I thought it worth bringing up.

                                          1. 1

                                            Google for “Wortspiele”.

                                            Wikipedia has a few: https://de.m.wikipedia.org/wiki/Wortspiel

                                      2. 1

                                        That’s a good comparison! I think Scalar families is in part what prompted this thought. You could make the glyph for “big” be comically big, like 10x bigger than the rest of the sentence.

                                        Maybe you could show irony by making a big glyph that says “small”, or vice versa. Like the trope of a big guy named “Tiny”.

                                      3. 1

                                        An ironic situation is ironic no matter which order you learn about it.

                                      1. 9

                                        Thanks for the detailed writeup. Seems like the machine still needs some more polish in the audio department. Having a lot of low-level options via ALSA sound interesting to me, actually. As someone who produces music on Linux, I prefer to give ALSA a good kicking until it works, rather than dealing with Pulseaudio’s latency issues. Is it possible to record the internal stereo mix directly, ie. can you select it as a recording source without resorting to jackd trickery?

                                        1. 7

                                          To be honest, “you have to use ALSA instead of pulse to get audio to play reliable” is not a pinebook-specific problem; both my thinkpads are the same way.

                                          1. 7

                                            And I have the opposite experience with both my thinkpads. Audio ‘just works’ with pulseaudio, including multisource concurrent playback, auto-switching from internal mic/speaker to external headset on plug in, bluetooth headsets, etc. None of that works out of the box with alsa on those systems.

                                            1. 5

                                              Agreed, wasn’t trying to suggest otherwise. That said, “reliable” maybe isn’t the right word. Pulseaudio works fine for just listening to music or watching video, and is usually much less of a hassle to set up. When latency matters however (music production, emulation), ALSA performs much better in my experience.

                                              1. 5

                                                Pulseaudio works fine for just listening to music or watching video

                                                This has not been my experience. Of course every machine is different, but I used to have it cutting out constantly until I removed it entirely. Frequently plugging in my headset would reset the volume so that one ear was muted and the other wasn’t. Ever since uninstalling pulse, on my machines ALSA has been 100% reliable.

                                                1. 2

                                                  I haven’t had problems with pa since switching to Arch from Fedora. I think the experience varies a lot based on what distro you use.

                                                  1. 1

                                                    On my old black plastic MacBook (3,2) running Arch back in the day, PulseAudio was what made Linux audio start to be nice. ALSA worked, but in an https://xkcd.com/963/ sort of way.

                                              2. 3

                                                Linux ecosystem in general needs cleanup in audio department

                                                1. 9

                                                  Charts like that having been making the rounds for ages and always feel they’re a bit disingenuous because most people don’t have half that stuff installed, and use even less of the stuff they do have installed.

                                                  For most people, it’s just PulseAudio → ALSA → Sound card. Some of the abstractions/libraries on top of that – such as SDL, gstreamer, etc. – add useful features like the ability to decode mp3 files and whatnot. In other words, it’s a lot less messy than that chart makes it seem.

                                                  (I do have plenty of gripes with the ALSA C API, which is … not very good, but that’s a different matter)

                                                  1. 8

                                                    Indeed, these charts conflate the audio system with multimedia libraries (and in case of the first one, even multimedia applications like VLC). That said, I very much agree that the state of audio on Linux is not great. Sadly everybody seems to be betting their horses on Pulseaudio, which to me seems more like an attempt to cover up the mess rather than cleaning it up.

                                                    1. 3

                                                      VLC is included because of one of the cursed parts in the chart - VLC can be used as a playback backend by phonon, which is an audio playback API that is mostly used by KDE software.

                                                    2. 4

                                                      (I do have plenty of gripes with the ALSA C API, which is … not very good, but that’s a different matter)

                                                      Out of curiosity, do you have any references for what a good low-level audio API looks like? It’s something I’ve been wondering about for a while, since audio on Linux is so perennially bad, but while I’m decently familiar with the physics of audio I don’t know much about the low-level details. It seems like it should just be “bytes with the proper format go into buffer at a fixed rate”, which is something that GPU and network drivers have been solving forever…

                                                      1. 2

                                                        It’s not perfect, but in contrast to Linux, I’ve never had audio issues under FreeBSD: https://www.freebsd.org/cgi/man.cgi?query=sound&sektion=4

                                                        1. 2

                                                          Thanks, I’ll take a look at it!

                                                        2. 1

                                                          Coming in late, but sndio is also worth a look(default sound under OpenBSD)

                                                    3. 2

                                                      Is it possible to record the internal stereo mix directly, ie. can you select it as a recording source without resorting to jackd trickery?

                                                      I have no idea, but if you can give me some pointers on how to find out I can try. If it’s worth anything, the full dump from the alsa-info script is here: http://alsa-project.org/db/?f=5363202956bb52364b8f209683f813c662079d84

                                                      1. 2

                                                        Thanks. Judging from this output, it is not possible to record the internal mix out of the box. That’s somewhat disappointing. It’s not surprising considering this has been the norm for off-the-shelf laptops for several years now, but I would have expected an open hardware like the Pinebook Pro to fare better.

                                                      2. 1

                                                        Just to satisfy my curiosity, why do you want to record the internal mix on the built in sound card? This is surely handy in some situations (when you want to record all your screen for example) but… personally for serious music stuff I’ve always used USB sound cards. Playback is probably okay on most decent laptops these days, but recording is something entirely different even on a super high end machine. So if I’d buy a Pinebook Pro I would expect an awfully noisy sound card even for playback (even if I wouldn’t really care).

                                                        There’s another clue: the issue with the speakers described in the article feels like a noise coming from a bad sound card or amplifier. Broken speakers don’t produce noise like that.

                                                      1. 11

                                                        Nice review.

                                                        I do wish there were a few more “three months later” type reviews doing the rounds. All the first impressions are great, but what’s it like in use?

                                                        1. 6

                                                          You’ll have to wait three months; it only just shipped! Mine has not even arrived yet.

                                                          I do kind of wish these had a trackpoint nub like the older Thinkpads.

                                                          1. 3

                                                            The trackpoint is the one feature that keeps me glued to Thinkpads for the time being because I am completely inept at using touchpads, and dislike using the mouse as well. I’m moderately content with the one I’m using as my main driver, but I know that I won’t be buying another after this. So yes, I would love to see an open hw laptop with a trackpoint. I could perhaps settle for a trackball. Never tried one. I’m aware the MNT Reform has one, but that is a whole different price level.

                                                            1. 1

                                                              Is there any kind of patent on the TrackPoint, or just not many manufacturers making them in components that’d be easy to integrate in a cheap laptop?

                                                              1. 2

                                                                The original TrackPoint was patented by IBM (so probably Lenovo holds those patents now). A number of other manufacturers have included trackpoint-like devices in their laptops, though they are often considered to be inferior. I used to have a Dell with a trackpoint, and that was definitely not as good. That said, the quality of the trackpoint on my Thinkpad E570 is also worse than on my beloved T60, but it’s mostly a question of the caps wearing out more quickly. So, to sum up: I think the patents could be worked around, but getting the design right would be a major challenge in itself.