1. 3

    If your goal is to work with Verilog quite a bit, or if you just want an environment to test/validate your FPGA design, I can’t recommend Verilator [1] enough. It will compile your Verilog/SystemVerilog/etc. to C++, and will do a cycle accurate simulation of your design. You also get to build your own test bench where you can introspect on the state of your design mid execution, which is particularly helpful for debugging. Another tool which I want to get more experience with but haven’t yet is hw-cbmc [2] and ebmc [3] which let you prove equivalence to a C program and validates your assertions, respectively. I haven’t tried them out myself but they look to be pretty nifty for verification.

    [1] https://www.veripool.org/wiki/verilator [2] https://www.cprover.org/hardware/sequential-equivalence/ [3] http://www.cprover.org/ebmc/

    1. 2

      If your goal is to program FPGAs and not to learn Verilog, I’d really, really recommend playing with BlueSpec, It has a good simulation infrastructure and is a very nice language to work with. When I was using it a lot, it was free for universities but $1m/seat for commercial licenses, now it’s BSD licensed. It wasn’t worth $1m, but it’s definitely better than any alternatives I’ve seen.

    1. 3

      Please do not make feature requests: I will simply close out the issue.

      I wonder why.

      1. 15

        I’d probably pull off such a thing as well because there is a huge amount of users confusing OSS Maintainers with Commercial Support, which is really draining.

        1. 3

          Exactly.

          1. 2

            I understand but I think it would suck if everyone did that way. Sure we can always fork but one fork per feature sounds like a huge waste of resources.

            1. 8

              I said feature requests. E.g., “can you please support –exclude”. Code is not a feature request.

              1. 8

                It says you’ll accept their work instead of attempts to get extra work out of you for free. That seems very reasonable. :)

                1. 2

                  Yeah I was confusing refusing feature requests with refusing pull requests.

                  A feature requests first is a good way to see if the maintainer would accept a PR (and to see if other users wants it) however. Well for the way most of us use Github, I guess we could contact the maintainer instead if his email is on his profile.

                  1. 7

                    In this case, feel free to ask here! (I’m the maintainer.)

              2. 2

                On the other side, having feature requests open helps newcomers to see what they could help with.

              3. 4

                If you read the rest of the README you pretty much got the answer.

                1. 3

                  Because that’s the only way your issue tracker won’t have 3000 open issues and 1000 open PRs in 5 years.

                  1. 1

                    Yeah because you won’t have users because you’re kind of flipping them off.

                  2. 2

                    It might be that the projects goals are purely to reach feature parity/compatibility with rsync, thus feature requests would be redundent/unnecessary.

                    1. 1

                      Probably focusing on just being rsync compatible for now I guess?

                      I find it interesting the dev is still using CVS too.

                    1. 1

                      Is it just me, or does the interactive demo they posted look very similar to VS Code?

                      1. 2

                        That’s because both are built with https://github.com/Microsoft/monaco-editor

                      1. 2

                        A really interesting project. It looks like their SVN/bug tracker are using outdated SSL certificates, and even if you bypass those it will only give you an access denied error. However you can download the source tarballs, so I made a unofficial mirror of the code on GitHub (since I couldn’t find any of those as well).

                        My first thought when I saw the project was, “well this would be cool for an experimental kernel,” however they list that one of the two things this isn’t for is “Low-level, self-standing programs such as OS kernels.” Though I wonder if a Rust-style (in that similar to Redox and presumably other Rust kernels) microkernel would be possible, with an “unsafe” microkernel and the the modules being built off of the “unsafe” kernel with the FailSafeC compiler. I’m not familiar with the design of the compiler though, and it does appear to have some sort of runtime which would complicate porting it, but it would definitely be an interesting/fun project.

                        1. 2

                          Presumably you could use this compiler as a test suite, and generate production binaries with gcc/clang.

                        1. 4

                          I have no specific questions but I wanted to say how much I enjoyed the talk, and how much I look forward to the time when I can brew cask install xi and act as your alpha tester.

                          1. 2

                            If you’re interested in playing around with Xi on a mac, you should check out xi-mac. It doesn’t have much complex tooling but it does use CoreText which is pretty interesting, and in general is a very smooth feeling editor (compared to say, Atom).

                            1. 1

                              Yeah, I looked at it! But I couldn’t build it, because I only have the commandline tools, and it requires full Xcode.

                            2. 1

                              Pretty much I am in the same boat as Peter, both for Xi and Alacritty! Since I am no Rust dev (yet ;)) I feel like it’s too early for me to use it, but I check both projects on Github once in a while.

                            1. 3

                              I also own a GPD Pocket, and I love it lots. However, this post glosses over the keyboard as if it’s keyboard is only slightly off. It is practically unusable. If you get used to the weirdness of it then you’ll just feel weird when coming back to a standard keyboard. My highest recommendation is to get a keyboard to plug into it, which to me defeats the purpose of the super portable computer. It’s an odd device. Also, I remember hearing rumors that a new model is going to come out with an i3, so if you are interested in buying one of these devices then you may wish to snoop around for more details about that, as it seems to be a significant upgrade. Also, the Pyra is coming out, another system similar to the GPD Pocket (although it does use an ARM processor) that’s more focused around emulators but is also more portable. The creators of it have been running a very interesting development blog about the production of the device, which can be an interesting if you’re curious about the development lifecycle of a device like this.

                              1. 13

                                I don’t have any research papers off hand, but I would love to read some criticisms of the blockchain/cryptocurrencies (in terms of technology rather than economics).

                                1. 6

                                  This piece is pretty good.

                                  1. 13

                                    No, that piece is actually uniquely terrible. I mean, if you want to simply read a piece which throws cold water then sure, read it, but you’re probably looking for informed pieces. The linked article is written by somebody who doesn’t understand the space; it makes claims which can be trivially disproved by reading the relevant literature. (For example, he seems to think that systems like Filecoin are proposing we store bulk data directly onto a blockchain)

                                    This one is much better.

                                    Attack of the 50 foot blockchain, both the book and the blog, are also great. They go less into technical details and more into pointing out the crazy claims some people are making and the crazy schemes they’re proposing.

                                    1. 6

                                      This one is much better.

                                      That looks like it might be worth including on the list. I’ll try to review it tonight.

                                      1. 6

                                        I thought it was a pretty good piece. Main factual errors are: eight years not ten, and bitcoin transactions haven’t been four cents since early 2015.

                                        But I think his central thesis is sound: all of this is a series of very impressive solutions to things that aren’t in fact the problem. Key quote:

                                        In conversations with bitcoin entrepreneurs and investors and consultants, there was often a lack of knowledge or even interest in how the jobs were being done today or what the value to the end user was.

                                        The more general problem is that “blockchain” the buzzword has less and less to do with the weird trick Satoshi Nakamoto came up with. e.g. Hey, Estonia’s all Blockchain now! Everything there is on blockchains! Is this Good News for Bitcoin?? well, not quite, because their esteemed Guardtime KSI Blockchain isn’t actually, er, a blockchain. That sort of thing.

                                        1. 2

                                          Oh, it’s cool that you’re here. First off, thanks for the book, it gave me a very lovely Saturday!

                                          In conversations with bitcoin entrepreneurs and investors and consultants, there was often a lack of knowledge or even interest in how the jobs were being done today or what the value to the end user was.

                                          If this was his main point I would agree that it was a decent piece, but all of his examples really are terrible. He focuses on b2c applications; almost all of his reasons are how consumers already have much better alternatives than anything blockchain-powered currently provides.

                                          I agree, however (1) there’s much more to the world than just b2c, (2) b2c is usually built as a wrapper on top of unfriendly systems. Dropbox, one of his examples, is built on top of s3, which isn’t much friendlier than Filecoin would be, if it succeeds. Filecoin has the promise of being much cheaper though, so you can imagine, 5 years from now, using a Filecoin-powered-Dropbox which gives you all the same features but is less than half the cost. I know that doesn’t sound revolutionary, but before I lose your interest by claiming even bigger things I wonder if you agree the above is possible.

                                          He then prematurely generalizes, and claims that these failings prove the entire class of blockchain protocols are doomed. Again, I totally agree that consumers prefer airline miles to whatever libertarians mean by “sound money”. However, I think things like storage markets, prediction markets, incentivized mesh networking… all of these take time to build; and the author of this piece seems to think that because he can’t imagine them then they must surely not exist.

                                          The more general problem is that “blockchain” the buzzword has less and less to do with the weird trick Satoshi Nakamoto came up with.

                                          This is, in some circles, completely true. It’s something Matt Levine has written about; blockchain is often code for “let’s get decision makers to approve fixing some of our infrastructure by giving the work a sexy name”. You’re reading your own opinions into his piece though, I don’t think he ever argues this :)

                                          1. 6

                                            I probably am reading my own opinions into his paper to a degree, then agreeing with myself, yes :-) I was reading it as a businessperson’s frustration with fountains of BS that never quite work out.

                                            I do think, though, that eight years in, the burden of proof is firmly on the blockchain promoters. I have no patience any more for purported blockchain systems that don’t exist yet, because their track record of achieving existence is really bad.

                                            Hypotheticals in the blockchain space are so cheap as to be worthless. “Could” or “will” are words meaning “doesn’t”.

                                            The bitcoin press don’t really help in this. CoinDesk in particular never seems to have seen a hypothetical it doesn’t like; all you need is to make your thing slightly blockchainy and they’ll post a piece of journalistic stenography about it. Its failure to eventuate six months later will never be noted. This is a big problem because the mainstream media assume good faith, that this is specialist press rather than boosterism press …

                                            Try this yourself! Take any of these hype-filled proposals and replace “could” with “doesn’t”. I’ve got here a blockchain in healthcare paper - peer-reviewed!! though in a journal that made Beall’s List - that has “could” 81 times, all for things that DON’T EXIST. Perhaps one day they will! But the fact that they DON’T EXIST is in fact an important point.

                                            The Lightning Network is one personal bugbear on this point. I have had this argument, live on video with a bitcoin advocate (they didn’t put that bit up, for some reason … though I still have my video) where I pointed out bitcoin’s utter failure to scale and got back “but look, the Lightning Network! (laugh)” as if that was a slam-dunk refutation. I had to point out the fact that LN’s been coming any moment now in 2015, 2016, 2017 and for 2018, and the most important thing about it is that it DOESN’T EXIST. And, y’know, its repeated failure to happen might be relevant to its value as a solution to the problem.

                                            (Rant time: I just had another go-round recently with LN advocates. I am pleased to say the actual devs are much better to talk to than the advocates. There is now LN code! The crippling flaw of the whole LN design remains the path-finding algorithm, to go from arbitrary node A to arbitrary node B - which is the same problem as trying to solve a UUCP bang-path. What was the best that the most motivated computer scientists and sysadmins of the 1980s could manage? Either compute it by hand, or download monthly maps of the entire network and pathalias it. And they all ran screaming for DNS as soon as they had proper Internet. So to do a proper mesh network, rather than just a few hubs closely resembling the Visa-Mastercard-PayPal triumvirate, LN actually requires new computer science. The present alpha code uses “broadcast every channel and transaction to the whole network”, which is I think O(n^2) and scales to literally tens of nodes. And then, even if it all worked, the economics of the LN can’t possibly work and would seize up immediately. But as far as I can tell, they literally don’t have a planned or anticipated economic model; certainly there’s nothing in years of dev list messages referencing any sort of thing they’re aiming for, which any reasonable person would think was something that might be needed … gah. Hyped vaporware. I tire of it.)

                                            so yeah. I have no patience for hypotheticals in the blockchain space any more. Call me when the thing exists and works. There’s too much BS and too many BSers.

                                            I did just ask an actual mathematician working in related areas to write a section-by-section takedown of that TimeCube-in-LaTeX white paper IOTA put up. I hope they have something I can link or post soon.

                                            1. 2

                                              I do think, though, that eight years in, the burden of proof is firmly on the blockchain promoters. I have no patience any more for purported blockchain systems that don’t exist yet, because their track record of achieving existence is really bad.

                                              I really can’t argue. I do think that these things take time. Many of the potential “could” and “will” applications assume things like low transaction fees or a lightning network or decentralized storage. Until we figure out how to scale these things those applications are likely to be out of reach.

                                              I’ll have to begrudgingly agree with you if we go another 8 years without any big breakthroughs but for now I’m hopeful, ethresear.ch has some cool ideas which are just crazy enough to work. It took a surprisingly long time for the steam engine to become practical.

                                              And then, even if it all worked, the economics of the LN can’t possibly work and would seize up immediately

                                              Do you have any references I could go read? I have my doubts on Lightning Network, it feels like there need to be hubs, and the channels between those hubs need to be massive to hold all the payment volume, but that’s just my idle speculation. I’d love to see some math.

                                              I did just ask an actual mathematician working in related areas to write a section-by-section takedown of that TimeCube-in-LaTeX white paper IOTA put up. I hope they have something I can link or post soon.

                                              Yes, IOTA is an unmitigated disaster. I also would love to have something I can link to.

                                              1. 3

                                                No, I was trying to put one together, but that really requires the LN to be an actual thing that could be talked about. It’s hard to make specific and pointed critiques of a nonexistent network. I mean, proponents can easily say “that’s not a problem because (spurious justification)” because the network doesn’t exist yet

                                                Though here’s someone writing several obvious arguments against it. Also, Jorge Stolfi on Reddit (/u/jstolfi) has critiqued it at length and in detail.

                                                Whenever I’ve seen someone raise economic arguments, LN devs and proponents go silent. I’m also pretty sure you can get credit - the promise of money that would be as usable as money - out of it, though the notion is anathema to bitcoiners because credit is evil therefore doesn’t exist. Etc., and on.

                                                The LN is very un-blockchain in nature. One of the big things, actually, that worries me about the LN is that I don’t think there’s been a system like it in financial history. And people have tried just about everything, so that’s actually a point against it. I asked one finance history buff, and the only thing they could think of was Bretton-Woods and large quantities of gold. And B-W eventually faded away as people stopped pretending they cared about the actual gold.

                                                I’m seriously starting to think they were desperate for something, anything to deal with the Bitcoin transaction clog and seized upon this half-formed LN payment channels idea, didn’t think it through at all, and still haven’t.

                                                The LN on the testnet is pretty elaborate. Buuuut the testnet doesn’t have $50 transaction fees to set up a channel.

                                                1. 2

                                                  Thanks for making your points in this thread. They’re well-stated and express some of the concerns I’ve had while evaluating various possibilities for the current project I’m working on, better than I could have.

                                        2. 3

                                          The first is pretty good esp on speed, flexibility, and energy use. If it’s on the list, one might want to include prior and alternative work that uses traditional tech with audit ledgers, byzantine databases, securities built on multiple stable commodities/currencies, nonprofits solving for-profit transaction issues via charter + contracts, and so on. Lots of possibilities that reuse everything from proven security or software methods to well-understood laws and business models.

                                          Strange enough, echo chamber is so strong on bitcoin that anyone bringing up stuff like that just fixing centralized methods or decentralizing without blockchains gets pushed to bottom of thread. Meanwhile, the newly popular thing is still failing while the traditional methods still mostly work.

                                          1. 3

                                            Fairly sure David Gerard is a fellow crustacean. (He and I seem to end up in all the same internet places for some reason.)

                                          2. 3

                                            That’s more an argument about the business side than the core technology, though.

                                        1. 4

                                          Been working recently a lot on my kernel, brackos. My biggest advance recently has been successfully implementing Symmetric Multiprocessing (SMP), which allows me to use all the processors in a computer, rather than just the one that happens to boot. While getting this to work has been incredibly rewarding, it has come at the cost of me needing to redesign a lot of the functionality I had already gotten in :(. Most of my memory management functions at the very least need lots of locking put in, and in some cases (for example, my slab allocator) need to be partially reworked to support the concurrent accesses. Then I also need to do work on my scheduler to support multiple processors as well.

                                          I think my goal this week will be to try and just get my memory management functions ready. That subdivides into a few different tasks: the slab allocator, the page frame allocator (buddy system), and the virtual address space allocator. I’ve actually already got some basic locking in the page frame allocator, but it’s untested and probably incomplete. For the slab allocator I think I’m going to go the route linux did with their slub allocator and for each cache give each processor their own slabs. Then lastly for the virtual address space allocator: I think for now I’m just going to get locking in. I think way down the line I might replace it with something more sophisticated, but right now it works well enough. Then the tricky part becomes testing the concurrency. It might be worthwhile to bring the allocators out of the kernel and test it with TSAN for validation

                                          Oh and also study for my finals. Gotta get good grades first semester :}

                                          1. 1

                                            It’d be interesting to see something like a mastadon-like interface where even though the instances are hosted separately and house their own communities, they can interact with each other.

                                            1. 6

                                              Isn’t one point of lobste.rs that you cannot interact unless invited?

                                            1. 3

                                              Implemented an octree in C just to see how it would play out, thinking about trying to make a little lego-type game with it. I’m thinking about starting up work again on my little x86 kernel, and seeing if I can get the APIC/SMP stuff working. Also continued doing some investigations into a bug I found in some macOS GPU drivers, hoping to turn it into an exploitable bug.