Hacker News new | past | comments | ask | show | jobs | submit | Croftengea's comments login

Imagine your local cafe notices and starts feeding you poisoned food instead of asking to pay.

Yet hackers would be outside shouting and banging the doors, demanding to be let in to have the free poison, writing five hundred miles of comments about why they should not pay.

>> it’s almost like punishing users for making the choice to browse the web without ads,

MP is one of the best univariate methods, but it's actually mentioned in the article.


I don't think it's being updated. Latest blog posts are from 2020, and Github repos haven't seen commits for the last 5-6 years. MP went a long way since then.


> At this point the hardware side of things was fine but my Zigbee network was gone.

How come the hardware was ok but the network was gone? Did some Z2M config files go wrong because of two dongles? Did you try to restore VM from snapshots?

Losing the network and having to re-pair everything would be a nightmare for me given the number of Zigbee devices I run (~35) and that some of them are mounted in switch boxes in the walls.


Honestly, I don't think I can answer your question. I didn't change the config but I had to delete and re-pair all devices (or they had been gone from Z2M already at this point, I can't remember - it's mostly an academic distinction though).


Thanks anyway :)


Also, the OAuth RFC does not use "MUST" for 400 response and allows some freedom in this regard:

> The authorization server responds with an HTTP 400 (Bad Request) status code (unless specified otherwise)

https://datatracker.ietf.org/doc/html/rfc6749#section-5.2


TL;DR: OpenBSD is bad as a desktop (no bluetooth, limited gamepad support, etc).


Sounds like it's not great as a server either, if the virtualisation support still isn't up to scratch.


And losing files after a crash is something that hasn't happened to me for at least a decade (not with NTFS,ZFS(FreeBSD),UFS2(FreeBSD), ext4 or XFS), maybe rip out soft updates was a bad idea?


She states in that post she had issues running virtual machines on OpenBSD. This isn't the same running OpenBSD in a virtual environment.


I think the reference was to VMM, OpenBSDs own hypervisor.


Usually you use it as firewall or router in bare metal.


And it was starting to stupidly lag for those use cases by 2007, because after some point you start care about firewall/router performance too...


I adore OpenBSD because it's so lightweight, but I dropped it for FreeBSD when the same hardware couldn't max out a 1 gigabit connection running OpenBSD but could with Free. Since then they have made network changes so I'll probably try again even though the bar's moved and now I need 2.5 gigabit connections to be saturated. Happy to give it a chance anyway.


I just remember considering it for routing/firewalling duties about 2007, grabbing then-current performance optimization guide, and finding whole chapter in how to force irq sharing so that interrupts from any NIC will trigger driver code from all NICs...


I can't argue about gamepad support although I would say it is less desktop territory than console/steam machine territory. But for bluetooth support there are definitely good workaround with those usb class compliant soundcards that autoconnect to nearby bt headset/speakers.[1]

[1] I assume you would want to use bluetooth for audio only because anything else usually sucks and can be done better/faster/more reliably with wifi or USB.


I'm using a free app Pictogram (https://pictogramapp.com). It's not as feature rich as Replacicon (e.g. no online search from the app), but it works well if you just need to change an icon or two. Services like https://macosicons.com/ help you to find a good icons online.


Native vertical tabs in vanilla FF? Whoohoo! Imho, the killer feature is automatic group assignment based on URL patters. Will the vanilla implementation support it?


We'll at some point support the tabGroups webextension API, so it would be fairly straightforward for add-ons to do that. We're also looking at automatic grouping options though.


Thank you!


> Parser-generators were always academic projects

Were they? GCC abandoned bison in favour of their own parser relatively recently.


"relatively recently" as in around 20 years ago, in GCC 3.x according to sources I found.


gcc was first released in 01987, but it didn't replace its bison parser for c until gcc 4.1 https://gcc.gnu.org/gcc-4.1/changes.html which was in 02006 https://gcc.gnu.org/releases.html, only 18 years ago, and 19 years after it was released. joseph myers first proposed doing this in 02004 https://gcc.gnu.org/legacy-ml/gcc-patches/2004-10/msg01969.h...

so gcc has literally been using a parser-generator-generated parser for c for more than half its existence, at which point it had already become the most popular c compiler across the unix world and basically the only one used for linux, which had already mostly annihilated the proprietary unix market. it was also imposingly dominant in the embedded space

and i think that kind of development path is fairly typical; getting a parser up and running is easier with a parser generator, but it can be tricky to get it to do strange things when that's what you want (especially with lalr, less so with peg)


OCaml? Thanks for saving me a click!


OCaml is one of the most used languages for compiler design

A good engineer should be able to use the right tool for the job


For hobbyist compiler implementations, right? Compilers for the most popular languages are either written in C/C++, or self-hosted.

You can write compilers in almost any language. I fail to see how C, C++, or even Java or Python aren’t the right tool for the job here. I like pattern matching too, but given that hundreds of successful production compilers have been written without pattern matching, it’s surely just a personal preference.


I’ve worked on multiple compilers in industry that are written in Ocaml. A number of industrial static analyzers are written in Ocaml too (eg, Infer from Facebook/Meta). Yes, LLVM and GCC are the big ones written in the C/C++ family but they don’t represent everything.


And the Go, Java, Ruby, JavaScript, C#, Typescript, PHP, Kotlin, R compilers, and so on.

But even for hobby projects, it’s just a matter of personal preference. OCaml is great for implementing compilers. So are Go, C++, and Java.


I mean, we _are_ talking about a book which invites you to build your own toy C compiler ^^

Nevertheless, OCaml is very strong in compiler design. For example Rust and Hack were written in OCaml initially.

Nevertheless you are not wrong that compilers needing the very last bit of performance like the JVM and LLVM tend to be written in C++

But the barrier is quite a lot more tending to high performance/very high performance and not toy/production

Java and Python are suitable for implementing a toy Compiler and the auther invites you to use any language you like. Just the reference implementation is using OCaml

I would however argue that using C++ is quite advanced since it does not have pattern matching and using C is just masochm. You will be fighting against the language to do even trivial things instead of fighting the actual problem at hand


I totally agree that OCaml is a great language to write a compiler. I’ve used Rust and Haskell, and loved them both.

I was more so pushing back on the the implication that if it’s not OCaml, it’s not the right tool for the job.

Like, I honestly can’t think of a mainstream language in which it would be hard to implement a C compiler in.


A Retargetable C Compiler is another book that implements a C compiler in C.

https://www.amazon.com/Retargetable-Compiler-Design-Implemen...


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: