'Just Have AI Build an App For That' (davidgomes.com) 75
Software engineer David Gomes writes in a blog post: I sometimes need to search for a website that will "convert a PNG to SVG", or "remove page from PDF" or "resize svg". And these apps are... okay. I don't really trust most of them with my data, and also a lot of times they just don't work or have too many ads. So, I've been noticing a trend of people just using AI agents to create full blown apps for these simple use cases.
I decided to try it myself for a "resize SVG" app since I recently had to go through a bunch of websites to do this. So, I pulled up Replit Agent and even though I've used it before, it doesn't cease to amaze me just how insanely good it is. The level of polish on this product is unlike any other AI agent out there right now. It starts off by drawing up a plan and asking you for feedback on that plan. Then, it'll just go to town and try to build the app. But what's super clever about it is that the agent asks you for feedback along the way. Effectively, the Replit Agent guides you, not the other way around (as one might have expected).
I decided to try it myself for a "resize SVG" app since I recently had to go through a bunch of websites to do this. So, I pulled up Replit Agent and even though I've used it before, it doesn't cease to amaze me just how insanely good it is. The level of polish on this product is unlike any other AI agent out there right now. It starts off by drawing up a plan and asking you for feedback on that plan. Then, it'll just go to town and try to build the app. But what's super clever about it is that the agent asks you for feedback along the way. Effectively, the Replit Agent guides you, not the other way around (as one might have expected).
The original idea behind browser extentions (Score:3)
and also packaging Imagamagick as a web service (Score:5, Informative)
There's dozens (hundreds?) of web services which just repackage Imagemagick and other command line tools and wrap them in a paid WebAPI service.
Re: (Score:2)
There's dozens (hundreds?) of web services which just repackage Imagemagick and other command line tools and wrap them in a paid WebAPI service.
Anyone who works with images that much should have GIMP on their desktop. Unless they (or their employer) are gullible enough to shell out what Adobe wants for Photoshop these days. I can't keep up, but apparently it is getting worse by the month.
Re: (Score:2)
Does gimp have adjustment layers yet?
They're a pretty crucial feature from 1996 that makes gimp a complete non starter for all but the most basic of work.
Re: (Score:1)
Re: (Score:2)
Adjusting an entirely new layer and saving it is hardly as useful as adjustment layers.
It's basically saving a backup in the same file.
In Photoshop you can have adjustment layers, adjust their transparency with brushes, rearrange their order, and tweak the adjustments.
This is a fake version of what Photoshop did nearly 30 years ago.
Re: (Score:1)
You can create layers with different alpha and opacities, use brushes to paint in different areas of effect and rearrange the order of layers if you so wish.
You'd hope that using a piece of software that costs hundreds of dollars would have a bit of an edge over something that is entirely free, but that is the kind of difference usually only affects those who work in dedicated design environments (and those trying to learn the tools for those environments).
If
Re: (Score:2)
In Photoshop the adjustment is the layer, not an adjusted layer.
I can add layers behind or in front of the adjustment layer and have it applied or not without rendering the adjustment.
I can apply an adjustment layer, go back later and change the adjustment that I have rather than starting from scratch.
I'm not saying GIMP is useless though, simply that Photoshop has value, and this is one specific thing that's decades old in Photoshop that is definitely worth $25/month (or whatever it costs now) if you do an
Re: (Score:1)
XUL was an absolute turd
SVG? (Score:4, Informative)
Um, the whole point of SVG is that it doesn't need resizing.
The file will be exactly the same size after you "rescale" it.
Re: (Score:2)
Indeed. The person from the story seems to not be very smart or competent and not only because he does not seem to know what SVG stands for.
Re: (Score:2)
The person from the story could be... AI!
Re: (Score:2)
Well, in _that_ case, I am impressed at the high level of skill and the genius approach!
Re:SVG? (Score:4, Interesting)
Sometimes the less you know, the more easily impressed you are. The "software engineer" here apparently doesn't know what the S in SVG means.
Re: (Score:2)
Indeed. Utterly pathetic.
Re: (Score:2)
That doesn't mean they don't have a size.
I actually don't know if they do, but EPS files definitely have sizes even though they're similarly scalable.
Re: (Score:1)
Re: SVG? (Score:2)
The submission itself feels like an ad for a paid blog post. Shit, the blog post itself feels like it was written by either an AI or a sales derp. It's funny it talks about going from PNG to SVG (not trivial) and then writing an "app" for scaling an SVG (trivial to the point of "why fucking bother?")
This is exactly the kind of shit "no code" rpa salesmen are known for.
Re: (Score:2)
(Pedant: Unless the "dimensions" in the XML header need less ASCII characters...)
Re: (Score:3)
Not exactly the same. ChatGPT seems to know this. I asked it how to resize an SVG and it suggested I man up, open the file in my text editor, and change the "width" and "height" properties in the svg tag.
Re: SVG? (Score:2)
That proves how chatgpt has been falling far behind these new AI startups that are driving the next wave of innovation.
Chatgpt is approximating an average informed redditor answer from the gazillion reddit posts asking roughly the same on its training data from /r/svg. Helpful and accurate for some cases but its hardly a tech productivity revolution compared with a google search.
But this, this is approximating a fully trained software professional: instead of giving the client a direct answer, agents can pl
Re: (Score:2)
Lol. Maybe the LLMs are following the usual human career evolution and realized there's more money in creating problems than in solving them.
Re: SVG? (Score:2)
the data is dimensionless yes, but svg has height and width (or just ratio) attributes in plain text.
resizing an svg is thus very easy. but the point is that the ai "knows" how to use whatever image library to do this, and that might be easier than, say, bothering to look and realize that SVG does indeed have image size attributes. *ahem*
Re: (Score:2)
resizing an svg is thus very easy.
You know, with the accelerated pace towards idiocracy, "very easy" may be to hard for the average IT person...
Re: SVG? (Score:4, Insightful)
As is using the correct 'too' in a sentence.
Re: (Score:2)
The spelling-nazi is identifiable by his inability to recognize a simple typo ...
Re: (Score:2)
I think the spelling nazi called out a rather common grammatical error which happens to be a homophone of the correct form. This arguably makes said grammatical error even more egregious.
csw
Re: (Score:2)
All part of the plan.
If people were still intelligent, our stumbling attempts at "AI" would not impress them... And "AI" contributes to GDP, as opposed to human cognition. Hell, human cognition can sometimes be actively destructive to GDP if/when the plebs realize they're being shafted and (at least potentially) do something about it.
Mr. President, we cannot allow a stupidity gap!
Re: (Score:2)
I was going to download it to see how big it was. While scrolling through his blog post to see if there was a download link I saw
"Installed flask, flask-sqlalchemy, psychopg2,..."
Uh oh. Scroll to bottom:
So to resize an SVG he needs a whole web host with Python support, a postgres database, and whatever else comes after those
Re: (Score:2)
That's modern software in a nutshell. Kids these days can't write 'hello world' without a framework, an IDE, and a set of libraries to do the 'heavy lifting'.
We're doomed.
Re: (Score:2)
Even in the old days lazy people would LDA 'H'; JSR $FDED rather than put the character in the frame buffer memory. COUT did an indirect jump and COUT1 + VIDOUT was like 100 instructions.
Re: (Score:3)
If you're familiar with that routine, you know that it does a lot more than put a character on the screen. In many common cases, using service routines would simplify your code, reducing the size and complexity in exchange for some performance. That's an example of a good abstraction. Abstractions in general should make things simpler, not more difficult. If we're going to introduce complexity, we need to get something really great in return, like significantly faster software that uses fewer resource
Re: (Score:2)
There's an argument for tolerating a bit of bloat if your program actually does something significant. A utility to resize an image, even if it weren't an SVG, that requires an entire web server and browser, is excessive to the point of compromising functionality.
ChatGPT asked to write a program to resize a JPEG chooses Python and PIL (with Tkinter if you specify a GUI), which is fairly sensible and it'll use libjpeg (with GTK) when asked to write it in C, so maybe the web BS is the author's fault.
Re: (Score:2)
Re: (Score:2)
I actually went thru and tested using this guy's app, and yes, it does actually scale viewbox and path coordinates. The output file is not exactly the same. It's totally unnecessary of course to do this, since scaling the width and height is sufficient...
Maybe. I'm not certain if that approach actually works in every use case, e.g. CNC milling.
Re: (Score:2)
We can happily ignore this because it's just another ad.
Re: (Score:2)
My guess is that his AI-generated SVG converter just embedded the PNG source as a bitmap in the SVG instead of vector tracing.
Re: (Score:2)
Re: (Score:2)
And you trust that _more_? (Score:2, Insightful)
The mind boggles. Stupid, more stupid, people that rely on LLMs for real work.
I expect we will soon see LLMs code the malware and backdoors right in. Or we already have that and people did not notice.
Re:And you trust that _more_? (Score:5, Insightful)
Furthermore, the article is a shameless ad for that solution.
Replit Agent is only available to customers with a subscription. Not to mention it's "early access", which means you may or may not gain access to it, even if you subscribe.
Their "free" plan has Basic workspace, Basic AI features (whatever that means) and 3 public projects (which, I guess, is very much like Tableau Free: everything you do there is immediately available to everyone, no control over privacy).
Stinks of cash-grab.
Re: (Score:1)
And the picture becomes clear. Thanks for pointing that out. I find I am less and less willing to do actual research on AI crap stories. The wording should have tipped me off though. Far too positive.
Re: (Score:2)
I am interested in such, ahem, "solutions", but that's because I have way too many hobbies.
With way too many hobbies comes usage of way too many different software stacks.
This application is proprietary and missing some small functionalities, which I have to fix through... Powershell scripting (since ot's Windows-only).
That application uses YAML.
The other one has some TOML config files.
Yet another thingie only accepts JSON.
That one right there is made with Go.
Look, there's some Python too.
This one communica
Re: (Score:2)
In such cases, I apply the "wait and see" method. If it's that good, it will make a big splash, and I'll hear it.
Indeed. I basically do the same thing.
What I ignore is praise from people that want to sell me something. It is not information, just noise. FOMO is not applicable for big technical advances, you can always get into them once they are proven. Millions of students do it all the time, a year or two really does not matter. Being able to pick up something new by yourself is already quite the valuable skill, you do not have to be fast at it.
what's new here? (Score:1)
A tool to "create full blown apps for these simple use cases"?
Simple use cases that have been done many times before need new, "full blown" apps? Is this progress?
How well does this tool work in creating apps for tasks that have never been done before? How well does this tool do in identifying a need for an app to do a task? This is what a programmer actually does. A "software engineer" does more than turn a crank.
Devaluation of the "engineer" label (Score:3)
Time was, an "engineer" was someone who used engines, but didn't create engines. They shoveled coal into a boiler and watched pressure dials.
This Grimes person seems like an example of the modern-day version of this kind of lower-level labor monkey. "I push the buttons!"
Heck, his patent ignorance about what he's working with (SVGs are inherently resizable, ya dipshit) is vicariously embarrassing. This is no tech expert. Resizing doesn't need a full-blown app — just resize your image dimensions, o
Resizing an SVG... (Score:4, Funny)
Resizing an SVG isn't a thing in the first place. It's a vector graphic - The name MEANS Scaleable Vector Graphic.
The input and output of this program should be identical.
Re: (Score:2)
,p>The input and output of this program should be identical.
Hey, I could write that!
Re: (Score:2)
10 PRINT "identical"
20 GOTO 10
Re:Resizing an SVG... (Score:5, Informative)
If you're going to be pedantic, do it right (leaving myself wide open here...)
Resizing an SVG is very much a thing, you simply don't get rasterisation artifacts when you do the resize.
If you're doing it naively, you can simply wrap the graphics in a transform element and adjust the viewsize accordingly. If you're being less naive, you might instead directly change the attributes of various elements as much as possible without using a transform element, e.g. altering font sizes, changing line widths and so on. Good editors like inkscape do in fact resize the non naive way.
Coordinates in SVG has units, and you can definitely scale numbers.
Re: (Score:2)
Resizing an SVG isn't a thing in the first place. It's a vector graphic - The name MEANS Scaleable Vector Graphic.
The input and output of this program should be identical.
Well, you might still need to change <svg width="123" height="456"> to some other values to change the default dimensions of the image. But you can do that with plain old Notepad.
Re: (Score:1)
Modded down by AI most likely!
Not much of a Software "Engineer" (Score:2, Funny)
This story (Score:1)
Regarding the impossible resizing of an SVG file tells you everything you need to know about the author and people who attempt to use AI for such tasks in general.
Re: (Score:2)
Indeed. Well said. One wonders how they manage to tie their shoelaces with an IQ close to absolute zero. Velcro-sneakers, likely.
So many fails (Score:3)
1. Looking for websites to accomplish rudimentary tasks that should be done locally. If you're a software engineer, you should be able to whip up a script for yourself... ImageMagick, Inkscape, pdftoppm, and other similar things exist.
2. Rightfully not trusting the websites, but using them anyway.
3. Throwing more "AI" at the wall for a quick solution, and hoping its furry (beyond fuzzy) logic vomits as intended.
I'm sure there are more fails. I would use any of these scenarios as an interview sieve to eliminate candidates whose first instinct is to find a website or an app that can do it for them.
Re: (Score:2)
I mean, not knowing what vector graphics even is is the biggest fail of all...
Re: (Score:2)
There is soooo much fail here, it must be AI! At least some things are no surprise and dependable.
We still haven't arrived (Score:1)
We'll know we've arrived when AI-generated custom apps come with ads that are tailored specifically to you... ... and they appear in your dreams.
Desktop applications (Score:4, Interesting)
PNG to SVG? Inkscape can do this. It's kind of a weird thing to do and it's not going to scale up all that well. OP doesn't understand the difference between vector and raster graphics.
Scale an SVG? If you really need to do that, you can use Inkscape.
Remove pages from a PDF? LibreOffice can do this.
This isn't software developer territory either. This is along the lines of MS Office Power User stuff. As a developer, I use pdftk to alter PDFs for routine things, pikepdf for more complex stuff that I need to apply to a large number of documents.
Re: (Score:2)
This isn't software developer territory either. This is along the lines of MS Office Power User stuff.
For very small levels of "power".
Re: (Score:2)
I converted raster images to vector quite a bit when I worked for in print. It does a pretty decent job, especially if you don't need to scale it that much.
It'll take a logo, split it into a few pieces that need maybe a touch of clean up, but usually not, then assign spot colors to the pieces.
Reports differ (Score:2)
There are a few Reddit threads where people report this AI is every bit as good at writing apps as you would expect if you know the state of AI.
In other words, not very good at all.
Dumb Summary, but a real thing (Score:3)
The example is a bit odd (and I have zero interest in checking out that tool which sounds like a slashvertisement) but mini-tools is an interesting LLM application.
I'm doing some Arduino development where I'm networking several boards together and I wanted to monitor the serial output of multiple boards at the same time to see how they were communicating.
I spent 10-15 minutes looking for a tool that could show each board's output in a single window/terminal but didn't find anything, so I went into ChatGPT and in 5 minutes had a nice little python curses application that did exactly what I wanted.
I'm sure there was a more proper solution out there, but it's become easier to just build it on the fly.
Anyone an expert in the tools to compare? (Score:2)
Sure, OK... SVG shouldn't need to be 'resized'. Maybe they were inventing an issue for the article, or they don't know everything like you all seem to.
And is the solution they were pushing a good one? Is it unique as they claimed?
I haven't had the resources or interest to push myself to try out these AI coding tools, but they seem to be improving (or at least changing).
Re: (Score:2)
Maybe they were inventing an issue for the article, or they don't know everything like you all seem to.
When you claim the title of "Software Engineer" then go on to demonstrate you are anything but, then you deserve every last crumb of ridicule and derision coming your way.
Dumbest thing I have read in a long time. Why the hell is it even here?
/. really scraping the barrel.
Why write an app at all? Have the AI do it. (Score:2)
Thanks to the comment section... (Score:2)
Something was bugging me about this and thank goodness the comments got right to it. I am getting older, I expect more things like this to happen.
Oddly, setting the render size of a Scalable Vector Graphics file is as easy as setting two attributes in the XML. Almost as if the point of the format was to easily, err, scale?
An actual real world use case (Score:2)
I had an issue where the media player I'm working on didn't support WebVTT subtitles, there wasn't much I could do as the subtitle renderer was 3rd party code and I didn't really the resources to add support for the WebVTT format myself.
I looked into the WebVTT format and it was not that different from the very popular SRT format. I then asked ChatGPT's o1 preview to write a function that takes a .VTT file as input and outputs an .SRT file.
o1 preview thought for about a 30 seconds and then wrote the code wi