I appreciate the “carrot with a bit out of it” icon.
I appreciate the “carrot with a bit out of it” icon.
It’s the capability of a program to “reflect” upon itself, I.E. to inspect and understand its own code.
As an example, In C# you can write a class…
public class MyClass
{
public void MyMethod()
{
...
}
}
…and you can create an instance of it, and use it, like this…
var myClass = new MyClass();
myClass.MyMethod();
Simple enough, nothing we haven’t all seen before.
But you can do the same thing with reflection, as such…
var type = System.Reflection.Assembly.GetExecutingAssembly()
.GetType("MyClass");
var constructor = type.GetConstructor(Array.Empty<Type>());
var instance = constructor.Invoke(Array.Empty<Object>());
var method = type.GetMethod("MyMethod");
var delegate = method.CreateDelegate(typeof(Action), instance);
delegate.DynamicInvoke(Array.Empty<object>());
Obnoxious and verbose and tossing basically all type safety out the window, but it does enable some pretty crazy interesting things. Like self-discovery and dynamic loading of plugins, or self-configuration of apps. Also often useful when messing with generics. I could dig up some practical use-cases, if you’re curious.
I mean, I’m paraphrasing, too.
Even better quote, I love using this one.
“So, with AI writing code for us, all we need is an unambiguous way to define, what all our business requirements are for the software, what all the edge cases are, and how it should handle them.”
“We in the industry call that ‘code.’”
I mean, REST-ful JSON APIs can be perfectly type-safe, if their developers actually take care to make them that way. And the self-descriptive nature of JSON is arguably a benefit in really large public-facing APIs. But yeah, gRPC forces a certain amount of type-safety and version control, and gRPC with protobuf is SUCH a pleasure to work with.
Give it time, though, it’s definitely gaining traction.
#4 for me.
Proper HTTP Status code for semantic identification. Duplicating that in the response body would be silly.
User-friendly “message” value for the lazy, who just wanna toss that up to the user. Also, ideally, this would be what a dev looks at in logs for troubelshooting.
Tightly-controlled unqiue identifier “code” for the error, allowing consumers to build their own contextual error handling or reporting on top of this system. Also, allows for more-detailed types of errors to be identified and given specific handling and recovery logic, beyond just the status code. Like, sure, there’s probably not gonna be multiple sub-types of 403 error, but there may be a bunch of different useful sub-types for a 400 on a form submission.
Anyone else this there’s actually nothing at all wrong with the “New” row of icons? Except for the triangle one, which is terrible in its “Original” version as well, as it indicates absolutely nothing about its app (I believe it’s Google Drive, right?). All the rest are clearly distinguishable, and have relevance to what the app does.
Case in point: Every single thing Microsoft is doing in Windows these days.
My god, this speaks to me.
Was intrigued until step one of “Getting Started”:
Install Node.js 20 LTS
That’s gonna be a “no” from me.
I had the exact same question, did the exact same thing, and had the exact same response. EVERYONE does this, it’s infuriating. If you’re going to have a public-facing info page about your project or product, you need to assume that people know NOTHING about it.
The XZ exploit was found because some dude was investigating performance issues in a system, and noticed an unusual amount of time being spent in SSH processing, IIRC.
I think it’s a fallacy to say that you can or should build an application layer that’s completely DBMS agnostic. Even if you are very careful to only write SQL queries with features that are part of the official SQL standard, you’re still coupled to your particular DBMS’s internal implementations for query compilation, planning, optimization, etc. At enterprise scale, there’s still going to be plenty of queries that suddenly perform like crap, after a DBMS swap.
In my mind, standardization for things like ODBC or Hibernate or Entity Framework or whatever else isn’t meant to abstract away the underlying DBMS, it’s meant to promote compatibility.
Not to mention that you’re tying your own hands by locking yourself out of non-standard DBMS features, that you could be REALLY useful to you, if you have the right use-cases. JSON generation and indexing is the big one that comes to mind. Also, geospatial data tables.
For context, my professional work for the past 6 years is an Oracle/.NET/Browser application, and we are HEAVILY invested in Oracle. Most notably, we do a LOT of ETL, and that all runs exclusively in the DBMS itself, in PL/SQL procedures orchestratedbbybthe Oracle job scheduler. Attempting to do this kind of data manipulation by round-tripping it into .NET code would make things significantly worse.
So, my opinion could definitely be a result of what’s been normalized for me, in my day job. But I’ve also had a few other collaborative side projects where I think the “don’t try and abstract away the DBMS” advice holds true.
I’ll take this over the more “classic” styles, when people seed to believe they were paying the compiler by the character.
Damn, actual personal growth being displayed on the internet? Such a rare thing I find myself wondering it wasn’t all staged. How messed up is that?
Also, how messed up is it that it worked, cause I’mm’a go watch all of these.
I know folks in the C# Discord have talked about getting WinForms to work on Linux, you could post a question there. But unless you’re specifically dealing with maintaining some legacy app, you should not be using WinForms, much less on Linux. Avalonia or Xamarin are definitely the way to go if you’re making something new and want cross-platform desktop support.
Protip if you do go down that route: Tutorials tend to ignore the fact that you don’t have to use XAML to make anything in these frameworks. You should. But if it’s more comfortable for you to write WinForms-style imperative code that you’re used to, you 100% can, the APIs are not significantly different.
Can I get an Oracle version?
There was a Payday 3?
Apparently trained on 4chan?
First game I ever played where I was like “yo, I actively WANT to do the speedrun achievement, and the deathless achievement.” So, first game where I ever did those things. Maybe I’m just crazy, but I found them way easier than I expected.
Also, a prime example of storytelling through music.