1. 2

    Interesting, a couple of years ago I remember reading (official page maybe) there were no plans to support anything beyond R5RS. EDIT: My mistake, here they said support for R6RS will never happen which is a completely different statement. For the experienced schemers, what is the controversy around R6RS?

    1. 2

      For the experienced schemers, what is the controversy around R6RS?

      It was overreaching, too large, invented new things for stuff that already had established alternatives, included some controversial changes like the syntax-case macro system (which is a beast to implement and is incompatible with syntactic closures or explicit/implicit renaming macros). This standard was also the first to not require a supermajority. Basically, it felt like the standard was hijacked by people with a certain agenda. Historically, Scheme has been very broad, allowing a diverse set of implementations, from very simple toy implementations to systems for education, systems for productivity use, embedded use and everything in between.

      Read some of the ratification comments if you want to laugh (or cry).

      1. 1

        Thank you for this, I will certainly have a good read on the link you provided. Does R7RS suffer from the same issues you pointed out?

        1. 4

          The R7RS steering committee realised that R6RS created a bit of a schism in the community, so they divided up the spec into two parts: “small” and “large”. The small standard is finished by now and is basically R5RS plus a relatively simple module system (yay!), exceptions (yay!), bytevectors and a few other odds and ends that provide a decent base language.

          It’s not without its flaws but overall I like the standard they’ve hammered out.

          The “large” part is a sprawling set of libraries that will give Common Lisp a run for its money when it’s finished. It will have everything, the kitchen sink and more. The spec is being developed via the SRFI process, and Scheme implementations can choose which parts they want to implement so there’s unlikely to be a lot of controversy. Personally, I don’t have the mental bandwidth to keep up with all the stuff they’ve been putting out, so it’s a bit of a parallel universe to me.

          1. 1

            The world needs both, personally, I’d like to see R7RS-large layered on top of R7RS-small. By doing so, any -small could be transformed into -large and would show that the base special forms and abstractions are good enough.

            It would be as if rt.jar could be taken to any JVM.

            1. 2

              Many, perhaps even most, libraries in R7RS-large are implementable on top of R7RS-small (though you might not want to, for performance reasons). This is nice as there’s usually a reference implementation available. If R7RS-small offers all you need, that means you won’t need to make multiple reference implementations specific to various Scheme systems.

              But requiring R7RS-large to be implementable on top of R7RS-small in the general case is a bad idea and sometimes even impossible, simply for the fact that R7RS-large will include things that require special runtime or compiler support. For example, suppose an FFI for C (or Java, or any other lower-level system) was standardized. There’s simply no way a base language could support that.

              And given the nature of R7RS-large, there will be libraries that smaller Schemes are simply uninterested in implementing (for example the continuation-marks SRFI). Even though this could be seen as a “lower level” library which could go into the base language so that other SRFIs can build on top of it, it does not belong in R7RS-small.

            2. 1

              Thanks again for your response. Now, I have a better understanding to what’s going on. Awesome work you guys are doing with chicken, by the way.

          2. 1

            hey wanted to chime in and thank you for the comments, I’ve an interest in the process as a whole but not the bandwidth right now, and the illumination is appreciated.

        1. 2

          Why not have a heap, a neural network or a JIT re-order the arm of the switch statement? Kinda feels like a direct threaded interpreter.

          1. 1

            It’s less overhead than a JIT, with the same result.

          1. 3

            I’m sinking time into some personal projects to improve “developer life” in my vm lab - a local apt/rpm/pypi mirror and some automation around that.

            1. 1

              I’d love a container for proxy/mirrors of each. I have never had great results with apt mirrors. I set them up in anger, but then they go sour.

            1. 8

              Doing some interview practice for a phone screen I have coming up in the next couple weeks. Will be my first technical interview! :)

              1. 2

                I super extra recommend pramp and just found a nice list of questions that could be used for a warm up.

                Remember, tech interviews are a total crap shoot.

                1. 2

                  Hey, thanks for this advice! I’ve been using pramp this weekend and so far it’s been pretty decent. I’ve had a 2/3 success rate, and find that talking in front of another person really helps me to practice being succinct and understandable.

                  Here’s to hoping that my practice carries into my interview!

              1. 2
                1. 3

                  Slides claim the source is at https://github.com/UTSASRG/Guarder but I get 404.

                  1. 2

                    I emailed one of the authors about this. Maybe he’ll be kind enough to tell us what’s up.

                    As I looked at repo, I saw dthreads. I submitted dthreads a while back. So, that’s pretty cool to see it in same repo.

                    1. 2

                      Thanks for following up on this, I came here looking for the repo.

                    2. 2

                      I wonder if this is related? https://github.com/UTSASRG/FreeGuard

                      1. 3

                        That was their previous work.

                    1. 7

                      With more than 900 customers in 100 countries by 2015, Supermicro offered inroads to a bountiful collection of sensitive targets.

                      Although the investigators couldn’t be sure they’d found every victim, a person familiar with the U.S. probe says they ultimately concluded that the number was almost 30 companies.

                      Supermicro had three primary manufacturers constructing its motherboards, two headquartered in Taiwan and one in Shanghai. When such suppliers are choked with big orders, they sometimes parcel out work to subcontractors. […] Eventually, that person says, they traced the malicious chips to four subcontracting factories that had been building Supermicro motherboards for at least two years.

                      Even given the nature of how this hack was pulled off, via subcontractors used when handling large orders, fewer than 30 companies impacted seems suspiciously small. Small enough that either this attack was directly targeting some or most of these companies or the total number of companies affected hasn’t been adequately determined.

                      1. 3

                        That seems suspicious as does the glaring failure to mention the intel/dell/ etc, as far as I know, make their boards in the same factories.

                        1. 2

                          I doubt the attack is that wide spread. It was targeted at a certain SKU. This isn’t a dragnet operation but something very targeted. Dragnet would be something very widely deployed, like common wifi enabled mcus.

                      1. 4

                        I used to use a Trac instance that I ported from MoinMoin (via my own scripts). It was heavily customized with better full text search. Now I just use a shell script that generates new notes files in a directory, adds some tags and then opens the result in VSCode. I miss a lot of features, but it is zero infra. I used NVAlt but drifted away from it over time.

                        I have a bunch of ideas for the Total Note/Memex but nothing really gels yet.

                        1. 1

                          I don’t understand how this works. This is like discuss but it stores the comments directly into my git repo, which has a post commit hook to re-render the static site?

                          Can you iframe your own site for security, so that a malicious comment doesn’t attack a user or the site itself?

                          1. 2

                            All staticman does is dump the comments some place of your choosing in your repo. It’s up to you to actually render them however you see fit. Many static site generators will have some sort of built-in way to make rendering them easier (and safer). It would also be up to you to set up a post-commit hook to automatically re-render if desired.

                            Also, the default mode is for staticman to create a pull request with the comment so you can reject spam/malicious comments before they get merged. Pro tip: don’t put a ‘url’ field in your comment schema :)

                          1. 3

                            Website bloat is not a technical problem, it’s a business problem. If CNN wants to make as much money as possible, they will stuff their website full of ad units and trackers to maximize per-click revenue. If someone just wants to publish their articles to the internet, they have no reason to add this cruft. Sure, there’s an amount of attention to performance that must be paid in either instance. But it’s primarily a business problem. Slack can also write their own native C++/Qt app, but their need for development simplicity/velocity trumps their care for memory usage. I still respect this author’s attempt to reduce the bloat on their blog.

                            1. 1

                              One could “literally stuff” a website full of ads and still make it blazingly fast. It would also be easy to circumvent ad-blockers.

                              Host and serve the ads from the same domain as the content, weaving the ad itself into the content.

                              No js, just text and images. The 90% motivator for me, for installing an ad-blocker is performance, next is obtrusiveness. And I hate ads in general, but performance and annoyance is much worse. On a technical site, I like seeing the ads (electronics, mechanical eng, process eng, etc).

                              1. 2

                                In today’s web advertising landscape, ads without tracking JS are not worth much. From the buyer’s point of view, it’s hard enough to trust click and impression numbers calculated from tracker scripts. (There’s lots of fraud.) Without anything like that, they’d just have to take the publisher’s word for it, trusting that they weeded out the bad clicks.

                                I do agree that it’s possible to do advertising tastefully. One example is Daring Fireball, which has one discreet ad in the bottom left. It works for him because he has a dedicated, focused, high-value audience. It probably wont work for mass-market news sites because of the tracking/attribution problem.

                                1. 1

                                  I think it could work for ad campaigns like BMW, Nike, Coke, etc. Where the brand is being pushed and it isn’t a niche thing, it has mass market broad consumer appeal. The way advertising used to work before this slow slide to a total surveillance state.

                                  I think there is a market for an ad-network that supplied targeting selectors and raw ad assets to the content providers directly, and the content providers supplies log samples showing impressions, click throughs would be obvious.

                                  But I agree it is counter to everything we have now, what we have now is a obtrusive broken mess. Allowing advertisers to inject arbitrary JS into the user’s browser crosses the line.

                                  1. 1

                                    Fraudsters work around it anyway with click farms and proxies.

                                    1. 1

                                      Yes, their filters/analysis isn’t perfect. But ad buyers feel like at least they are the ones to make the judgments. To be fair, most ad buyers also hire middlemen to place bids. There’s many levels of uncertainty here.

                              1. 4

                                Best example I can think of is gwern’s website. Clean, fast, pretty, minimal, content-centered and supports RSS. I also appreciate that it doesn’t follow the “blog”/timeline format of pretty much every website these days: It’s a homepage containing essays. Chronological order is irrelevant.

                                1. 1
                                1. 18

                                  Something I’ve noticed–all these sites are now basically instantly usable. And sure, they’re not pretty, but I’m there to read things. There is a little clunkiness, but I think this trend is very promising.

                                  Shame they still have the massive blob of comments at the bottom.

                                  1. 10

                                    I think that efficient websites don’t have to be ugly or clunky.

                                    I’d love to get some feedback on my own site, which I believe is “pretty” (at least if you like its style) and loads very fast. (It requests some specific web fonts, but usability is not degraded if users block them/use their own.)

                                    Any bloat I missed?

                                    1. 11

                                      The combination of a thin font and the gray text cancer makes it hard to read.

                                      Custom fonts best be avoided if your intent is to share information.

                                      1. 2

                                        Thanks! I made the table row background brighter and made the links darker.

                                        Before: https://imgur.com/LCHhqby

                                        After: https://imgur.com/yM0kGu2

                                        What do you think?

                                        Edit: I slightly increased the background color again, it looked good on my desktop, but was almost invisible on my notebook.

                                        1. -4

                                          You people need to get your eyes checked. It’s very dark grey on very light grey. Fix your contrast or something.

                                          1. 16

                                            That was not enormously constructive and fairly antagonistic. I give you a gratuitous C-, and half a rotten trout.

                                            1. 3

                                              The font is too thin for the old (like me). I checked with my old eyes.

                                          2. 3

                                            I like that you have a natural categorization system - a table - on your front page. For many, that’s too many links or too much text. But humans are very good at scanning for information. So your design both respects the user’s abilities and provides them with a lot of information at once. Moreover, the table layout keeps the information legible. This is against the simple Apple-style minimalism.

                                            What I said above comes pretty much directly from Edward Tufte. I went to one of his one-day conferences, where he brought up the website of the National Weather Service. Specifically, he noted that the abundance of links at the bottom, categorized, ordered, and with headings was a great example of a design that provides maximal information. (The part about respecting the user is my point.)

                                            1. 2

                                              Thanks for letting me know this, I was never really sure if the grid was a good idea!

                                            2. 2

                                              Only complaint would be the GA blob, but ad blockers take care of that handily.

                                              1. 2

                                                Thanks, I removed that. I don’t even remember adding it.

                                              2. 2

                                                I feel similarly about my site, where an article which would be 12k in plaintext is 130k in total (or 95k over the wire because gzip), and that’s with all the features I want; automatic javascript-based code highlighting for most programming languages from highlight.js, tracking/analytics with (self-hosted) matomo, and as nice-looking CSS as I know how to make.

                                                All it really takes is just to render the HTML on the server (either statically or dynamically) and not through javascript on the client, and not have ads or huge tracking suites or integration with social networks, and to be careful about putting auto-playing videos or huge images on the page.

                                                The main page however is bigger than necessary at 1.13MB, exactly because I haven’t been careful about huge images on the page - and those images aren’t even visible. I have to fix that.

                                                1. 3

                                                  as nice-looking CSS as I know how to make

                                                  And then I’ll come and use Reader Mode to get rid of that crap. :)

                                                  I wish the Web was universally usable without styling. Like paper.

                                                  1. 4

                                                    Paper? Doesn’t that medium permanently and physically link the style with the content?

                                                    … I’ve seen some awful design and layout on paper …

                                                    1. 1

                                                      yes it seems as though they’ve been hit with a debilitating wave of nostalgia.

                                                      1. 1

                                                        True, it’s one argument against publishing in PDF.

                                                        What I had in mind is that scientific papers, fiction books and such don’t tend to have much variance (partly because the target medium is usually black and white, ink is expensive, and printers don’t enjoy making halftones anyway). So my “without styling, like paper” means looking like your usual printed document. Simple, focusing on information.

                                                      2. 2

                                                        That’s okay :) I don’t use reader mode much myself, but I’m a huge proponent of having markup that’s semantic enough to let people consume the web however fits them best.

                                                        1. 1

                                                          I wish the Web was universally usable without styling. Like paper.

                                                          Amen. At least most blogs are, including this one. I read it without CSS.

                                                        2. 1

                                                          Interesting content! I particularly enjoyed the article about obscure C features :-)

                                                      3. 3

                                                        I also love the trend of debloating Web sites that need to serve a smaller cause - but what do you do on a website that needs, or promotes having the community and/or its readers participate in a discussion, which requires a comment section or something alike? I find this challenging, since many if not all of the sites that tried to minify themselves (and I came across) decided to remove the comment section, such as this case, instead of finding an “alternative”

                                                        1. 4

                                                          Well, the comedy option would be to show a discussion tree and just use an email client to submit to a thread, and on recieving the email posting appropriately.

                                                          Just because the frontend is not bloated doesn’t mean you can’t have stuff going on in the server.

                                                            1. 2

                                                              I suspect the trend of removing comments sections comes a lot from people thinking something like “oh while I’m removing all this unnecessary shit I might as well stop bothering with the burden of moderating comments and deleting spam too”.

                                                              Comments aren’t inherently heavyweight, we had guestbooks back in the 90s. ;)

                                                              Admittedly it is the case that a lot of the obvious off the shelf choices of software for running a comments section are kinda heavy.

                                                            2. 1

                                                              I’d be pretty interested in people trying out building usable sites beyond reading. Though perhaps web apps are doomed to not be fast and reactive on account of the need to fetch the data, it would be cool to see things like GMail but actually a super fast interface.

                                                              1. 2

                                                                Oh yeah. Gray’s is still the best for RISC-V many cores. I was wondering at one point if an ASIC could be justified for that.

                                                              1. 4

                                                                Is the category useful? Is there anyone who can’t stand a mention of markup languages and wants to filter all related stories from their browsing, or someone who wants to subscribe to an only-textprocessing rss feed? As much as I love categorization, I’m skeptical that the benefit of this outweighs the added complexity for submitters.

                                                                1. 5

                                                                  I’m mainly proposing this for two reasons:

                                                                  Primarily, the submission guidelines clearly spell out “If no tags clearly apply to the story you are submitting, chances are it does not belong here. Do not overreach with tags if they are not the primary focus of the story.” The “LaTeX Tooling Guide”, the “New mandoc -mdoc -T markdown converter” and the “DocBook rocks! a gentle introduction” stories are all overreaching tags. This could discourage valuable submissions in this general area.

                                                                  Secondarily, yes, I personally do want a way to search for textprocessing posts. It’s a special area of interest of mine. As seen in the examples above, the submissions are very heterogenous and hard to find without issuing multiple searches by term. I suspect there may be other people with an interest like that.

                                                                  1. 3

                                                                    “the submission guidelines clearly spell out “If no tags clearly apply to the story you are submitting, chances are it does not belong here.”

                                                                    Maybe we just get rid of that instead. We already define community norms by votes, comments, and flags. We also evolve. Formal methods and osdev tags are examples. I also try to sneak hardware design in here periodically with it getting a little more attention (i.e. votes) now than in the past. So, the quoted sentence doesn’t reflect what actually goes on.

                                                                    The other thing I do is send new people that What Lobsters Is and Isn’t post to give them a heads up on what kinds of things are good candidates for submission. Especially if their stuff is already getting flagged in Recent.

                                                                    1. 1

                                                                      Even if that were taken out, there’s still the informal burden to tag a story. If you don’t find any tag matching your submission, refraining from submitting would seem like the most obviously correct course of action.

                                                                      1. 2

                                                                        So exclude ideas that don’t fall into a hierarchy?

                                                                        The OP (you) is talking about a subset of what could be called “programming”.

                                                                        refraining from submitting would seem like the most obviously correct course of action.

                                                                        I can’t even. I think you are being overly pedantic in trying to find a classification.

                                                                        1. 1

                                                                          That’s the point I was making. We wouldn’t have a lot of these tags if people refrained from submitting when there’s no matching tag. Notice that your tag suggestion is done, like many others, by highlighting all the stories it would’ve applied to. The stories already submitted are being used to justify the creation of the tag. So, the stories come before the tag. So, the lack of a tag doesn’t mean don’t submit or at least didn’t to them.

                                                                          If anything, a tag seems to just indicate something is common enough on this site to filter or highlight it.

                                                                    2. 5

                                                                      Too many tags also become a burden for submitters having to look at or add them. I’m opposed since binary and text are the default things programmers will be working with. I also don’t see an overwhelming number of articles on it justifying filtering.

                                                                    1. 2

                                                                      I guess real world input is more prone to predictability than input designed to not stabilize.

                                                                      1. 3

                                                                        I’m not sure what you mean. Before I answer, can you clarify what you mean by “input” here? Input to the benchmarking programs (e.g. CLI arguments), or the benchmark programs as inputs to the VMs?

                                                                        1. 2

                                                                          I refer to the work put in to make sure the vms didn’t optimize code away into constants or other such “cheating” optimizations. I suspect most real programs do stumble into readily optimized paths, then don’t change over there course of running.

                                                                          1. 9

                                                                            That’s an open question which I wouldn’t be able to answer without doing another (lengthy) experiment.

                                                                            But if you were to ask for my gut feeling: yeah, depending on the program, some code paths might be more readily optimisable. But on the other hand I suspect that real programs:

                                                                            • Are much larger than your typical CLBG benchmark.
                                                                            • Are less deterministic than our (deterministic) benchmarks and the path taken through the CFG is likely to depend upon (e.g.) RNGs seeded with the time, or stuff read from outside the program itself, like the environment and file descriptors, etc.

                                                                            I think those factors would negatively impact JIT compliation, and for this reason I suspect that most real-world programs are less likely to stabilise, and when they do, would take much longer.

                                                                            But, like I said, this is pure speculation and my co-authors may even disagree with me on this.

                                                                            In any case, more research needed!

                                                                            1. 1

                                                                              Thank you for your work on this! I especially appreciate the effort went through to ensure a clean environment for each run.

                                                                              1. 1

                                                                                Could you create a instrumented build of Chromium and measure this in the wild? Perhaps with Alexa top 1k? The problem is getting deep application usage, which would most likely require a human to drive the application.

                                                                                1. 1

                                                                                  I guess it’s possible (you could use selenium to drive the browser).

                                                                          2. 1

                                                                            “prone”?

                                                                            1. 1

                                                                              Having a tendency.

                                                                              1. 1

                                                                                “likely or liable to suffer from, do, or experience something unpleasant or regrettable”

                                                                                The word is quite negative.

                                                                                1. 1

                                                                                  Mildly negative at most, according to Webster’s.

                                                                            1. 3

                                                                              In addition to all the other comments: you can open 10s of tabs (from bookmarks, feedly, pocket, whatever) and you will not be banned like on HN ;D

                                                                              1. 4

                                                                                I feel out of the loop. What is this referencing?

                                                                                1. 2

                                                                                  I currently have a bunch of HN tabs open right now since I haven’t got around to moving them off mobile. People have been banned for that?

                                                                                  1. 5

                                                                                    OP probably had many HN tabs open, browser crashes or session reloads. All those tab loads come in at once and HN will blackhole your IP for a bit. They are pretty strict about crawl rate as well. Even at much less than a regular browser session and you will be banned.

                                                                                    1. 3

                                                                                      What a curious way to deal with scalability! While developers are usually too quick to jump onto technical solutions, in this case there seems to be an inordinate amount of persistence in the opposite direction. It’s especially amusing in the context of a text-only site for a developer audience. Perhaps it’s more of a statement.

                                                                                      1. 1

                                                                                        That’s what I suspected. It would look like a DOS by a scraper or attacker. I wasnt sure about the threshold. A regular session, huh? Well, Im still not banned so maybe it’s profiled by user (post rate and/or karma).

                                                                                        I think Ill try to play it safe just moving five a day oldest to newest until I get them cleared. Oldest to newest means Ill hit their cache eventually. That might reduce risk if the mitigation counts expensive, dynamic reloads instead of faster, cache hits. Appreciate the tips.

                                                                                  1. 5

                                                                                    The one thing I think could ruin this site is if too many users join. The voting system favours content that most people like. And most people tend to upvote only content that they can understand from just reading the headline which would ruin the quality of links. This is why highly technical posts on reddit dont go anywhere but a post with a title people already agree with will hit the top.

                                                                                    1. 3

                                                                                      I feared that several years ago. Overall I think things have held up well. People still have a relatively clear idea of what does & doesn’t belong on the site. The retention of the invitation system is also a positive force in my opinion. New users generally join as wallflowers and gradually participate more, or else they already have an idea of what Lobsters is for. If they want something different, well, there are other sites that are easier to join.

                                                                                      1. 1

                                                                                        People could get front page upvote tokens at different rate than comment upvote tokens. There could also be a heuristic to determine if they actually read the article.

                                                                                        People upvote things for lots of different reasons, it would be nice if we could determine what those are so they don’t cause noise.

                                                                                      1. 3
                                                                                        1. tags
                                                                                        2. less pedantic arguing for the sake of arguing
                                                                                        3. I got art added as tag and it is nice to come back and see all the art related content.
                                                                                        1. 2

                                                                                          Seems similar to PGO with a different optimization function. Cool work.

                                                                                          I wonder if you could use this to double check properties in property based testing?