1. 3

    Have a “Calçotada” (Catalan Onion Festival) with some friends from school. Keep learning Vulkan for a project I’m working on.

    1. 1

      Last week I bought an iPhone Xr after 5 years with a One Plus 2. Five years ago I trusted Google more than Apple, that’s no longer the case, and if I don’t want any headache with things not working and I don’t want Google Apple is the only real alternative these days.

      1. 1

        Home Battlestation (terrible picture, sorry hahaha)

        • Ryzen 3900X and GTX 2070S, 32GB RAM
        • After a long time with 3 screens I downgraded to 2 and then 1. I feel like it helps me focus a lot more.
        • NIU40 ortho keyboard with Aqua Zilents 62g with a custom layout, keycaps are stolen from a filco majestouch while waiting for my SA Granite set
        • Also shown, my work laptop, a dell XPS 13”
        • Music setup: Arturia Minilab mkII, KRK RoKit 5 monitors, audio technica LP120XUSB turntable
        • Some electronics lab equipment, Rigol DS1054, hakko soldering iron, a generic power supply

        This desktop has double boot with Windows (playing, music prod) and NixOS. The screenshot is not from this desktop as I’ve recently set it up and it isn’t still the way I want it, the end goal is more like the setup at my work laptop:

        • i3 with custom keybinds (closer to home row)
        • emacs with evil mode (love vim, but hate vimscript)
        • fish shell in Kitty terminal
        1. 4

          5 days old account, with three (pretty basic and devoid of content) posts pointing to the same commercial domain, and an invite to the founder of that company. Please don’t use lobste.rs for advertising, we do NOT like this. Either participate in the community or get out.

          1. 2

            Joined! Really excited about this year!

            1. 10

              https://barcelona.rustfest.eu

              RustFest number 6 \o/

              1. 1

                Ah shit, and it’s in my city. How did I miss this?

                1. 1

                  You might be able to get a leftover ticket or at least drop by the impl days on Monday.

              1. 2

                Starting my new job on Monday, so getting ready for that. Relaxing, selling some things I don’t need (double-neck guitar, why did I ever buy you?) and Japanese learning. I also may program a bit to help a friend with some reverse engineering.

                1. 1

                  Meh, doesn’t work on Firefox 68. What browser requirements does it have?

                  1. 2

                    Works great on Firefox 70.

                    1. 2

                      This is WebGL so most incompatibilities are due to drivers. What’s your setup?

                      1. 1

                        OK, found something: It worked when I shrunk my window slightly! (Which I only discovered by trying a different browser profile.) If my window is wide enough for the canvas element to be 1463 pixels wide, I get a black screen; at 1462 and smaller, it works.

                        In fact, it seems to break at certain aspect ratios; if I have the window at 1462 width and 731 height (internal dimensions), it works, but shrinking the window vertically breaks it! That’s exactly a ratio of 2.

                        So I guess the browser requirement in effect is: Don’t make your viewport more than twice as wide as it is tall. >_>

                        1. 2

                          Weird, no matter how I resize it works fine for me. Firefox Nightly 72.0a1, latest nvidia drivers. Is anything outputed to the console?

                          1. 1

                            If I start the window square, it works, and the only console output is Google Analytics having been blocked. If I then start shrinking the window vertically, when it reaches an aspect ratio of 2 I get a screenful of these in various combinations:

                            Error: WebGL warning: texImage2D: Requested size at this level is unsupported. script.js:566:8
                            Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. script.js:572:8
                            Error: WebGL warning: clear: Framebuffer must be complete. script.js:572:8
                            Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. script.js:461:12
                            Error: WebGL warning: drawElements: Framebuffer must be complete. script.js:461:12
                            
                            1. 2

                              Yeah, it looks like a driver problem. It tries to complete the buffer with a texImage2D that isn’t supported by your driver/opengl setup. Or maybe it’s falling back to WebGL1 but then using features that are unavailable to WebGL1.

                      2. 1

                        Works on vimb 3.5.0 (after :set webgl=true)

                      1. 13

                        Next monday I start at my new job, and in a month I take the JLPT N5 (Japanese Language Proficiency Test), started studying a month and a half ago and it’s been an amazing experience. I’ll spend most of my time studying japanese this week before I am too busy with my new job.

                        1. 5

                          That’s awesome! I recently started studying, with a dream to get to N1 before I die…

                          What is your study plan?

                          1. 5

                            I’m using JLTP more as a motivation than a goal, my objective is to be able to go to Japan and be able to have a normal conversation with just about everyone.

                            Right now what I’m doing is vocabulary and kanji learning in the morning and grammar in the afternoon. I have a teacher at preply.com (really recommended), will not disclose the teacher here but if you are interested I can send it to you in a PM. She teaches me grammar basics and we have conversation practice. Then I got the “Dictionary of basic japanese grammar” and some other books and I deep dive into grammar topics myself in the afternoons while reading japanese texts, practicing writing and listening to japanese radio/tv.

                        1. 8

                          What’s implicit throughout the article but nowhere mentioned in the title is the target. Business makes better open source for business, I think is probably not that controversial - it doesn’t follow that business makes better open source for everyone else as well. I doubt, for example, that every XMonad user values “sustainability” and the ready availability of consultancy/support over the efficiency gains they get from a tiling WM with their own personal workflows compiled in - otherwise they’d be using GNOME. Or Emacs vs VS Code. Or … but I’m sure you can provide your own examples.

                          tl;dr “mass-market-ready” is not the only axis along which one might usefully and sensibly measure “better”

                          1. 3

                            Exactly, that’s why I think it’s important the distintion between Free Software and Open Source, one seems to value more the freedom of their users experience, and that’s more important than any long term sustainability, it even serves as a kind of guard against bad sustainability (even if the company goes under, I will be able to use and modify their software). The other is more interested in “usage”, and the developers freedom. The user freedom vs devs freedom battle has always amused me.

                          1. 4

                            Does Discourse have an aversion to the term Free Software even though it’s licensed under GPLv2?

                            1. 2

                              Not really, but the company never strictly favored one ideology over the other.

                              1. -3

                                I have downvoted this because it’s not related to the article and the “free software vs. open source” debate has been done a zillion times already. By now it’s abundantly clear that some people prefer one term over the other and starting a discussion every time someone uses something other than $my_preferred_term is not useful.

                                1. 8

                                  I really don’t like this response, it’s not a preference, it’s a different ideology. It means different things.

                                  1. 3

                                    It was a genuine question to someone who worked with the company for four years, I think it’s somewhat related. I just thought it was a little weird is all.

                                1. 8

                                  Weird that I feel the need to tag things that stopped developing in 2010 as historical. I’m feeling sooooo old right now haha.

                                  1. 7

                                    maybe you added it subconsciously because of the website, what an iframe party!

                                    Btw, in case anyone is confused, the link doesn’t direct you to the linoleum page because it’s all iframe based. There is a link in the navbar on top. If you just want to read the post you can head to this page (although you will miss on the left nav bar for the downloads): http://anynowhere.com/bb/posts.php?t=408

                                    1. 2

                                      Thanks for mentioning it. Just goes to the right page on mine. Maybe it saved from previous visit.

                                      1. 2

                                        That’s exactly what happened. I’m seeing the same behavior on my machine.

                                  1. 1

                                    I am not home now, but I comment so I can remember to test it when I get there.

                                    I believe just by switching the stringstream for a direct access you will get much faster times.

                                    1. 2

                                      Probably std::stoi would be faster you mean? But you have to loop that right?

                                    1. 4

                                      Mostly learning Japanese vocabulary. I started learning Japanese around a month and a half ago and have the JLPT N5 exam the 1st of December, vocabulary is my weakest point so I plan to cram a lot of that this weekend. It’s proved pretty damn hard so far.

                                      1. 9

                                        It is not just the compiler. It depends on the CPU if 4+4+4 or 3*4 is faster. The instruction set itself does not give any guaranties. So even assembly language is not how the computer works?

                                        1. 22

                                          Nowadays I’d say that no, assembly language is not how the computer works. The assembly language is also running in another abstract machine.

                                          1. 7

                                            Yeah, modern CPUs do all of the following: (micro-)instruction buffering, out-of-order / parallel scheduling, branch prediction, speculative execution…

                                            Assembly language is definitely not how the machine works anymore, and that’s how we end up with Meltdown and Spectre.

                                          2. 4

                                            Hasn’t that been true since microcode was invented? ;)

                                            1. 2

                                              It’s differently true today… back in the day, reading assembly was informative in a way it isn’t now that a conditional branch can take zero cycles if it goes one way and many dozen cycles if it goes the other way. Assembly is still the most machine-like language we have, but reading it gives a much less complete picture of what the code does.

                                              It’s so difficult to read assembly and understand that one read’s very likely to be in L1 or L2, while another read is likely to go to main memory, and when it happens the delay will impact the next 50 instructions. Or that when a conditional branch goes one way the CPU will already have prefetched a lot, and the next 25 instructions are already being executed, whereas when it goes the other way the next instruction will take longer to start than those 25 to finish.

                                              1. 1

                                                We might need tools that explain it to us based on the CPU from several, optional perspectives. “Click expand or type this to see more.”

                                          1. 4

                                            So maybe one should learn C to learn how a “C abstract machine” works then (especially if you want portability)? A computer can execute the instructions of this “C abstract machine” well enough that 95% (just a reasonable guess) of code written eventually executes on top of this “C abstract machine” without real problems. For places where that’s considered inefficient you can always drop out to something where you can don’t use the “C abstract machine” like Fortran or the CPU’s assembly language.

                                            1. 3

                                              For places where that’s considered inefficient you can always drop out to something where you can don’t use the “C abstract machine” like Fortran or the CPU’s assembly language.

                                              I think this problem happens in every language, including the CPU’s assembly language. If it’s not the “C abstract machine” its the “FORTRAN abstract machine” or the “x86_64 abstract machine” (yes, even assembly language. The user level assembly language has no idea of cache lines and levels, out of order execution or anything of the sort going on in the current CPUs, it is essentially executing in an abstract machine too, one that is really close to the original 8086). I don’t think there is any way of avoiding the abstract machine “problem”.

                                              1. 3

                                                For places where that’s considered inefficient

                                                That’s not the point. The point is the model in which you program in C is a different model from what your machine executes, and you must consider both when programming C, leading to code which may seem awkward or extraneous for no self-evident reason if you want full cache saturation. Considering this does not require dropping out of an escape hatch.

                                                1. 4

                                                  That’s not the point. The point is the model in which you program in C is a different model from what your machine executes, and you must consider both when programming C, leading to code which may seem awkward or extraneous for no self-evident reason if you want full cache saturation. Considering this does not require dropping out of an escape hatch.

                                                  And the model in which you program in Assembly is also a different model from what your machine actually executes, too. It feels like we went through a short period where programmers had a good idea of what their machine actually did, and it worked in general for most machines with the same feature-set, and now we’ve come full-circle to optimization depending on the specific machine.

                                                  1. 1

                                                    And the model in which you program in Assembly is also a different model from what your machine actually executes, too

                                                    And that’s fine most of the time. But it’s important to be aware of ofc

                                                    and now we’ve come full-circle to optimization depending on the specific machine

                                                    Definitely. Depends on the shop you ask though, I guess.

                                                  2. 2

                                                    Also, concurrency, SIMD, side channels…

                                                    1. 3

                                                      SIMD feels like a bottomless hole sometimes. You feel you’ve gotten pretty deep in vectorization and you find out there’s an entirely different alien way you can do things all over again

                                                      1. 2

                                                        That’s why I pushed for DSL’s or parallel languages that handle it for us with optional hints. DOD went that route for Exascale funding languages such as Chapel, X10, and Fortress. That was for NUMA and clusters. Futhark is a newer one for GPU’s. I’m sure more like that could be done for SIMD.

                                                        1. 2

                                                          Many application domains aren’t DOD though 😃

                                                          In video game land, Enoki is quite cool as something that goes beyond local vectorization

                                                          1. 2

                                                            Many application domains aren’t DOD though 😃

                                                            Thank goodness. The video games would probably suck. Except the mil sims.

                                                            “ Enoki is quite cool”

                                                            It is! Thanks for the tip. Might get some use out of that in the future.

                                                  3. 1

                                                    There was a great blog post from a while back that really hammers home the idea of a “C abstract machine.” C Portability Lessons from Weird Machines outlines the radically varied hardware that C “grew up” with.

                                                  1. 11

                                                    This is the hard, underappreciated work of PL: academics don’t care, and industry people have sufficient Stockholm Syndrome to skip it.

                                                    I’m not sure I agree with all of the “I” phrasing of the compiler (“I was expecting a close brace”) but maybe it reads easier than the more-terse error messages to which we’re accustomed to.

                                                    1. 7

                                                      Completely. The overall tone (things like “Try putting a } next and see if that helps?”) feels a little condescending to me. But adding contextualisation and remediating steps is a great improvement over the status quo of error messages. It’s easy to forget these potential quality-of-life improvements that are staring us in the face.

                                                      1. 2

                                                        I find the compiler using “I” to be extremely condescending, and the error messages so large that it’s hard to find the information about what’s wrong inside the “friendly” text. In actual use, I have seldom found the suggestions helpful.

                                                        This is not to say that we should abandon all colour or information, but I would much prefer something like:

                                                        (code with erroneous part highlighted)
                                                        
                                                        Type error:
                                                        Inferred from context: Foo
                                                        Actual type provided: Bar
                                                        
                                                        Additional detail etc.
                                                        

                                                        Sadly, Elm is the exact sort of opinionated language where I wouldn’t even bother trying to PR an -i-know-what-i-am-doing-please-be-terse flag for the compiler.

                                                        1. 12

                                                          How exactly is compiler personification condescending?

                                                          1. 1

                                                            The person who wrote the compiler doesn’t consider me an adult that can read direct output from a tool.

                                                            1. 12

                                                              That is quite the stretch.

                                                              Immediately jumping to such an uncharitable explanation isn’t healthy.

                                                          2. 7

                                                            I don’t think trying to be friendly to beginners means being condescending to people who knows what they are doing. If the format of errors is consistent then after the third error you see you will know where to look without having to read everything. And someone that doesn’t know what is going on has more information to understand what’s happening. Tiny inconvenience for experienced developers while making on-boarding vastly easier.

                                                      1. 7

                                                        I’m flying to London to meet my investors at the Google Campus for dinner and a whole bunch of on-boarding talks. Then I’m flying to Brno to attend NixCon. Also will work on preparing for when our new hires start. Busy busy busy.

                                                        1. 2

                                                          NixCon

                                                          Oh!!!!

                                                          I didn’t know this existed, I see there are still tickets available..

                                                        1. 18

                                                          In between jobs! Last job was a mess, small company, sleepovers there, weekends, not getting paid for a while. After all this involment and sacrifice my was boss was… not really nice to me. Learned my lesson, will be more careful next time. Glad to be out of there.

                                                          I start my next job in two weeks and I’m mostly relaxing (been three years since my last proper vacation), doing a lot of japanese studying, plying dota 2 & witcher III and also reading Practical TLA+ by @hwayne because I believe it will be useful in my new job.

                                                          Exciting times!

                                                          1. 6

                                                            I recommend picking up some canning, drying, preserving, cooking and supply chain skills. That is for building up a pillow for bad times and learning to live good with the lowest expenses possible. (I found that food&eating was the thing in my life where I could save the most expenses and improve my food at the same time).

                                                            I once found myself in a trap of bad job, ugly commuting, eating on the run and I do not want to return there.

                                                          1. 52

                                                            Voat is a link aggregation platform, where users can submit text or links to content, comment on existing submissions and vote both links and comments up or down. It’s essentially a Reddit clone, but, due to several bad design decisions, it has become known on the rest of the Internet as a community that promotes intolerance and hate speech.

                                                            What.

                                                            Voat was created in direct response to Reddit’s deplatforming of hate subreddits, and its owners and content moderators explicitly invited those deplatformed trolls with open arms. Voat’s notoriety wasn’t the inadvertent consequence of bad decisions, it was part and parcel of the site from day one.

                                                            1. 22

                                                              As far as I remember it wasn’t created as a response[1], it was fairly new at the time a lot of people jumped ship tho. It was just created as a news aggregator site with a focus on freedom of speech. Then all the reddit banning happened and a lot of people moved there.

                                                              [1] https://en.wikipedia.org/wiki/Voat

                                                              1. 3

                                                                Yeah, Wikipedia certainly seems to agree with you.

                                                                1. 2

                                                                  Any platform that focuses on “freedom of speech” is dog whistling for hate speech.

                                                                  Removing hateful garbage off your platform is exercising your freedom of speech in a responsible way.

                                                                  There is a clear line between censorship that is about brainwashing the masses and that which removes things that only exist to hurt/attack people. If you can’t see this line you have a problem.

                                                                  1. 6

                                                                    Any platform that focuses on “freedom of speech” is dog whistling for hate speech.

                                                                    What a world we live in. Wow.

                                                                    1. 3

                                                                      Show me one “free speech” platform that isn’t full of hate speech please. They’re all the same.

                                                                      Freedom of speech does not mean I have to be forced to read or listen to it. Or publish it.

                                                                      1. 5

                                                                        If you asked the maintainers/moderators of Lobsters, reddit or even HN, I’m sure they’d all attach a very high value on free speech. I’m sure you’ll say, “but that’s different because they don’t treat free speech as an absolute value that is prioritized above all else.” But that isn’t what you said.

                                                                        In any case, I’m more or less reacting to how absolutely incredulous your position is. It’s straight out of 1984 doublespeak. Historically, prioritizing free speech has always been understood as an ideal, and that allowing others to say what they want is very much distinct from actually endorsing the message. But we’ve lost that ideal apparently. Absent other evidence, “prioritizing free speech above all else” is at worst naive. Jumping to “they just want a place for a hate speech” is absolutely absurd. And your weaseling “dog whistle” phrasing is doing exactly that.

                                                                      2. 3

                                                                        In one sense, yeah, I feel you, but in another, more pragmatic sense, /u/feld is completely correct, and the world would be a lot better if more people realized it.

                                                                        1. 5

                                                                          Thank you, and this is the last I’ll comment on it. Online. Forever. This is only a discussion worth having in person.

                                                                          I’ve simply had enough of this. People wrapping themselves in the Free Speech flag and spreading hateful crap is leaking everywhere we go on the internet. The problem is that the internet is not a good analogy for real life or a public square. There is no fear or shame for these people.

                                                                          In real life, exercising your right to hate speech looks like this: https://www.instagram.com/p/BX-0YVIlLGz

                                                                          On the internet, it’s more like guerrilla warfare. These cowards do not have to deal with confrontation. They’re allowed to spread their hate with no consequences, shame, or fear; protected by their computer screen separating them from the world.

                                                                          Remember, only one side of the political spectrum is filled with people whose goals are to hurt people.

                                                                          If you really think Free Speech Zones are such a great idea, why not lobby to open Lobsters to the masses instead of having an invite-only membership?

                                                                          Freedom of speech is definitely important. People should be allowed to say whatever they want without fear of criminal punishment. But platform operators are still allowed to control what is published on their platform.

                                                                          1. 5

                                                                            If you really think Free Speech Zones are such a great idea

                                                                            On the Internet, I don’t think they are a good idea at this point in time. I don’t regularly visit any web site that prioritizes free speech above all else. I am myself on the moderation team for official Rust community spaces and have been an advocate for stronger moderation here at Lobsters.

                                                                            So it seems to me like you’ve completely misunderstood my criticism. Which isn’t that surprising, because outrage culture (along with several other things) drives an Us vs. Them mentality. It’s seemingly inconceivable to you that someone can say “I believe in free speech” and actually be sincere about it without also being a surreptitious vehicle for hate speech. I’ve been in online forums for a couple decades at this point, and I personally see web sites that prioritize free speech above all else as bad ideas, but that doesn’t mean there aren’t people out there that see them as good ideas in good faith, or even have ideas on how to fix what makes them so bad. I don’t know how to do that, but there’s a lot I don’t know. And just because I don’t know how to do something doesn’t mean I’m automatically going to assume the worst about people.

                                                                            But if the best we can do is rave about dog whistles, then we’re never going to see the rich nuance that is involved in these issues, and good people are going to get caught in the crosshairs of outrage.

                                                                            1. 3

                                                                              It’s seemingly inconceivable to you that someone can say “I believe in free speech” and actually be sincere about it without also being a surreptitious vehicle for hate speech.

                                                                              I appreciate that you interpret what’s being said through the lens of Us-vs-Them extremism and so say things like “seemingly inconceivable” when summarizing someone else’s position. There’s certainly enough evidence in the dialog to support that conclusion. Nevertheless I think you mischaracterize what’s actually being said, or suggested.

                                                                              It’s not that we think good faith advocates of free speech literally don’t exist. It’s that they are so much in the minority in the spaces and contexts that we’re talking about that they may as well not exist in a statistical sense. And, carrying that point a bit further, that spending more than a statistically insignificant amount of time, energy, or benefit of the doubt addressing those people is (at a minimum) a misallocation of resources, and (at a maximum) actually providing normalizing cover to the bad faith actors in the space. And exploiting that dynamic, exploiting the naïvety of idealists who want to assume good faith and have a discussion purely on the merits, is arguably the principal tool that trolls use to achieve their ends.

                                                                              I like to think of it in terms of macro vs. micro. I think you are coming at this discussion from a micro- or individual-scale: in any given pairwise interaction between two people, it’s a shame and probably even harmful that we don’t give the benefit of the doubt and engage in good faith. I don’t disagree. But I, and I suspect feld, are coming at it from a macro- or group-scale: we care about the aggregate effect of positions on issues, measured at the societal level. And rational advice or behavior or best practice at one scale is frequently entirely opposite the best practice at the other scale.

                                                                              1. 3

                                                                                Yes. I am certainly predisposed to an individualist viewpoint. But I guess that’s the point. I don’t believe in outrage culture as a means to an end, in part because it gets otherwise good people caught in the crosshairs. At a macro pragmatic scale, outrage culture is not limited to very clear cases of Nazis or trolls or fascists or otherwise bad people. It makes leaps of faith based on “dog whistles.” Ultimately, people throwing around phrases like “dog whistles” are not held responsible when they’re wrong, in my experience. It sours all interaction instead of just the interaction with trolls/Nazis/fascists.

                                                                                I am also in general pretty skeptical of a statistical argument here. I can see how one can perceive statistical significance here, but I’d be very surprised to see hard data supporting that conclusion there because I’m not sure it’s actually available.

                                                                                As I said, we are on two different wavelengths here.

                                                                          2. 2

                                                                            I don’t agree and based on your other comments, we are definitely on two different wavelengths here. IMO, the rise of the phrase “dog whistle” has allowed for sloppy and lazy thinking. It being used here, in this context, is exactly what outrage culture is built on top of. Hate speech is bad, but so is being outraged when someone says they like free speech. There’s a non-ridiculous position to be had in the middle there.

                                                                        2. 2

                                                                          First of all, I never actually got into the discussion of what “freedom of speech” means, whether it’s worth defending, or whether it’s hate speech in disguise.

                                                                          If you can’t see this line you have a problem.

                                                                          I don’t see why you felt any need to attack me. I merely clarified that it wasn’t created as a response to the reddit bans, it fed from them as it was advertised as a platform for freedom of speech which attracted the kind of people reddit was getting rid of. I don’t think I defended any position anywhere in my post. I just stated some facts about the timeline.

                                                                          Now, after this has been clarified, I mostly agree with you but I still think it’s a slippery slope and one that is worth examining thoroughly.

                                                                          Just as an extra comment, I don’t think someone defending freedom of speech is automatically defending hate speech. There are real freedom of speech problems around the world, and I don’t think this antagonization of the term brings anything positive to the table.

                                                                      3. 18

                                                                        Yeah. There’s neutrality, and then there’s misreporting. This definitely falls into the second category.