#Code Review
Explore tagged Tumblr posts
mostlysignssomeportents · 1 year ago
Text
“Humans in the loop” must detect the hardest-to-spot errors, at superhuman speed
Tumblr media
I'm touring my new, nationally bestselling novel The Bezzle! Catch me SATURDAY (Apr 27) in MARIN COUNTY, then Winnipeg (May 2), Calgary (May 3), Vancouver (May 4), and beyond!
Tumblr media
If AI has a future (a big if), it will have to be economically viable. An industry can't spend 1,700% more on Nvidia chips than it earns indefinitely – not even with Nvidia being a principle investor in its largest customers:
https://news.ycombinator.com/item?id=39883571
A company that pays 0.36-1 cents/query for electricity and (scarce, fresh) water can't indefinitely give those queries away by the millions to people who are expected to revise those queries dozens of times before eliciting the perfect botshit rendition of "instructions for removing a grilled cheese sandwich from a VCR in the style of the King James Bible":
https://www.semianalysis.com/p/the-inference-cost-of-search-disruption
Eventually, the industry will have to uncover some mix of applications that will cover its operating costs, if only to keep the lights on in the face of investor disillusionment (this isn't optional – investor disillusionment is an inevitable part of every bubble).
Now, there are lots of low-stakes applications for AI that can run just fine on the current AI technology, despite its many – and seemingly inescapable - errors ("hallucinations"). People who use AI to generate illustrations of their D&D characters engaged in epic adventures from their previous gaming session don't care about the odd extra finger. If the chatbot powering a tourist's automatic text-to-translation-to-speech phone tool gets a few words wrong, it's still much better than the alternative of speaking slowly and loudly in your own language while making emphatic hand-gestures.
There are lots of these applications, and many of the people who benefit from them would doubtless pay something for them. The problem – from an AI company's perspective – is that these aren't just low-stakes, they're also low-value. Their users would pay something for them, but not very much.
For AI to keep its servers on through the coming trough of disillusionment, it will have to locate high-value applications, too. Economically speaking, the function of low-value applications is to soak up excess capacity and produce value at the margins after the high-value applications pay the bills. Low-value applications are a side-dish, like the coach seats on an airplane whose total operating expenses are paid by the business class passengers up front. Without the principle income from high-value applications, the servers shut down, and the low-value applications disappear:
https://locusmag.com/2023/12/commentary-cory-doctorow-what-kind-of-bubble-is-ai/
Now, there are lots of high-value applications the AI industry has identified for its products. Broadly speaking, these high-value applications share the same problem: they are all high-stakes, which means they are very sensitive to errors. Mistakes made by apps that produce code, drive cars, or identify cancerous masses on chest X-rays are extremely consequential.
Some businesses may be insensitive to those consequences. Air Canada replaced its human customer service staff with chatbots that just lied to passengers, stealing hundreds of dollars from them in the process. But the process for getting your money back after you are defrauded by Air Canada's chatbot is so onerous that only one passenger has bothered to go through it, spending ten weeks exhausting all of Air Canada's internal review mechanisms before fighting his case for weeks more at the regulator:
https://bc.ctvnews.ca/air-canada-s-chatbot-gave-a-b-c-man-the-wrong-information-now-the-airline-has-to-pay-for-the-mistake-1.6769454
There's never just one ant. If this guy was defrauded by an AC chatbot, so were hundreds or thousands of other fliers. Air Canada doesn't have to pay them back. Air Canada is tacitly asserting that, as the country's flagship carrier and near-monopolist, it is too big to fail and too big to jail, which means it's too big to care.
Air Canada shows that for some business customers, AI doesn't need to be able to do a worker's job in order to be a smart purchase: a chatbot can replace a worker, fail to their worker's job, and still save the company money on balance.
I can't predict whether the world's sociopathic monopolists are numerous and powerful enough to keep the lights on for AI companies through leases for automation systems that let them commit consequence-free free fraud by replacing workers with chatbots that serve as moral crumple-zones for furious customers:
https://www.sciencedirect.com/science/article/abs/pii/S0747563219304029
But even stipulating that this is sufficient, it's intrinsically unstable. Anything that can't go on forever eventually stops, and the mass replacement of humans with high-speed fraud software seems likely to stoke the already blazing furnace of modern antitrust:
https://www.eff.org/de/deeplinks/2021/08/party-its-1979-og-antitrust-back-baby
Of course, the AI companies have their own answer to this conundrum. A high-stakes/high-value customer can still fire workers and replace them with AI – they just need to hire fewer, cheaper workers to supervise the AI and monitor it for "hallucinations." This is called the "human in the loop" solution.
The human in the loop story has some glaring holes. From a worker's perspective, serving as the human in the loop in a scheme that cuts wage bills through AI is a nightmare – the worst possible kind of automation.
Let's pause for a little detour through automation theory here. Automation can augment a worker. We can call this a "centaur" – the worker offloads a repetitive task, or one that requires a high degree of vigilance, or (worst of all) both. They're a human head on a robot body (hence "centaur"). Think of the sensor/vision system in your car that beeps if you activate your turn-signal while a car is in your blind spot. You're in charge, but you're getting a second opinion from the robot.
Likewise, consider an AI tool that double-checks a radiologist's diagnosis of your chest X-ray and suggests a second look when its assessment doesn't match the radiologist's. Again, the human is in charge, but the robot is serving as a backstop and helpmeet, using its inexhaustible robotic vigilance to augment human skill.
That's centaurs. They're the good automation. Then there's the bad automation: the reverse-centaur, when the human is used to augment the robot.
Amazon warehouse pickers stand in one place while robotic shelving units trundle up to them at speed; then, the haptic bracelets shackled around their wrists buzz at them, directing them pick up specific items and move them to a basket, while a third automation system penalizes them for taking toilet breaks or even just walking around and shaking out their limbs to avoid a repetitive strain injury. This is a robotic head using a human body – and destroying it in the process.
An AI-assisted radiologist processes fewer chest X-rays every day, costing their employer more, on top of the cost of the AI. That's not what AI companies are selling. They're offering hospitals the power to create reverse centaurs: radiologist-assisted AIs. That's what "human in the loop" means.
This is a problem for workers, but it's also a problem for their bosses (assuming those bosses actually care about correcting AI hallucinations, rather than providing a figleaf that lets them commit fraud or kill people and shift the blame to an unpunishable AI).
Humans are good at a lot of things, but they're not good at eternal, perfect vigilance. Writing code is hard, but performing code-review (where you check someone else's code for errors) is much harder – and it gets even harder if the code you're reviewing is usually fine, because this requires that you maintain your vigilance for something that only occurs at rare and unpredictable intervals:
https://twitter.com/qntm/status/1773779967521780169
But for a coding shop to make the cost of an AI pencil out, the human in the loop needs to be able to process a lot of AI-generated code. Replacing a human with an AI doesn't produce any savings if you need to hire two more humans to take turns doing close reads of the AI's code.
This is the fatal flaw in robo-taxi schemes. The "human in the loop" who is supposed to keep the murderbot from smashing into other cars, steering into oncoming traffic, or running down pedestrians isn't a driver, they're a driving instructor. This is a much harder job than being a driver, even when the student driver you're monitoring is a human, making human mistakes at human speed. It's even harder when the student driver is a robot, making errors at computer speed:
https://pluralistic.net/2024/04/01/human-in-the-loop/#monkey-in-the-middle
This is why the doomed robo-taxi company Cruise had to deploy 1.5 skilled, high-paid human monitors to oversee each of its murderbots, while traditional taxis operate at a fraction of the cost with a single, precaratized, low-paid human driver:
https://pluralistic.net/2024/01/11/robots-stole-my-jerb/#computer-says-no
The vigilance problem is pretty fatal for the human-in-the-loop gambit, but there's another problem that is, if anything, even more fatal: the kinds of errors that AIs make.
Foundationally, AI is applied statistics. An AI company trains its AI by feeding it a lot of data about the real world. The program processes this data, looking for statistical correlations in that data, and makes a model of the world based on those correlations. A chatbot is a next-word-guessing program, and an AI "art" generator is a next-pixel-guessing program. They're drawing on billions of documents to find the most statistically likely way of finishing a sentence or a line of pixels in a bitmap:
https://dl.acm.org/doi/10.1145/3442188.3445922
This means that AI doesn't just make errors – it makes subtle errors, the kinds of errors that are the hardest for a human in the loop to spot, because they are the most statistically probable ways of being wrong. Sure, we notice the gross errors in AI output, like confidently claiming that a living human is dead:
https://www.tomsguide.com/opinion/according-to-chatgpt-im-dead
But the most common errors that AIs make are the ones we don't notice, because they're perfectly camouflaged as the truth. Think of the recurring AI programming error that inserts a call to a nonexistent library called "huggingface-cli," which is what the library would be called if developers reliably followed naming conventions. But due to a human inconsistency, the real library has a slightly different name. The fact that AIs repeatedly inserted references to the nonexistent library opened up a vulnerability – a security researcher created a (inert) malicious library with that name and tricked numerous companies into compiling it into their code because their human reviewers missed the chatbot's (statistically indistinguishable from the the truth) lie:
https://www.theregister.com/2024/03/28/ai_bots_hallucinate_software_packages/
For a driving instructor or a code reviewer overseeing a human subject, the majority of errors are comparatively easy to spot, because they're the kinds of errors that lead to inconsistent library naming – places where a human behaved erratically or irregularly. But when reality is irregular or erratic, the AI will make errors by presuming that things are statistically normal.
These are the hardest kinds of errors to spot. They couldn't be harder for a human to detect if they were specifically designed to go undetected. The human in the loop isn't just being asked to spot mistakes – they're being actively deceived. The AI isn't merely wrong, it's constructing a subtle "what's wrong with this picture"-style puzzle. Not just one such puzzle, either: millions of them, at speed, which must be solved by the human in the loop, who must remain perfectly vigilant for things that are, by definition, almost totally unnoticeable.
This is a special new torment for reverse centaurs – and a significant problem for AI companies hoping to accumulate and keep enough high-value, high-stakes customers on their books to weather the coming trough of disillusionment.
This is pretty grim, but it gets grimmer. AI companies have argued that they have a third line of business, a way to make money for their customers beyond automation's gifts to their payrolls: they claim that they can perform difficult scientific tasks at superhuman speed, producing billion-dollar insights (new materials, new drugs, new proteins) at unimaginable speed.
However, these claims – credulously amplified by the non-technical press – keep on shattering when they are tested by experts who understand the esoteric domains in which AI is said to have an unbeatable advantage. For example, Google claimed that its Deepmind AI had discovered "millions of new materials," "equivalent to nearly 800 years’ worth of knowledge," constituting "an order-of-magnitude expansion in stable materials known to humanity":
https://deepmind.google/discover/blog/millions-of-new-materials-discovered-with-deep-learning/
It was a hoax. When independent material scientists reviewed representative samples of these "new materials," they concluded that "no new materials have been discovered" and that not one of these materials was "credible, useful and novel":
https://www.404media.co/google-says-it-discovered-millions-of-new-materials-with-ai-human-researchers/
As Brian Merchant writes, AI claims are eerily similar to "smoke and mirrors" – the dazzling reality-distortion field thrown up by 17th century magic lantern technology, which millions of people ascribed wild capabilities to, thanks to the outlandish claims of the technology's promoters:
https://www.bloodinthemachine.com/p/ai-really-is-smoke-and-mirrors
The fact that we have a four-hundred-year-old name for this phenomenon, and yet we're still falling prey to it is frankly a little depressing. And, unlucky for us, it turns out that AI therapybots can't help us with this – rather, they're apt to literally convince us to kill ourselves:
https://www.vice.com/en/article/pkadgm/man-dies-by-suicide-after-talking-with-ai-chatbot-widow-says
Tumblr media
If you'd like an essay-formatted version of this post to read or share, here's a link to it on pluralistic.net, my surveillance-free, ad-free, tracker-free blog:
https://pluralistic.net/2024/04/23/maximal-plausibility/#reverse-centaurs
Tumblr media
Image: Cryteria (modified) https://commons.wikimedia.org/wiki/File:HAL9000.svg
CC BY 3.0 https://creativecommons.org/licenses/by/3.0/deed.en
856 notes · View notes
frog707 · 2 months ago
Text
How not to submit a pull request
Be speculative. Don't investigate the status of the project or try to learn its current needs. Assume the project is still actively maintained. Don't preface your PR with an issue to motivate your changes. Assume the maintainers share all your concerns and priorities. The less communication, the better!
Combine unrelated changes into a single request. Writing a PR is a huge amount of work, so naturally you'll want to combine all your features, bug fixes, refactoring, and reformatting into one big PR. Reviewers love that sort of thing!
Be bold. After your PR gets integrated, you'll have no further responsibility toward the project. So why document and test your changes? Why conform to the project's coding style? (Your idiosyncratic personal style is so much better!)
Reject all feedback. Your work is a reflection of you---that is to say, perfect from its inception. Any feedback is an insult and a threat to your ego. Ignore all requests for changes. If that doesn't work, respond with verbal abuse.
2 notes · View notes
pvs-studio · 2 years ago
Text
In this article, you're going to find 60 terrible coding tips — and explanations of why they are terrible. It's a fun and serious piece at the same time. No matter how terrible these tips look, they aren't fiction, they are real: we saw them all in the real programming world.
2 notes · View notes
this is also true for new code before it's run through testing and code review
writing a garbage essay feels like you’re the cow who gave birth to the two headed calf. in the morning, my professor will wrap him in newspaper and dissect him on a cold operating table. but here he is alive, under the pale glow of my computer screen. he is beautiful. there are twice as many logical fallacies as usual.
91K notes · View notes
pearls-gone-wild · 7 months ago
Text
I want to see wizard code review.
I'm a big fan of wizards-as-programmers, but I think it's so much better when you lean into programming tropes.
A spell the wizard uses to light the group's campfire has an error somewhere in its depths, and sometimes it doesn't work at all. The wizard spends a lot of his time trying to track down the exact conditions that cause the failure.
The wizard is attempting to create a new spell that marries two older spells together, but while they were both written within the context of Zephyrus the Starweaver's foundational work, they each used a slightly different version, and untangling the collisions make a short project take months of work.
The wizard has grown too comfortable reusing old spells, and in particular, his teleportation spell keeps finding its components rearranged and remixed, its parts copied into a dozen different places in the spellbook. This is overall not actually a problem per se, but the party's rogue grows a bit concerned when the wizard's "drying spell" seems to just be a special case of teleportation where you teleport five feet to the left and leave the wetness behind.
A wizard is constantly fiddling with his spells, making minor tweaks and changes, getting them easier to cast, with better effects, adding bells and whistles. The "shelter for the night" spell includes a tea kettle that brings itself to a boil at dawn, which the wizard is inordinately pleased with. He reports on efficiency improvements to the indifference of anyone listening.
A different wizard immediately forgets all details of his spells after he's written them. He could not begin to tell you how any of it works, at least not without sitting down for a few hours or days to figure out how he set things up. The point is that it works, and once it does, the wizard can safely stop thinking about it.
Wizards enjoy each other's company, but you must be circumspect about spellwork. Having another wizard look through your spellbook makes you aware of every minor flaw, and you might not be able to answer questions about why a spell was written in a certain way, if you remember at all.
Wizards all have their own preferences as far as which scripts they write in, the formatting of their spellbook, its dimensions and material quality, and of course which famous wizards they've taken the most foundational knowledge from. The enlightened view is that all approaches have their strengths and weaknesses, but this has never stopped anyone from getting into a protracted argument.
Sometimes a wizard will sit down with an ancient tome attempting to find answers to a complicated problem, and finally find someone from across time who was trying to do the same thing, only for the final note to be "nevermind, fixed it".
40K notes · View notes
sucka99 · 1 year ago
Photo
Tumblr media
0 notes
billa-billa007 · 2 years ago
Text
youtube
Tips for Secure Code Review | CybersecurityTv
Secure code review is a crucial part of the software development lifecycle aimed at identifying and mitigating security vulnerabilities in code. It involves manually examining the source code for potential security issues.
0 notes
calamity404 · 2 years ago
Text
What is git?
Did you work on word file and accidentally deleted an important paragraph?🥲
What did you do then? 🤔
Ctrl + z, right?
git is also exactly like that. Ctrl +Z
The only difference is:
In git, when you do Ctrl + z, it will revert back to the latest checkpoint (aka commit) you have created.
Yes, you read it right. Unlike word document, here you will have to specify the points via commit where you want to revert back.
That's it for today.
Signing off
Tumblr media
0 notes
animentality · 6 months ago
Text
I say the like most basic of coding shit to my work uncle and he's like I DONT KNOW ANYTHING ABOUT COMPUTERS.
And it's like my dude, my guy... I majored in anthropology.
Believe me. I dont know shit either.
I just know the bare basics now, because I work with software engineers all the time. It's like living in a foreign country for a year.
you learn the local language.
79 notes · View notes
xuethms · 5 months ago
Text
Tumblr media Tumblr media
✂ scholar notion template.
Links: install (free) | more notion templates
Scholar is a free Notion template for academics to organise key research papers in their literature review. Bookmark papers to read or cite later, capture essential article information, tag papers for relevance to each chapter of your thxesis, and take notes.
Features: 3 database view types, reading list, tag papers according to status (cited, saved, to read, important, etc), default page template has sections for takeaways & abstract
64 notes · View notes
starryeyedreader0 · 2 months ago
Text
“I can’t lose another boy that’s not even my boyfriend”
If that ain’t the most Buck Buckley lyric that’s ever been written my GOD Sabrina
35 notes · View notes
theygender · 2 months ago
Text
Going to college as a nontraditional student with an office job is kinda funny bc now when a professor messes things up in a way that fucks me over instead of being like "omg this authority figure is so unfair 😭" I'm approaching it more with the vibe of like "if Karen from Accounting doesn't fix this mistake that's hindering my work after my third passive aggressive email I'm going to CC her boss"
#my professor has multiple things messed up on her online course that are actively preventing me from preparing for the midterm exam#1. the notes she uploaded for last weeks lesson are in an unviewable format (its a .bin file? she converted an image to binary code??)#2. she hasnt uploaded the content for this weeks lesson yet. and that content is going to be tested on the midterm#3. both her syllabus and the review guide she uploaded mention a pre-midterm test thats worth 2% of our grade#and i think is supposed to help us prepare. but she hasnt uploaded that or even mentioned it at all?#4. the exam itself isnt in blackboard yet. which wouldnt really be a cause for alarm if it was any other professor#i would just assume they were probably waiting to upload it until the day of the exam#but given everything else shes messed up so far im worried she messed something up with that too and it wont get uploaded at all#so. she said in the syllabus that we should message her directly in blackboard with any questions and she'll respond within 48 hours#but my first message was sent on friday. it is now tuesday#she said to send a follow up if she doesnt respond within 48 hours. i sent a follow up yesterday morning and she still hasnt responded#and im not going to wait another 48 hours when the exam is in 3 days and she still hasnt even uploaded the final lesson that will be on it#so. shes getting a text from me at the phone number she listed now like#if she doesnt respond to that within a few hours then i might call#and if she doesnt respond to THAT then im going to put it in an email and CC the head of her department or smth#bc we NEED to be able to prepare for the midterm. its THIS WEEK. some people are actually scheduled only TWO days from now#its already bullshit that shes including this lesson on the midterm when the due date for it is AFTER the exam#but then shes also THREE DAYS LATE (so far) uploading it??#AND she hasnt uploaded the pre-test or even mentioned it at all???#rambling#this professor is gonna get a BAD review from me man#its already bad enough that her online course is structured so poorly that its hard to even tell what we should be doing each week#and now this shit
31 notes · View notes
jcmarchi · 3 months ago
Text
7 top free AI coding tools - AI News
New Post has been published on https://thedigitalinsider.com/7-top-free-ai-coding-tools-ai-news/
7 top free AI coding tools - AI News
.pp-multiple-authors-boxes-wrapper display:none; img width:100%;
AI coding tools leverage machine learning, deep learning, and natural language processing to assist developers in writing and optimising code. These tools are trained on vast code repositories and datasets, allowing them to analyse programming patterns and provide intelligent recommendations.
Types of AI coding tools
AI-powered coding tools can be categorised into several types based on their functionality:
AI code completion tools — Provide real-time suggestions and auto-complete lines of code.
AI code generators — Generate full scripts, functions, or even applications based on natural language prompts.
AI debugging and error detection tools — Identify syntax errors, logical issues, and security vulnerabilities.
AI test automation tools — Create and execute test cases with minimal human intervention.
AI code optimisation Tools — Improve performance by suggesting better coding practices.
AI security and compliance tools — Analyse code for vulnerabilities and help developers follow security best practices.
AI documentation generators — Automate inline comments, API documentation, and explanations.
By incorporating these tools into their workflow, developers can write cleaner, more efficient code and reduce the time spent on repetitive tasks.
Best free AI coding tools for 2025
Below, we explore seven of the best free AI coding tools available today and provide an analysis of their features, benefits, and how they can enhance the software development process.
1. Qodo
Qodo is an AI-powered coding assistant designed to help developers generate, optimise, and debug code easily. It offers real-time code suggestions, detects syntax errors, and improves the overall quality of the codebase.
Key features:
Intelligent code completion: Predicts and suggests relevant code snippets.
AI-powered debugging: Identifies bugs and logical errors in real-time.
Code optimisation: Suggests performance improvements and cleaner code structures.
Multi-language support: Works with multiple programming languages.
Benefits:
Qodo streamlines software development by reducing manual effort in writing and reviewing code. It is particularly beneficial for new developers who need guidance on best coding practices and experienced programmers looking to improve efficiency.
Use cases:
Writing clean and optimised code.
Debugging and improving code quality.
Learning new programming concepts with AI-driven recommendations.
2. Kite
Kite was a popular AI-powered autocomplete tool that provided developers with real-time code suggestions and documentation assistance. Although it has been discontinued, it significantly influenced modern AI coding assistants.
Key features:
Python-focused autocompletion: Provided predictive code completions.
Inline documentation: Showed documentation snippets inside the IDE.
Machine learning-based suggestions: Improved over time with usage.
Benefits:
Despite its discontinuation, Kite demonstrated the power of AI in streamlining software development, influencing newer AI-powered coding tools available today.
Use cases:
Assisted Python developers with intelligent code suggestions.
Provided real-time documentation to reduce context switching.
3. Amazon CodeWhisperer
Amazon CodeWhisperer is a free AI-powered coding assistant that provides intelligent code completions and recommendations based on natural language input. It integrates seamlessly with AWS services, making it an excellent tool for cloud-based development.
Key features:
Real-time code suggestions: Predicts and generates relevant code snippets.
AWS cloud integration: Works with AWS Lambda, EC2, and other services.
Multi-language support: Supports Python, JavaScript, and more.
Benefits:
Amazon CodeWhisperer boosts productivity by offering context-aware code recommendations, making it ideal for developers working with cloud-based applications.
Use cases:
Writing serverless applications on AWS.
Generating API integrations with minimal manual coding.
Reducing development time for cloud-based applications.
4. Ponicode
Ponicode is an AI-powered unit testing and code quality analysis tool that ensures high test coverage and optimised code.
Key features:
AI-generated unit tests: Automates test case creation.
Code quality analysis: Detects inefficiencies in the code.
Multi-language support: Works with JavaScript, Python, and more.
Benefits:
Ponicode helps developers write reliable, maintainable code by automating testing and quality checks, making it an excellent tool for teams prioritising test-driven development (TDD).
Use cases:
Ensuring code coverage with AI-generated test cases.
Automating software testing processes.
5. IntelliCode
Microsoft IntelliCode enhances coding productivity by offering AI-powered autocomplete, refactoring suggestions, and best coding practices based on thousands of open-source projects.
Key features:
Context-aware code recommendations: Learns from open-source projects.
Automated code refactoring: Suggests optimised coding solutions.
Supports multiple languages: Works with Python, Java, C++, and more.
Benefits:
IntelliCode enables developers to write maintainable code while minimising syntax errors and reducing repetitive coding tasks.
Use cases:
Improving team productivity by enforcing best coding practices.
Optimising legacy codebases.
6. YOGI Bot
YOGI Bot is an AI-powered chatbot that assists developers with debugging, code explanations, and best practice recommendations.
Key features:
AI-driven code assistance: Provides real-time support for debugging and explanations.
Multi-language support: Works across various programming languages.
Benefits:
YOGI Bot is useful for both new and experienced developers who need immediate coding assistance and explanations.
Use cases:
Learning programming concepts interactively.
Troubleshooting coding errors with AI-driven assistance.
7. CodeT5
CodeT5, developed by Salesforce Research, is an AI-powered code generation and translation model that helps developers write high-quality code efficiently.
Key features:
AI-generated code snippets: Produces entire code blocks.
Code translation and optimisation: Helps improve existing code.
Benefits:
CodeT5 streamlines development by reducing manual effort and improving code quality.
Use cases:
Automating coding tasks for web and software development.
Enhancing productivity with AI-powered suggestions.
Why use AI coding tools?
AI coding tools are gaining popularity due to their ability to streamline development processes, reduce coding errors, and enhance productivity. Here’s why developers should consider integrating AI into their workflow:
Increased efficiency
AI-powered tools speed up coding by suggesting relevant code snippets, autocompleting functions, and automating repetitive tasks. This allows developers to focus on solving complex problems rather than spending time on boilerplate code.
Improved code quality
AI-driven code review tools analyse code for potential errors, security vulnerabilities, and performance issues, ensuring high-quality and optimised code.
Reduced debugging time
Manually finding and fixing bugs can be time-consuming. AI debugging tools help detect issues in real-time and provide potential fixes, reducing time spent on troubleshooting.
Enhanced collaboration
AI-powered tools facilitate team collaboration by providing code suggestions, and documentation, making it easier for teams to work together efficiently.
Automated testing and deployment
AI-driven test automation ensures that applications are tested before deployment, reducing manual effort and potentially speeding up the software release cycle.
Better security
Security-focused AI tools can help identify vulnerabilities and suggest best practices, helping developers write more secure code that complies with industry standards.
Accessibility for beginners
AI coding assistants help beginners learn programming by providing real-time feedback, suggesting improvements, and simplifying complex coding concepts.
7 top free AI coding tools
AI coding tools leverage machine learning, deep learning, and natural language processing to assist developers in writing and optimising code. These tools are trained on vast code repositories and datasets, allowing them to analyse programming patterns and provide intelligent recommendations.
Types of AI coding tools
AI-powered coding tools can be categorised into several types based on their functionality:
AI code completion tools — Provide real-time suggestions and auto-complete lines of code.
AI code generators — Generate full scripts, functions, or even applications based on natural language prompts.
AI debugging and error detection tools — Identify syntax errors, logical issues, and security vulnerabilities.
AI test automation tools — Create and execute test cases with minimal human intervention.
AI code optimisation Tools — Improve performance by suggesting better coding practices.
AI security and compliance tools — Analyse code for vulnerabilities and help developers follow security best practices.
AI documentation generators — Automate inline comments, API documentation, and explanations.
By incorporating these tools into their workflow, developers can write cleaner, more efficient code and reduce the time spent on repetitive tasks.
(Image source: Unsplash)
Tags: artificial intelligence, coding
1 note · View note
apieceofmymindforyou · 3 months ago
Text
Tumblr media
This movie genuinely had me taking mental health breaks because omg
44 notes · View notes
tokiro07 · 2 months ago
Text
Ichi the Witch ch.24 thoughts
[Don't Let it Get Your Goat]
(Topics: character analysis - Gokuraku, speculation - worldbuilding)
Phew, I'm glad Nishi found a way to make Gokuraku actually likeable this quickly, I was worried I was going to look like a torture apologist for a few weeks, but I knew he was going to prove himself sooner or later!
More Than Meets the Eye
After escaping from Desscaras, Gokuraku and Ichi emerge in a pile of goat dung, which irritates the herd of goats that made it. Based on what we saw of Gokuraku last week, the natural assumption would be that he's a lunatic who kills indiscriminately, but instead his immediate reaction is to try to placate the goats and leave peacefully
It's only when one of the goats attacks him that he fights back, instantly beheading it with a regretful sigh. Gokuraku took no joy in killing that goat, and outright tried to avoid the unnecessary loss of life. So as not to be wasteful, Gokuraku picks up the corpse and decides to eat it
Ichi of course picks up on all of this - that the kill was done completely in self-defense, that it was done mercifully, and that it was not allowed to be done in vain. For as brutal as Gokuraku is towards Magiks, that brutality clearly does not extend into his general attitude towards living creatures - whether he knows it or not, he follows the rule of Death for Death, earning Ichi's respect
This doesn't necessarily mean that Ichi has forgiven Gokuraku's treatment of Origumo or any other Magik he's faced prior, but I think that Ichi is probably the type that's willing to forgive someone who's willing to change. The fact that Gokuraku demonstrated the capacity for Ichi's philosophy implies that he's open to its greater applications and is likely willing to be shown the error of his ways, even if he's the type to wear blinders in the moment
Given the small glimpse we got of his backstory, I don't think he's always so narrow-minded, he's just particularly desperate in this one instance
Chasing "That Man"
As Gokuraku so elegantly puts it, there's one guy that he "reaaally wants to punch," whom Ichi assumes to be the World Hater on the basis that he needs to be a Witch to do so. Even if it's not the World Hater, revenge stories and tunnel vision tend to go hand-in-hand, so whatever Magik he's after must have done something particularly heinous to Gokuraku
Could his family have been killed? His lover? His hometown? Clearly something of importance was taken away from Gokuraku, and he'll do whatever it takes to get it back - he has to
Like I said last week, Gokuraku most likely views his torture sessions with the Magiks as a necessity to achieve his goal, and that seems all the more likely based on this week's chapter. He doesn't want to hurt anyone he doesn't have to, but to acquire a Magik that's not following the rules of the game, he's willing to
He's even willing to hurt himself to get what he wants
Body Modification
Obviously I don't know anything about Magic Items, but I do know that cutting open your back to implant crystals into your spine would be unimaginably painful
My guess is that he connected those crystals to his nervous system, which he in turn connected to his armor, making all of it a part of his body. The crystals most likely act as a way to gather magical energy to power the Magic Items, as his body can't produce it naturally
This alternate nervous system is most likely what he's synchronizing with, as it probably acts as if there's another whole person overlaid on his own body, and he has to "align" the two to be able to move the way he wants at the output he wants. This might even be why he couldn't just incapacitate the goat - he may not have had time to resynch and just had to strike at full force
Most likely we'll learn exactly how his armor works next week, as whether or not he falls for Uroro's bait to try to kill Ichi, he's probably going to end up fighting him one way or another. This will serve the dual purpose of demonstrating the premise of Gokuraku's fighting style to the audience, while also letting him and Ichi come to understand each other better as potential teammates
Until then, though, there is one crucial detail that we did learn in this chapter both about what Gokuraku is capable of and about the worldbuilding: it's not just that men can't use magic, they can't touch Magiks at all!
Can't Touch This
Up to this point, there has been absolutely no allusion to how men interact with the magical world other than that they can't use magic in the first place. The idea that men can't even make contact with Magiks is an entirely new concept that completely rewrites our understanding of the dynamic
So the question is no longer "why can't men use magic?" and instead has become "what happens when a man tries to touch a Magik?" Are they forcefully repelled? Do they phase through them? Do they feel pain? We know there's something that literally prevents men from interacting with Magiks now, but the fashion in which it does so may carry a lot more implications than the mere fact that it exists
I conjectured previously that men may lack a Magic Circle to hold Magiks within, and that could still be a factor, but it may also be that the Magic Circle is necessary for generating the magic power to make contact in the first place. This, again, is what I would assume the point of Gokuraku's spinal implants is, to create the energy needed to overcome that first crucial obstacle
One thing that bothers me about what Gokuraku said though is that his augmentations make him an "Anti-Magik Human." I assume that what he means is that he's an otherwise normal human who is well-suited for combat with Magiks, but I think there might be an unintended consequence to those augmentations that Gokuraku himself never considered
If men normally can't touch Magiks because they lack magical energy, and Gokuraku added a Magic Item to his body that grants him magical energy to hurt Magiks, is it possible that his particular brand of magical energy is repellant to Magiks? Is his secondary magical nervous system the reason that he's incompatible with Magiks? Has Gokuraku given himself a proverbial Gift of the Magi that required he sacrifice his goal just to pursue it?
Perhaps I'm overthinking it and he simply hasn't added the right augmentation, but I am thoroughly invested in both why Gokuraku can't become a Witch and how he's going to react when he's finally forced to face the answer
Until next time, let's enjoy life!
37 notes · View notes
terrorgirls · 5 months ago
Text
On the subject of "why did Armand turn Daniel, if not out of spite?" My prediction is summed up perfectly by this quote from the movie Last Life in the Universe:
“The lizard wakes up and finds he’s the last lizard alive. His family and friends are all gone. Those he didn’t like, those who picked on him in school, are also gone. The lizard is all alone. He misses his family and friends. Even his enemies. It’s better being with your enemies than being alone. That’s what he thought. Staring at the sunset, he thinks. 'What is the point in living… If I don’t have anyone to talk to?'"
I do think at this point in the story there is genuine animosity between them (whether or not DM has already happened). But faced with the possibility of being alone - really truly alone - for the first time in 500+ years.... Armand decides that it's better to tie himself to a rival than to have no one at all.
34 notes · View notes