I usually just use Unit Test coverage as extra insurance that I didn't accidentally forget a path when writing up tests for new classes, or when trying to assess others tests to see if/what they miss. Outside of that, I basically ignore it.
That (per)mutation testing, sounds like pitest, which I've had fun with using to gauge the effectiveness of tests I've written in the past.
Yep, basically. I looked into Racketscript a while ago, seems like it was a graduate thesis project that heavily built off of a similar python project iirc. It's based on a very old version of rkt, pre-chez, and probably would need a huge investment just to work with the newer ecosystem.
Iirc, an interesting bullet-point in their backend rework to make the move to chez meant that doing things like targeting js might be easier now than ever. I would absolutely love a js backend for rkt, it seems like it would be a huge boon to the ecosystem.
The transition to the Chez Scheme back end is almost bug compatible [1], so if it worked in the old version, it should work in the new one.
One advantage or migrating it to the Chez Scheme version is that some tricky functions (like print or display that have like a million of corner cases) are implemented in Racket or in Chez Scheme, so it's not necessary to write them again in JavaScript.
[1] For example in the old version, only the small chars were interned and in the new version all are interned, so code like (eq? #\λ (integer->char (char->integer #\λ))) may have a different result. It's true in the new version, but in the old version it may be false if the optimizer is not aggressive enough with the constant folding.
I was really excited when I started using racket that I could switch to static typing when I wanted it. However after trying out contract's, I must say I'm quite a fan of them as an alternative. Sure, you lose out on static, compile time checking, but honestly, I haven't missed it. And it's _even more_ seamlessly integrated into un-contracted code.
You can express more interesting things and complex relationships between parameters using the ->i contract than any type system I know of will allow. There's some limitations, but between it and unit testing, I've been having a blast.
I've tried racket/typed before and my knowledge or experience with it might be outdated, but sometimes I just could not get it to agree with my code. I fix one typing warning or thing it cannot infer and another would pop up. I fix the other, then a third pops up. I try to fix the third one, but realize I cannot and need to go back to the original state. When such things do not happen, it is very cool though. The code behing typed racket for me seems so mind bogglingly complex, I did not dare to investigate further. It is a language composed of macros, which use rackets macrology stuff, which is already more complex than other Schemes'. That language can be used to design any type system as far as I read about it.
With my typing trouble I should have come to the user list and asked, but I dId not, frustrated and thinking I was too stupid to get it ^^'
I did once at least see a question on the mailing list, where the answer was, that typed racket could not do it, as in infer types, so it might not be perfect yet, or perhaps it did improve since then.
I wish more Schemes could just copy the typed part of typed racket, using that macro language, as in theory they should be able to represent it, but I guess the devil is in the detail and slightly different workings of macro facilities.
Yes, it certainly has, but I think it's still based on that traditional syntax-case stuff. So in theory other Schemes could perhaps copy it, if anyone can get all the macrology behind it.
Also in theory it should be possible to express all the advanced Racket stuff in syntax-case.
Do you think it is not possible to express these things in syntax-case? And if so, why?
Not always. Quite a lot of contracts can be statically checked. Unfortunately the only contract checker [1] I have experience with is too slow to be useful on source code that is itself large enough to be really useful.
And in C# at least contracts can be disabled for release builds so that the performance penalty is only inflicted on the developers.
I know I hate it when I join IRC channels and have no context as to what anybody has been talking about, as there is no history to quickly go over. Even just having the past days history would help in this regard, at least for more active channels.
It's the same as just barging into a conversation a group of people are having. You don't want to just join and start talking about a completely different topic. So you join, and wait for a bit to get a feel for what they're talking about before piping in. But with IRC, sometimes it can take _days_ to get that amount of information, depending on how active the channel is. The same thing could easily be accomplished by being able to read the last 10 messages in the channel.
I feel like Solution 1 is pretty close to what I see as the "solution".
I think for commonly requested permissions that are not commonly accepted, they should just use a smaller, more discreet icon for notifying the user; one that doesn't hang down over the chrome and block/cover up the site. That way, it can be easily ignored.
It should be more obvious than the one they're using in that solution. Maybe something equivalent to an icon next to the refresh button or something. The text icon they had in #1 was probably /too/ easy to ignore.
As someone with "not-so-tech-savvy" users on my website, this is bound to get ignored a lot. I have seen screenshots of my users (when they need support) and they dont even click "Okay" on the Cookie bar (to accept cookies and stuff) and / or any notification on the website (Not the Push Notification).
Is there a reason you have a cookie bar? The idea of a 'click ok' bar should be dead since GDPR adjusted the law. If it's not for tracking then you don't need a bar. If it is for tracking then whenever possible the site should work without opting in.
I haven't really checked out LineageOS before. Just briefly browsing their site gives me a bit of skepticism. It doesn't seem to be very professional. For example, their about page, and one of their most recent blog posts.
I'm definitely looking for an OS to move to from Android. I suspect Librem will have its own flaws, but they inspire more confidence in me than my first impressions of LineageOS from their website.
They made a mistake with that joke, but it was an outlier. I used Lineage (and Cyanogenmod, its predecessor) for six and a half years straight and never had any reason to doubt its quality. The long-term security updates alone make it one of the best options for keeping your Android device solid.
> In most countries, transmitting radio waves without a state-issued licence specific to the transmission modalities (frequency, power, bandwidth, etc.) is illegal.
In practice, it's more like "if you get caught if it's illegal" --- and depending on what you're doing, getting caught can be very easy (e.g. broadcasting in an active band at enough power that your neighbours notice), or pretty much impossible (e.g. if you transmit inside a Faraday cage or at powers so low it doesn't reach the other side of the room).
Or as the old saying goes, "If no one else can hear you, they won't know you're saying anything."
The Nokia N900 had a FM transmitter, allowing you to stream to e.g. your car radio. Nowadays we got different solutions and this is mostly redundant (though still possibly of use in what we now call "older" cars). The transmitter was very short range, and therefore it was legal.
I find it absolutely mindboggling that Switch's are bricking when 3rd party accessories are plugged in isn't being treated as a bigger issue. Everything I've heard is that the Nyko dock is at fault, but why the hell aren't people mad at Nintendo?
Then again, I haven't followed it very closely, maybe people are? All I've read is how the dock is bad, and nothing about the Switch's apparent fragility.
People are somewhat mad, but Nintendo's only recently bothered adopting anything akin to industry standards around power adaptors. Even the 3DS is proprietary, and the Switch dock itself is some voodoo magic with a chip inside.
USB C itself has been sort of a minefield of adaptors getting the spec wrong, so I doubt anyone is surprised that docks are buggy and even capable of damaging parts.
I'd be interested in something better as well. I was testing SQuirrel SQL the other day (have used it before for MSSQL), but the Oracle plugins for it seem to have succumb to bitrot over the past couple of years. UI can hang for minutes on new connections, CTE's aren't recognized as valid syntax, searching Objects is slow and cumbersome.
That (per)mutation testing, sounds like pitest, which I've had fun with using to gauge the effectiveness of tests I've written in the past.