We even have the options around in our compilers to treat warnings as errors. As continuation on that idea I for one was lucky earlier in my career to work with the brilliant idea of just asserting in production. Straight up crash the software when something was wrong. Wrong preconditions that could mess something in the future. "empty array where it isn't supposed to be empty, sorry crash - fix your bug". even when it kind of worked, which is the real issue... it kind of works until it doesn't. I've silently introduced this mindset into my work ever since and the quality of the result is so much better. Warnings are something that will be deferred when given the option so don't warn it is an error.
HN user
JanneVee
Yeah, I gave up trying to find productivity uses for the copilot in office because of limitations like that.
If I was to speculate, this is the result of "rank n' yank" where the performative productivity is more important than actual productivity. If true it says something about why AI is pushed hard by Microsoft, it make performative productivity much more easier.
Well, for me it makes a difference. I often get in a sense a "theory of mind" of the other developers when I read other code. I don't get the same thing with AI code.
A feature wasn't 10000 loc written by a AI before that no one except the AI with the context understands. If you review all that to understand it fully your productivity gain diminishes, the gain might not go away fully but it is much less when you can be woken up at 3am because of an incident and start reviewing everything.
Well you aren't writing the code, the AI is and you are letting the AI debug that created it in the first place and it doesn't learn from the experience in the same way. Hopefully you understand the problem in such a degree that you can spec away the problem in the next iteration. I'm seeing that issue now, people just forget to learn what the issue is and keep repeating mistakes that are regurgitated from the training material.
I read that as you have never been debugging a production issue at 3am while losing data and/or revenue.
So, they still booked up all the ram and ssd in the world and still going to use gigawatts of power. The price of energy production is not going to go down 20x and 30x it just means that they can cram in more inference on the same energy consumption if the cost goes down. But they aren't paying the market rate for inference because everything is subsidized with debt and investors money to scale as fast as possibly. They are flushed with money and that is why they can book up all silicon production.
Well from my point of view. When they talk about gigawatt datacenters, then yes it is economically nonviable. You just need to know the scale of a gigawatt to realize that we need to start building power plants and fortifying the power grid to ship a gigawatt of power to a single location. Until the build out which takes years mind you, it is competing with other consumers of power. Lets take another huge consumer of power like a large steel mills use 100 megawatt. So if that power becomes more expensive because of datacenters, then the price of steel will go up. And if the price of steel goes up it affects a lot of things in the economy.
We are facing a situation that the short term effects are on memory and storage prices going up and lack of jet engines. Long term we wont be able to build actual buildings and ships without financing it with even more debt than today and everyone in the economy is going to service that debt through the price.
My little anecdote of breaking the spell. Really I might not been truly under the spell, but I had to go far in to my project to loose the "magic" of the code. The trick was simply going back to a slower way of using it with a regular chat window. Then really reading the code and interrogation everything that looks odd. In my case I saw a .partial_cmp(a).unwrap() in my rust code and went ahead an asked is there an alternative. The LLM returned .total_cmp(a) as an alternative. I continued on asking why it generated the "ugly" unwrap, LLM returned that it didn't become available later version of rust with only a tiny hint of that it .partial_cmp is more common in the original trainingsets. The final shattering was simply asking it why it used .partial_cmp and got back "A developer like me... ". No it is an LLM, there is somewhere in the system prompt to anthropomorphize the responses and that is the subtle trick beyond "skinner box" of pulling the lever hoping to get useful output. There are a bunch of subtle cues that hijacks the brain of treating the LLM like a human developer. So when going back to the agentic flow in my other projects I try to disabling these tricks in my prompts and the AGENTS file and the results are more useful and I'm more prone to realizing when the output has sometimes has outdated constructs and be more specific on what version of tooling I'm using. Occasionally scraping whole branches when I realize that it is just outdated practices or simply a bad way of doing things that are simply more common in the original training data, restarting with the more correct approaches. Is it a game changer... no but it makes it more like a tool that I use instead of a developer of shifting experience level.
They have made huge investments into hardware so everyone is getting more expensive hardware, and now begging everyone else to make their investments worthwhile. Don't mind that they are driving up prices for hardware and requiring new hardware for Windows 11 upgrades. I'm suspecting that we don't have enough memory manufacturing capacity in the world to do both AI datacenters and replace all hardware that they made obsolete with their forced upgrade. AI didn't turn everyone into paperclips but it turned everyone to memory and AI processors in datacenters that can't be powered or has no useful economic utility.
Fun fact about BSTR, it uses memory before the string pointer to store the length.
From the CComBSTR documentation from microsoft: "The CComBSTR class is a wrapper for BSTRs, which are length-prefixed strings. The length is stored as an integer at the memory location preceding the data in the string. A BSTR is null-terminated after the last counted character but may also contain null characters embedded within the string. The string length is determined by the character count, not the first null character." https://learn.microsoft.com/en-us/cpp/atl/reference/ccombstr...
From the book ATL internals that I read about 24 years ago.
"Minor Rant on BSTRs, Embedded NUL Characters in Strings, and Life in General From the book ATL internals that i read about 24 years ago.
The compiler considers the types BSTR and OLECHAR* to be synonymous. In fact, the BSTR symbol is simply a typedef for OLECHAR. For example, from wtypes.h: typedef / [wire_marshal] / OLECHAR __RPC_FAR BSTR;
This is more than somewhat brain damaged. An arbitrary BSTR is not an OLECHAR, and an arbitrary OLECHAR is not a BSTR. One is often misled on this regard because frequently a BSTR works just fine as an OLECHAR *.
STDMETHODIMP SomeClass::put_Name (LPCOLESTR pName) ; BSTR bstrInput = ... pObj->put_Name (bstrInput) ; // This works just fine... usually SysFreeString (bstrInput) ;
In the previous example, because the bstrInput argument is defined to be a BSTR, it can contain embedded NUL characters within the string. The put_Name method, which expects a LPCOLESTR (a NUL-character-terminated string), will probably save only the characters preceding the first embedded NUL character. In other words, it will cut the string short."
I wont link to the pirated edition which is never than the one I read.
So if there is code in outlook that relies on the preceding bytes being the string length it can be the cause of the memory corruption. It would require a sesssion in the debugger to figure it out.
Because he showed the action fps was possible on limited hardware. Also he has had some good ideas in the software- design and architecture of Wolfenstein, Doom and Quake, that where apparent when he open sourced their engines.
Uhm, isn't radiation a problem outside of the atmosphere? How fast are the data transfers going to be? so many questions...
I'm dumbstruck that Crowstrike exists with George Kurtz still at the helm. There is no accountability at all. Kurtz was CTO of McAfee when their update caused back in 2010. Why does these things keep following him?
I've turned off my history on all logged in profiles, to get YouTube not giving me recommendations! I had a constant humm of YouTube content in my background during work. So when I was offered due to the EU to turn off my recommendations by turning off history I grabbed the offer. It is just enough for me to make my YouTube consumption intentional and avoid it. I've experimented with having a non-logged in browser with recommendations but occasionally it manages to find my poison, so after I nuke the cookies it is back to intentional usage of YouTube there too. Because the worst part of the YouTube, it gives you useful stuff that improves your life, but it also just sucks you into a black hole of content.
Also it is true that these things with procrastination and addictive behaviors are very much emotional issues and so on... and in my case whenever I notice that I'm avoiding dealing with my emotions and the hard stuff with YouTube content black holes I do the resets.
Good luck
I'm old as dirt but I recall one of the arguments for TPM was shoved down our throats was the ability to tie documents to machines and organizations. Something something... industrial espionage. Now we know that is a lie. They just wanted to fill landfills with old working computers.
A crypto library is "essential complexity" and running a node.js runtime inside a container in kubernetes node in a virtual machine on a server owned by a hyperscalar cloudprovider is "accidental complexity". I'll take the crypto library any day of the week but if I get to decide how to host a webapplication I'll stay away from that fragile tower of abstractions. As it happens I currently make a living from that "accidental complexity" so it is not a matter of skill, I just see it as unnecessary.
When skimming through the report I got to think of the oscillation problem in RIP routing protocol. Although it isn't the same thing, but it shows the complexity of the problem to anyone who thinks there is a single solution to it.
I've harped on this before: the problem is that the ads if they are fraudulent or harmful in other ways and the companies making money when presenting deserve get their shit blocked. Especially if they can target ads to vulnerable people. These are huge profitable companies that moderate the content they profit of but as soon as someone pays them they turn the blind eye.
The important thing here isn't who he is, but how he was treated when presented the idea that techies are going to loose reputation.
Do you have a link to the post (or posts) from Michael O. Church? I have a vague recollection of the idea but I would like to reread it with what I know today!
I didn't say that I was any good, just that I enjoyed it.
I have a dog eared copy of Advanced Windows Debugging that I've used, but I've also have books around reverse engineering, disassembly and a little bit of curiosity and practice. I have also the .NET version which I haven't used as much. I also enjoyed the Vostokov books, even though there is a lack of editing in them.
Edit to add: It is not as much focus on usage of the tool as it is about understanding what is going on in the dump file, you are ahead in knowledge if you can do stack traces and look at exception records.
Crash dump analysis has traditionally been one of the most technically demanding and least enjoyable parts of software development.
I for one enjoy crashdump analysis because it is a technically demanding rare skill. I know I'm an exception but I enjoy actually learning the stuff so I can deterministically produce the desired result! I even apply it to other parts of the job, like learning to currently used programming language and actually reading the documentation libraries/frameworks, instead of copy pasting solutions from the "shortcut du jour" like stack overflow yesterday and LLMs of today!
In my view it is about design that requires taste and creativity. Engineering is about function, design is about form. If I build something that solves a problem but if it isn't well designed it can mean that no one actually uses even if it is good piece of engineering.
Watching this only a few videos and it made me profoundly sad. It is a loss of authenticity, everything online now feels fake compared to this.
Companies do what they always do. It isn't the first time a organization sees something trendy, say that they adopt it and just renames their old processes to with what is trendy and doesn't change one damn thing. It happened with agile and it is happening with DevOps. These poor performers are most likely doing ops in a traditional way they just adopted the vernacular of modern practices and claiming it doesn't work.
The core of DevOps and agile is essentially tightening the feedback loops and using the feedback to adjust to become more efficient. "Oh we are failing deploys" and not figuring out why to adjust well that isn't DevOps. Not figuring out why you don't deliver what you promise isn't agile either.
You haven't followed my argument, so I'll break it down for you. There are ads on YouTube that prey on vulnerable people as per the original post. I came with a small clip in a larger video that YouTube has these categorized so creators can opt-out of these most likely predatory ads. And on that I had an anecdote of my elderly father having ones these predatory ads presented to him, after he was asked a while ago to turn off ad-blocking by YouTube. I'm not the shop customer here, my elderly father is which he has done what was asked of him. I'm simply unwilling to pay for a service so I can opt-out predatory ads on behalf of my father. YouTube does business with organized criminals and is demanding money not to present to the predatory lies of organized criminals. I refuse to pay and demand that YouTube stops taking the criminals money and presenting them as ads.
Look I know I'm screaming in the wind here. It is a comment on the state of YouTube ads. It's not that I have an illusion that someone in the hierarchy of Google is going to read my comments and take decisions that improves the situation. It is a thought and opinion on the direction of what Google has become. And personally I'm reducing my reliance on google. Next year I'm starting move subscriptions and other things from my gmail mail account. I've gone back to firefox. Google Search has gotten terrible recently so I'm looking for alternatives. This is my personal choice and I just want to whine on the Internet on my way out.
The scale of paid content is much smaller than the general youtube scale. And they already have a categorization for it. Of course you could lie about the categorization of what you pay to YouTube to show unsuspecting people, but at least you run the risk of giving YouTube money and not getting shown because you violated their advertising policy. It would change the whole economics of running scams through ads.