I forgot how this worked until I discovered NeoCities. I suddenly remenbered when so many personal websites would have some page that’s like “links” or “sites I love” or “other cool people”, etc. And it was just a curated list of sites the author thought were neat.
And your bookmark function was actually really helpful, because “web surfing” was literally jumping from link to link to link, following rabbitholes and breadcrumb trails across the web.
Nowadays, I bookmark things but I never go back through them. I know Firefox sometimes automatically helps you remember stuff in your bookmarks though.
But there was a time when it felt like finding some niche site was a sort of secret club or cool treasure, and you had to make sure you could find your way back. :)
When you didn’t make the bookmark, you were basically trying to backtrack which links you followed and what sites you visited to get back to that one website.
read the official docs, and don’t use google anymore, seriously, any technical question duckduckgo/ecosia can answer better because they use bing search engine
if Kagi were open source sure, but it’s $10 a month and the CEO it is kind of an asshole. And a generative-AI-bro (please don’t make me call them GAI-bros)
This is why I’ve really grown attached to Kagi (paid search engine).
It’s made the internet usable again. I’m honestly surprised how much of difference there is. I’d really recommend people give it a shot. (there’s a free trial for it)
I generally agree with that, but as an aggregation service it would need to justify not providing any actual content/information with its price structure. The same argument against AI models trained with user data.
For now, ignore my recommendation, as I don’t yet fully know my stance on this, with the information provided.
However, I can say that I’ve been super happy with the search results. I don’t use their email service. Just the search and the access to all of the LLMs that are out there.
I don’t know what shady shit you’re referring to. They do AI, but I don’t use any of that. IMO their core strength is the search engine and how it works for you rather than against.
All the noise I see is from people insisting that Rust developers are noisy, and their favorite language is much better types-don’t-solve-bugs-undefined-behavior-is-fine-and-memory-errors-are-not-a-problem.
Actual Rust developers have been silent for years.
I once shared that I had a bad first experience with Rust and no less than four Rust developers arrived to inform me that I was either hallucinating, or bad at programming, or both.
I haven’t had this much fun winding up a sensitive community since I shared how I really felt about Java Spring, in it’s heyday.
I suspect there are a lot of “Rust devs” that are little more than kool-aid drinkers. Common refrains are that Rust is the fastest language, most type-safe language, and most powerful language. Rust certainly seems to move the state of the art forward in some ways, but you can still write garbage code in it.
I’ve worked with lots of different people in lots of different languages, and I think I’d rather good people in a bad language than the other way around by a mile.
I tend to stick to interpreted languages so I can’t weigh in on the Rust vs. C++ debate, but I know that if you’re trying to make headway against a language as entrenched as C++ is you’ve got to get loud.
C++ is just as “safe” as Rust if you use modern language features (std::unique_ptr, for instance). I would argue that anyone who says Rust provides better memory safety than C++ most likely is not familiar with modern C++ and still sees the language as “C with classes.”
As someone whose first language was C, I plan to never use C++ for anything more than programming an Arduino precisely because of the multitude of pointer types. A pointer should just be a pointer. Having five hundred different flavors of pointers is confusing as fuck.
That was my first take as well, coming back to C++ in recent years after a long hiatus. But once I really got into it I realized that those pointer types still exist (conceptually) in C, but they’re undeclared and mostly unmanaged by the compiler. The little bit of automagic management that does happen is hidden from the programmer.
I feel like most of the complex overhead in modern C++ is actually just explaining in extra detail about what you think is happening. Where a C compiler would make your code work in any way possible, which may or may not be what you intended, a C++ compiler will kick out errors and let you know where you got it wrong. I think it may be a bit like JavaScript vs TypeScript: the issues were always there, we just introduced mechanisms to point them out.
You’re also mostly free to use those C-style pointers in C++. It’s just generally considered bad practice.
Smart pointers model ownership. Instead of (maybe) a comment telling you if you have to free/delete a returned pointer this information is encoded into the type itself. But that’s not all, this special type even handles the whole deleting part once it goes away.
Since they model ownership you should only use them when ownership should be expressed. Namely something that returns a pointer to a newly allocated thing should be a std::unique_ptr because the Callie has ownership of that memory. If they want to share it (multiple ownership of the object) there’s a cheap conversion to std::shared_ptr.
How about a function that takes in an object cause it wants to look at it? Well that doesn’t have anything to do with ownership so make it a raw pointer, or better yet a reference to avoid nullability.
What about when you’ve got a member function that wants to return a pointer to some memory the object owns? You guessed it baby raw pointer (or again reference if it’ll never be null).
Word! The whole snafu with co_routines has been quite the laughable show. It would have been trivially sortable if C++ did something like what PHP did, using a symbol to absolutely disambiguate what is a variable and what is not. That way eg.: await is a keyword, $await is a variable (perhaps a functor).
To make it even better, $ is already unused in C++!
Correct. Backwards compatibility is both its biggest asset and its bigger problem.
In syntax alone, you can check what Herb Sutter is doing with cppfront. Specifically, the wiki page on the postfix operators is quite enlightening. It shows some interesting examples of how by making everything a postfix operator you drop the need of -> and the duality of pre/post increment and decrement operators.
programmer_humor
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.