I am so excited to announce that my @NativeScript android runtime rewrite using Node-API is near completion. 418 tests (almost all) from NativeScript test suite pass now successfully when using @HermesEngine! ๐๐
Apple Notes is not free.
You pay for it by spending thousands of dollars on purchasing absurdly priced devices from a company that makes a living off of entrapping their users in vendor-locked services holding their data and memories hostage.
That's Apple Notes.
Rust is a great language, and the zero performance cost safety benefits are a huge innovation, but dang I still struggle with the borrow checker constantly! Maybe itโs a skill issue, but even after writing a few hundred thousand lines over several years, writing Rust still feels like solving a puzzle. There is definitely a productivity cost, so make sure the other benefits are worth it in your domain before choosing it for everything. ๐
I see this a lot from people who are strongly influenced by the OOP way of thinking: creating multiple "concrete" types to handle slight variations between use cases, and then plastering virtual functions on top of them to create a "unified" interface.
It's actually much simpler to just create a simple uniform type that handles all the cases.
The other day I watched a video from an OOP advocate, supposedly demonstrating the benefits of polymorphism.
He explains a use case where you have an expected publishing date for a book, but it might be only specified partially, for example: just the year and the month, or just the year.
He still wants to be able to use this for sorting books chronologically.
His first "procedural" design had two flags: 'IsMonthSpecified' and 'IsYearSpecified'.
He did not like checking these flags all the time, so he turned to polymorphism and inheritance: creating two partial data classes: 'YearMonth' and 'Year'. Both have a 'DateOnly' object as an internal state, but they change the implementation for date
I will be the first to admit: I used to program in this way too.
Now I just view this whole thing as a waste. The only thing you need is a struct that specified year, month, and day as integers.
You need a language that does Zero initialization by default for this to work (both Go and Odin fulfill this requirement).
A partially specified date is just ... literally a partially specified date. You keep month and day unset (aka set to zero) to indicate they are unspecified.
You don't need to add any new methods or new types or anything.
For the purpose of sorting, you don't even need to check if the month or day are set. They just naturally sort in the correct order (as given by the hypothetical requirements).
Furthermore, IF you want partially specified dates to sort _differently_, you can implement that as needed, on a case by case basis.
------
More importantly, the deeper lesson here is you should *NOT* try to encode the problem space into the type system.
(Unless doing so results in a simpler program).
In the vast majority of cases, adding more types to your program introduces more complexity, not less.
@ospfranco I don't think you understand what "test of time" means. cURL, SQLite, C etc all have their own set of issues and difficulties. You wouldn't exactly call C to "easy to work" either yet nothing can replace it. Why?
๐ Massive improvements coming in the Search experience ๐
๐ Rewriting the sqlite fts5 tokenizer from scratch to support queries < 3 characters in length.
๐ Support for sorting search results
๐ Highlighting matches right in the search results view
Stop the fucking posturing. They are dying over there in hundreds while you are busy here posing and taking pictures. Fuck you and your insensitive deaf, blind, senseless soul.
Alhamdolillah
First batch of Palestinian students arrive at Lahore.
From tomorrow onwards more students to reach Islamabad.
Total 190 students will be arriving Pakistan for medical education!
Pakistan wasnโt created so that a bunch of people who identify as Muslim could live in a land whilst dancing to Bollywood.
It was created for Muslims to be able to live their life according to Islam.
Isn't that exactly what you guys did in your very recent past in India, Africa, America, Middle East, and Asia? Your colonial past is not so old that it'd be forgotten so quickly. A taste of your own medicine, as they say.
If we don't start to seriously fight for our continent, for our religion, for our people, our countries, then this time that we live in will go down in history as the time in which Western nations no longer had to get invaded by hostile armies in order to be conquered, this time will then go down in history as the period in which the invader was actively invited in by a corrupt elite. And not only did this corrupt elite invite the enemy in, they made the native population pay for it too.
Deno is becoming more and more pointless by the minute. Node.js also supports ESM, web APIs like crypto etc. Node.js can also run typescript directly now. Sure its under an experimental flag but...come on.
Why would anyone use Deno over Node.js?
Listen to this, pinch yourself, and then listen to it again.
I can't believe that this is the BBC. That's a top, top analysis.
That's journalism. That's how media outlets should work.
Well-done, @BBCWorld