Hacker Newsnew | past | comments | ask | show | jobs | submit | more FreeFull's commentslogin

You can easily hit a similar problem in other languages too. For example, in Rust, std::fs::File isn't buffered, so reading single bytes from it will also be rather slow.


Presumably, the AI would have access to just do all the git and web server stuff for you.. The bigger problem I see would be if the AI just refuses to give you what you ask for.

Person: I want A

AI: Here's B

Person: No, I wanted A

AI: I'm sorry. Let me correct that... Here's B

.. ad nauseum.

Or alternatively:

Person: <reasonable request>

AI: I'm sorry, I can't do that


How would that work for having a layer larger than the image?


The layer is automatically masked by the boundaries of the image. This is how it works in most other layer based tools that I've seen.


Isn't this a severe limitation of rasterized image editors?

(Speaking from ignorance as someone who only did some mild graphics design work using fireworks in the mid-00's for forums).

Would it mean that anything that exists outside of the visible canvas would be cropped on save?


This depends on the image editor you use. I'm pretty sure that PS saves whatever is on the layer, even if it's extends past the boundaries of the image itself. At any time you can open the file, and move the layer and get access to whatever was masked off.

If you "flatten" the layer, then you might lose what's beyond the boundaries.


Not if you're saving to the GIMP project file format. You'd lose it if you saved to a raster image but you'd also lose layers, vectors, etc. too.


Sorry, more stupid questions then.

> Not if you're saving to the GIMP project file format.

Ok, but if I understood correctly we're asking GIMP to remove code paths that have different layer boundaries, so that would surely affect GIMPs project file format?


wait GIMP does vectors now? I hope you don't mean that stupid useless plugin that renders to a bitmap layer and you can't adjst again afterwards? Or has that improved while I wasn't looking?


paths and text are vectorized. most tools/effects can't be used on vector layers unless you rasterize them.


going to try again when I get home - would be so nice to just click and adjust text when its not quite the right size or position. I hope I can draw vector line as well. that was actually something that drove me almost batty once before I installed an old PSP9 in wine and used that instead. I needed to adjust thesize and position of several lines in relation to each other and i was unable to do that even with that stupid plugin.Using 1 layer per line would have worked but I though that was a bridge too far at the time.


text has definitely gotten better. i remember when text could not be modified (as text) after initial creation -- but this has been fixed quite some time ago.

also, paths and text can be exported to svg format, but i still wouldn't call gimp a suitable editor for rich vector graphics. the vector features are more just a means to a (rasterized) end.


I was recently trying to make text along a path in Gimp and holy hell is it weird.. you create a text object, then create a path and with the path selected, right click the text object layer and choose “text along path”, and then you have to “stroke path”, IIRC.

But what that does is renders some kind of object (don’t recall if it’s rasterized or what). If you later notice a typo, or want to change the font, font size, or path a little bit, you have to throw away the rendered object, make your changes to the text object (hope you kept it as a hidden layer or something!), and then re-render and re-stroke it.

I’m glad I was working on something for fun (bottle label) and that I didn’t particularly care about the end result.


I could live with that.


That doesn't work for the first step though, where you want to print the file to stdout without processing it in any way


Fair. One could get used to the following for the first step:

  < file.txt cat
But then one has to ctrl-w cat. It is a pity that this is not an alternative to cat for a single file:

  < file.txt


As far as alternatives to what the article suggested go, I think the ideal solution would be to have a compile-time error, so the developers never even get as far as having their printing code try to run on the Xbox. And since it's a compile-time error, there doesn't need to be any kind of runtime error handling or cost either.


Except now you have lost the ability to run all the software that cannot be fixed and recompiled for whatever reason.


You could still offer the mocked APIs, but have them be opt-in. Also, having the compiler throw an error doesn't mean that an older, already compiled executable won't work.


> Also, having the compiler throw an error doesn't mean that an older, already compiled executable won't work.

And when the older, already compiled executable calls the API, how do you make things "work"? That's exactly what the article is about.


Apps aren't being compiled here. Apps already exist and new platforms and platform functionalities are being made available.

Launching platforms is an eternal chicken and egg problem: You want to launch a new platform. Users want apps before they buy into the platform. Developers want users and a guarantee they will spend money before investing time and money building apps for the platform. If you're really really rich, you can literally pay developers to write apps for you, but ask Microsoft how that went with Windows Phone.

Instead, the most reliable way (I said most reliable, not reliable) is to leverage an existing group of apps onto your platform. Maybe you have a phone ecosystem and want to get into tablets. So you take the already existing phone apps in your store and let them run on your new platform.

There is no recompiling. There is no build.

There is no "build" because the source code was lost when all of the company's assets were sold off in 2002.

There is no "build" because the developer made a game, put it on your app store, moved on to the next game and has no interest in supporting this game that isn't providing any significant new revenue.

There is no "build" because this is FooManager 6.0, the company that makes FooManger wants everyone to buy FooManager 7.0 and isn't making any further changes to 6.0.

etc. etc. etc.

Binary compatibility is what matters. Nothing else is of particular significance.

In addition, if recompiling an app for your new platform yields compile errors and requires work (as opposed to targeting a new platform version in a manifest and just hitting build), developers on your platform are significantly less likely to spend the time to do so.


Not every program that's written will even be multithreaded, and there's a significant cost to using atomic operations when you don't need them. What is the disadvantage of having non-atomic Rc be available?


And Rc can still be useful for multithreaded programs. Not every value needs to be shared between threads.


The Qt licensing model is actually a bit less restrictive, since Qt is distributed under the LGPL, and Slint is full-fat GPLv3


Slint developer here.

Slint is under multiple licenses. The GPLv3 and also the Slint Royalty-free license.

For desktop applications, The Royalty free license is actually less restrictive than the LGPL since you can do static linking and don't need to share the modifications.

For embedded products, the LGPLv3 can often not be an option anyway, and we hope that users can find our pricing model better the one of Qt.


Can you share a ballpark estimate of what embedded runtime licenses cost? I really don't want to engage your marketing department to find out.


For non-commercial and personal projects, the runtime licenses are free.

For commercial projects, the online form https://slint.dev/get-price (from https://slint.dev/pricing page) automatically sends an email with pricing info (no marketing person is involved :) ). Note: you need to enter your business email in the form.


It would be rather difficult to fit any newer linux kernel onto a floppy, together with all the other software.


A lot of it would hinge on how much hardware you were trying to support. Router images can get nice and small because they build a kernel with the exact drivers in the target. Trying to support all the insane variety in laptop wifi, input devices, and power management is probably where a lot of the bloat comes from.


This article says

> The new goal of DSL is to pack as much usable desktop distribution into an image small enough to fit on a single CD, or a hard limit of 700MB.


FWIW this subthread is about the xwoaf distro, not DSL; the projects have different goals



Lead(II) acetate specifically is sweet.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: