News for hackers. Stuff that matters.
Re:.NET on Linux – bye, Windows 10 by aargh_aargh on Monday October 17, 2016 @05:08AM (#12723571)
Can I have Paint.NET on Linux yet?
Re:.NET on Linux – bye, Windows 10 by dotancohen on Monday October 17, 2016 @08:19AM (#12724350)
No.

But honestly, spend a weekend learning Gimp. It's a pain, yes I know, but I'm really glad that I did. The official tutorials are wonderful. You'll be able to do so much more, and do it so much better, and even a bit quicker than you could in Paint.NET that you'll wind up preferring Gimp even in Windows.

Just be sure to use single-window mode.

Re:.NET on Linux – bye, Windows 10 by Grishnakh on Monday October 17, 2016 @11:57AM (#12726216)
With dual monitors and the traditional GIMP non-MDI configuration, I can put the controls on one monitor, and the picture on the other monitor.
Re:.NET on Linux – bye, Windows 10 by scandox on Monday October 17, 2016 @10:16AM (#12725183)
single-window mode! That is so much better. Don't know how I missed that for so long.
Re:.NET on Linux – bye, Windows 10 by chrisper on Monday October 17, 2016 @02:16PM (#12727660)
I think it was implemented as an option later on.
Re:.NET on Linux – bye, Windows 10 by creshal on Monday October 17, 2016 @05:26AM (#12723634)
Depends on the GUI framework it uses.

GDI actually exists for Linux (at least for Mono), but it's not really something you want to use in production.

Windows Forms doesn't exist (yet). IIRC that's what paint.net uses, so you're out of luck.

Third party toolkits like GTK#, wx.NET or QtSharp will work on both OSes.

Re:.NET on Linux – bye, Windows 10 by ygra on Monday October 17, 2016 @05:44AM (#12723702)
I remember that ages ago the Mono team used Paint.NET as a testbed for how complete and usable their System.Windows.Forms and System.Windows.Drawing implementation was. But back then Paint.NET was still open source. By now the source code isn't available anymore and it has grown a lot of things that are implemented in native code for performance (set operations on selection regions) or talking to things that have no equivalent in .NET (DirectWrite). It also uses WPF for a few things, so isn't completely Windows Forms anymore either. As it currently stands, Paint.NET is very much a Windows program, despite being written mostly in C#.
Re:.NET on Linux – bye, Windows 10 by egeozcan on Monday October 17, 2016 @06:55AM (#12723961)
Oh I didn't know that Paint.NET closed source. I found a blog post about the decision, an interesting read. Here it is:

https://blog.getpaint.net/2007/12/04/freeware-authors-beware...

Re:.NET on Linux – bye, Windows 10 by Tharre on Monday October 17, 2016 @08:43AM (#12724500)
I don't get it, one doesn't need the source code to change a few credits strings and pictures. Making Paint.NET closed source is about as effective as game studios putting more and more advanced DRM mechanisms into their games.

I understand why the author is upset, but his cure is worse than the disease.

Re:.NET on Linux – bye, Windows 10 by coldpie on Monday October 17, 2016 @10:14AM (#12725173)
Yeah, closed source tooling is garbage. I need to be able to fix the tools I use, or customize them for my purposes.
Re:.NET on Linux – bye, Windows 10 by flukus on Monday October 17, 2016 @08:36PM (#12731093)
I would of thought a proper OS license would've been a better solution.
Re:.NET on Linux – bye, Windows 10 by paullaros on Monday October 17, 2016 @07:39AM (#12724147)
Pinta seems like a decent replacement. https://pinta-project.com/pintaproject/pinta/
Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @08:51AM (#12724540)
WHY is it just a Ubuntu release and no RPM? I really HATE when developers go Ubuntu = Linux
Re:.NET on Linux – bye, Windows 10 by darklajid on Monday October 17, 2016 @09:01AM (#12724599)
I don't think that's their responsibility. Traditionally it's your distribution's job to create and provide packages. Arch Linux has one (I just installed it myself) and if we're talking rpm: Fedora has one as well, it seems [1].

So, what is upsetting you here, really?

1: https://admin.fedoraproject.org/pkgdb/packages/pinta%2A/

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @09:47AM (#12724917)
> Traditionally it's your distribution's job to create and provide packages

That has not been true in my 15 years of Linux. Look at bitsync, rstudio, or other major programs. Arch Linux must build off of the source so that isn't a fair comparison you are on a totally different system (port).

EDIT: Here is the one page of documentation to push out deba nd rpm on mono projects. http://www.mono-project.com/docs/getting-started/install/lin...

I have seen electron applications (pinta isn't built on electron but mono) and in the same way ONLY Ubuntu is advertised under Linux. The ability to automatically build Linux formats is built into the framework and still don't add RPM.

Linux: AppImage, deb, rpm, freebsd, pacman, p5p, apk.

Still other eclectron applications do the same thing and ONLY provide Ubuntu and not provide the Deb or RPM with source.

Look at the download page it says Linux and directly under it has a Ubuntu Logo and a ppa link. When I down load any of my commercial or major software there is always a RPM and a DEB with a tar.

Linux Support = RPM (The official Linux Foundation package) DEB and Source.

I use OpenSUSE and they have awesome build service that allows people to build packages for SUSE but also RPM, Arch and anyone else you want to add.

https://software.opensuse.org/package/pinta

Re:.NET on Linux – bye, Windows 10 by darklajid on Monday October 17, 2016 @10:46AM (#12725433)
(For this discussion, Arch Linux is working exactly like Debian/Fedora/Suse etc. - installing binary packages.)

In my time with Linux using anything other than your distributions package tools is an exception and extremely rare. You might do that for - say - bitsync, because it is proprietary. Your distribution cannot use the same 'grab sources, compile against our current libraries and package it up' process.

pinta instead follows the normal process. You install it by using your package tools. Your distributions created binary packages for you already, hosted on their infrastructure.

Heck, even on Ubuntu you'd probably apt-get install pinta and get a different (Ubuntu provided) package instead.

Check http://www.gimp.org/downloads/ and see what they do if you want to download their software (they tell you that your distribution is in charge and even mention why that is usually a good idea).

PPAs and OBS offer ways to build packages, yes. But again, that's the exception - most of your packages aren't coming from there.

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @11:28AM (#12725872)
> (For this discussion, Arch Linux is working exactly like Debian/Fedora/Suse etc. - installing binary packages.) It isn't its a ports system it compiles off of source.

The Arch Build System is a ports-like system for building and packaging software from source code. While pacman is the specialized Arch tool for binary package management (including packages built with the ABS), ABS is a collection of tools for compiling source into installable .pkg.tar.xz packages.

I have built and maintained packages for RPM and for Arch. They are different and that is the reason why in electron export Arch has a different system then deb or rpm.

> In my time with Linux using anything other than your distributions package tools is an exception and extremely rare.

That is your experience. Most Ubuntu and Arch people use AUR or ppa all the time. If I want the preview of RStudio (Open sourced and in my official repos) I down load and use the RPM. I do this all the time. If I want anything that was recently released I need to use the RPM and not the packages provided by my disto including rolling releases.

> Check http://www.gimp.org/downloads/ and see what they do if you want to download their software (they tell you that your distribution is in charge and even mention why that is usually a good idea).

I don't find much with the Gimp project to show as a positive example for other applications to follow.

> PPAs and OBS offer ways to build packages, yes. But again, that's the exception - most of your packages aren't coming from there.

Once again that isn't my experience and that is open to other people's needs. If you use AUR you also are not getting your packages from your official repos. Build a AUR and you will see. https://wiki.archlinux.org/index.php/Arch_User_Repository

AUR are awesome BECAUSE it works with the source files in a port system. The only difference between a AUR and a binary you get from pacman is that it was compiled for you to skip the step of downloading the source and compile like you do in AUR.

Re:.NET on Linux – bye, Windows 10 by darklajid on Monday October 17, 2016 @11:43AM (#12726041)
I'm confused why you're trying to educate me about Arch. And you're confusing things (maybe you think of Gentoo? That one is "mostly from source, can support binaries").

Yes, ABS is used to build binary Arch Linux packages from sources. But that's unrelated. Debian, Ubuntu, Fedora, RedHat, Suse - all of these do the same: Grab the sources, build binary packages. Whether you're using ABS or build rpms from a specfile doesn't matter for the discussion about upstream's (lack of!) responsibility to provide binary packages for random distributions.

So yes .. Arch is, for the sake of this discussion, working exactly like Debian/Fedora/Suse etc: The distribution (pick any from that list or any major distribution you can come up with) takes the pinta sources and builds a package from that. The end user installs a (binary) package using the distribution's package management facilities without ever touching the pinta source. The package comes directly from the distribution's infrastructure and not pinta's project site.

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @12:30PM (#12726565)
Okay you see apples I see oranges. I find packaging for Arch's port system to be pretty fundamentally different then for the binaries of RPM or Deb but its okay.

I still stand by the need to provide RPM, Deb and Source for your project to be called Linux supported. Also Ubunutu does not equal Linux.

Here is VS Code as an example https://code.visualstudio.com/?utm_expid=101350005-28.R1T8Fs...

Re:.NET on Linux – bye, Windows 10 by cosarara97 on Monday October 17, 2016 @09:04AM (#12724625)
It's packagers of RPM distros that should build RPMs. Upstream can't be expected to release packages for every distro (if any).
Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @09:50AM (#12724950)
> Upstream can't be expected to release packages for every distro (if any).

This isn't provide distro specific packages this is provide the one extra file over macOS and Windows.

Also this is for the health of the Linux environment.

That is why we have RPM and Deb they work for MANY distros and if your outside that then the source is there for aa build. One day appimage, flatpak or Snap will make this easier.

Re:.NET on Linux – bye, Windows 10 by darklajid on Monday October 17, 2016 @10:55AM (#12725505)
No, RPM and Deb files don't work for many distributions.

Yes, the formats are shared (say, RPM for Fedora, RedHat, Suse). But the resulting binaries aren't (usually, automatically - you might get lucky of course) compatible.

The whole point of distributions is to build a system. Fedora and Suse are on different schedules, make different decisions about updates, might run different versions of the libraries your package (here: pinta) depends upon.

Your RPM file often isn't even usable between different releases of the same distribution. So just adding a random RPM wouldn't make sense. You brought up OBS elsewhere: One of the major reasons that thing exists is so that you can build packages .. for a list of target platforms. OBS is a service that uses a build recipe and upstream sources (pintas tarball) to spit out binary packages for various different environments and formats.

So one additional RPM file wouldn't do the trick here.

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @02:02PM (#12727504)
I use OpenSUSE. The rpm's always work I might have to grab a dependency from somewhere or make a soft link, but 99% of the time they work. These are all the programs I use that I need to grab from RPM packages from their website RStudio (I use the preview version), Lightworks, Bittorrent Sync, and VS Code. Without RPM I would not get to use them period.

In the old dasy of Linux their would be a lot of issues but presently RPM and Deb works like a charm fro my uses.

I am hoping for appimage of flatpak to take over but for now RPM is my life blood to get things working.

If it is a niche program that won't be on the repos or it is updated frequently RPM is a very viable system.

Re:.NET on Linux – bye, Windows 10 by darklajid on Monday October 17, 2016 @03:08PM (#12728241)
We disagree a lot, so I'm going to bow out after this one. Please be assured that I don't intend to poke you or offend you - I genuinely feel that you are missing some pieces of the picture.

RPMs don't work in a vacuum. Unless you bundle a statically built thing or something trivial (say .. a shell script) you reference dependencies. Those change between environments.

32bit/64bit machines differ. Ubuntu vs. Debian, Suse vs. Fedora. Builds for current versions of Ubuntu might not/will not work on older ones. You can only provide a (guaranteed to be working) rpm by having one per combination here, a la 'This is for Ubuntu FunnyName 32bit'. You understand that this explodes in complexity quite easily and quite fast.

Now, you're bringing up exceptions again and again (your system is 99% Suse provided packages I'd bet and you have less than a handful applications that you install manually. High profile apps maybe, but still: A few, compared to your distribution's packages).

I can't explain each and every case, but let's look at VS Code: They offer an RPM. That's true. But that's a 50MB file that depends on .. nothing, really. glibc and /bin/sh. All static. You're downloading a zip, more or less. Possible, but wasteful and not common. Download Atom and VS Code and you download Electron twice. You're also ignoring most of rpm's feature set here. This is not a good example for 'providing an RPM' (again, a tar.gz might provide ~the same~ if you ignore that this puts a .desktop file in the right place to create a shortcut to launch this thing. Extracting this to ~/opt for example would give you 99% of what this RPM package does).

For ~normal~ projects, providing packages is just not feasible and bundling projects into coherent ... packages (ahahaha) is what distributions are for, really. Debian knows that it patched library X and all projects using that library might need to be bumped as well. Debian can rebuild their own packages at the same time. Upstream projects cannot follow every distribution and update their '32bit Debian Jessy' build in a timely manner after the distribution changed some parts of their system.

appimage/flatpak etc. are basically doing what your VS Code example did again: A bundle of everything. 'Portable apps' in the Windows world. OS X bundles. In my world that's really a bad trade-off, although I understand the appeal in terms of simplicity. I personally feel that this comes with a high(er) risk for security issues and don't like the wasted space.

Back to pinta: They provide a _real_ package (actually they don't provide any binary package, they just link to a PPA they maintain, probably because they actively use that themselves?) with dependencies. Not a lot, but they actually define a real package. Not a complete bundle with a random file extension like VS Code. For pinta it would be more effort to create RPMs and the benefits aren't clear at all (just zypper install pinta or whatever you do on Suse).

Please ignore the file extension. RPM isn't RPM in these cases. Please don't claim that pinta mixes up Linux and Ubuntu. There's no reason to get worked up ("I hate it when they do this") about this. They handle this the normal way, the standard way. I haven't seen Suse in action for ages, but I suppose you're either using KDE (likely) or Gnome (maybe). Both don't even offer any binaries (for Linux) as far as I'm aware.

vim doesn't offer RPMs either..

(On a side note: VS Code is completely available in the open for some time so it could be built the ~normal~ way using shared libraries for dependencies. Bittorrent Sync will always be a problem though)

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @10:49PM (#12731647)
I certainly don't get worked up but I do use i3 and several KDE programs. I think your more right 5 years ago then where we are today with Systemd in our world the differences between distros is getting smaller and smaller. Once again the RPM I download work and they work for me.

I get "worked up" when the only thing offered is a ppa and a source :)

Re:.NET on Linux – bye, Windows 10 by anonbanker on Monday October 17, 2016 @08:38PM (#12731103)
You can treat a .deb package as if it's .xz, because it is. extract it, and make the manual configuration changes. If you'd like, repackage the files into an rpm.

Back in 2006, when I switched to Ubuntu, I used to be the one complaining that developers pretended Redhat = Linux. If I had to choose, I'd pick .deb over .rpm any day.

FWIW, Gentoo offers Pinta in the portage tree:

  * media-gfx/pinta
       Available versions:  1.6-r2 **9999
       Homepage:            http://pinta-project.com
       Description:         Simple Painting for Gtk
so you could even download the source and rebuild on your own, should you need rpm's that desperately.
Re:.NET on Linux – bye, Windows 10 by fernandotakai on Monday October 17, 2016 @10:29AM (#12725302)
Re:.NET on Linux – bye, Windows 10 by gribbly on Monday October 17, 2016 @05:43AM (#12723698)
AFAIK Paint.NET makes use of .NET functionality only supported on Windows.

Beyond that it's closed source, so it would require the Paint.NET developers to port it to Linux.

Wine is probably going to be your best bet.

Re:.NET on Linux – bye, Windows 10 by romanovcode on Monday October 17, 2016 @05:25AM (#12723630)
No, classic form stuff is not supported.

There are only some open-source libraries but they are very new.

Re:.NET on Linux – bye, Windows 10 by Jdam on Monday October 17, 2016 @05:41AM (#12723688)
This. Paint.NET is what I'm missing on my Mac so much.
Re:.NET on Linux – bye, Windows 10 by UncleSlacky on Monday October 17, 2016 @06:07AM (#12723783)
It was my understanding that Pinta is essentially Paint.NET, and is available on Mac as well as Linux and Windows: https://pinta-project.com/pintaproject/pinta/
Re:.NET on Linux – bye, Windows 10 by aargh_aargh on Monday October 17, 2016 @07:21AM (#12724064)
Well, it's like comparing a go-kart to a sportscar. Pinta crashes on me a lot and has a fraction of the features.
Re:.NET on Linux – bye, Windows 10 by Sir_Cmpwn on Monday October 17, 2016 @08:44AM (#12724504)
When was the last time you tried it? I dismissed it for similar reasons when I first tried it, but then I tried it again about a year later and it was fine. Eventually I just manned up and learned how to use Gimp, though.
Re:.NET on Linux – bye, Windows 10 by aargh_aargh on Monday October 17, 2016 @11:25AM (#12725838)
I've been in fact using it from its very beginning and I've been getting the latest version (currently 1.6) from a PPA. It's handy for the same things I use Paint.NET for - it just feels more clumsy, despite tryig to be similar. I appreciate both for being lightweight.
Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @08:52AM (#12724548)
Paint.net has feature? I find it is just a simple quick raster editor with little to no features. What am I missing?
Re:.NET on Linux – bye, Windows 10 by aargh_aargh on Monday October 17, 2016 @11:30AM (#12725901)
A ton of plugins... To be honest, I didn't check if Pinta supports those and I rarely use any in Paint.NET.

Being lightweight, quick to start with just the essential features is what I appreciate in both.

It's just that for my simple uses (stitching bitmaps together, resizing, getting color values, pixel-perfect alignment, working with multiple buffers, turning toolbars on/off, editing in layers) Pinta feels much clumsier than its big brother.

Re:.NET on Linux – bye, Windows 10 by unixhero on Monday October 17, 2016 @06:31AM (#12723871)
Paint.Net is good, indeed.

Let Krita be your new friend. https://krita.org/en/

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @08:44AM (#12724506)
I LOVE Krita BUT I would not say that Krita is NOT the same thing.

I use four graphics tools in Linux.

1) Inkscape (Vector paint program) I also use it on Windows though I have a Adobe license

2) Gimp (My go to raster image editor)

3) Krita my go to paint program and not really for raster image editing

4) Aftershot Pro - My raw image and editing tool for quick photo edits

Krita is more comparable to Corel Paint then to Photoshop or Gimp.

http://www.painterartist.com/en/product/painter/

Re:.NET on Linux – bye, Windows 10 by creshal on Monday October 17, 2016 @06:56AM (#12723968)
Would be nice if I didn't need the half the KDE desktop for it.
Re:.NET on Linux – bye, Windows 10 by lmm on Monday October 17, 2016 @07:59AM (#12724254)
What difference does that make? You don't have to run KDE (heck, I use it on windows). Yes its UI is a separate library from the specific program - any well-factored program will do the same, whether it exposes the separation or not.
Re:.NET on Linux – bye, Windows 10 by creshal on Monday October 17, 2016 @09:24AM (#12724734)
> What difference does that make?

• It's more packages I need to download. Doubly annoying because 95% of the packages are just "thin wrapper around foo, because we're too hipster to use libraries directly like peasants".

• It installs system-wide services I have to disable/mask just so other programs don't mistakenly use them because they think I run KDE and they have to integrate into it.

• Oh wait, I can't disable some of these, because Krita itself needs them and now I need to figure out how to make them play nice with my desktop aaaaaarggghhhh

Re:.NET on Linux – bye, Windows 10 by lmm on Monday October 17, 2016 @10:32AM (#12725329)
> It's more packages I need to download. Doubly annoying because 95% of the packages are just "thin wrapper around foo, because we're too hipster to use libraries directly like peasants".

"Number of packages" is not a very meaningful metric. The combined filesize isn't that large (not by the standards of an image editor anyway), and under any modern package manager installing a package with dependencies is no harder than installing one without.

> It installs system-wide services I have to disable/mask just so other programs don't mistakenly use them because they think I run KDE and they have to integrate into it.

Really? KDE tends to be a well-behaved crossplatform citizen IME (unlike Gnome) and not rely on anything system-wide. (There was some horribly ill-advised semantic nonsense in KDE 4, but I don't think it ever affected Krita).

Re:.NET on Linux – bye, Windows 10 by cash3wz on Monday October 17, 2016 @10:14AM (#12725170)
I agree with you for point 2 & 3, I also hated installing KDE apps for this exact reason.

But I can't agree on the first one.

I have not checked what these exact thin wrappers are, but most of the time thin wrappers are really useful for testing and switching to another library without being tangled in the old one.

It pretty much follow the "D" (Dependency inversion principle) in the S.O.L.I.D. principles: "Depend upon Abstractions. Do not depend upon concretions.”.

Again, I have not checked the KDE libs you talk about, so I'm assuming this is what these wrappers are used for.

(Source : https://en.wikipedia.org/wiki/Dependency_inversion_principle & https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) )

Re:.NET on Linux – bye, Windows 10 by witty_username on Monday October 17, 2016 @11:01AM (#12725569)
Re:.NET on Linux – bye, Windows 10 by Crespyl on Monday October 17, 2016 @09:24AM (#12724738)
The kdelibs situation has improved a lot in the last couple of years. The team has worked hard to split out the frameworks and libraries from the desktop and apps themselves, so now you only need like 1/5 the KDE desktop.

It's worth taking another look if that was something that put you off in the past.

Re:.NET on Linux – bye, Windows 10 by baldfat on Monday October 17, 2016 @08:49AM (#12724528)
That is right there with RPM vs DEB debates and "RPM dependency hell."

75 MB appimage download then! https://krita.org/en/item/krita-3-0-released/

Re:.NET on Linux – bye, Windows 10 by skoczymroczny on Monday October 17, 2016 @06:44AM (#12723918)
In the past I didn't like the fact that Paint.NET isn't available on Linux. After using editors like Krita, I realized I didn't miss Paint.NET as much as I missed an image editor that isn't GIMP.
Re:.NET on Linux – bye, Windows 10 by MrZongle2 on Monday October 17, 2016 @11:28AM (#12725866)
I've used Paint.NET for years, and used GIMP on Linux platforms out of necessity. I wasn't aware of Krita until now, but it looks great. Thanks!
Re:.NET on Linux – bye, Windows 10 by jug on Monday October 17, 2016 @05:58AM (#12723752)
I know it's not free, but I think the $30 for Pixelmator is so worth it on Mac. I miss that one now on Windows. :)