Jupp_S has quit [Remote host closed the connection]
mmu_man has quit [Ping timeout: 480 seconds]
freakazoid343 has joined #haiku
freakazoid12345 has quit [Ping timeout: 480 seconds]
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LegendaryAmerican has joined #haiku
<LegendaryAmerican>
This one is gonna be difficult. a wait then hurry up issue. support for the zoom R8 R16 and r24
<LegendaryAmerican>
mainly because the lead times on their production.
<LegendaryAmerican>
I read what the R16 can do.. and was rather impressed.
<LegendaryAmerican>
full 8 track recording w/ 8 track virtual line from usb, daw interface,
<LegendaryAmerican>
thru/bypass dsp.
<LegendaryAmerican>
and host and device mode.
<LegendaryAmerican>
with seperate host and device ports.
<LegendaryAmerican>
basically, if you got a second 8 audio input usb break-in box, typically way cheaper, then you can system manage full 16 track recording. (non virtual)
<LegendaryAmerican>
if you got the R24, you have son of Radar 24
<LegendaryAmerican>
R24 and two 8 or one 16 Track usb break-in box, and you have full 24 track recording, workstation or laptop matched control with the zoom
<LegendaryAmerican>
of course, Ive never tried it.. and If I got one.. I would be on the horn with zoom to set up matched controls.
<LegendaryAmerican>
(control the zoom with the daw, control the daw with the zoom, and their connections.)
<LegendaryAmerican>
industry level communication with zoom, could possibly yield 3dmix able to control features existent or applicable to the dsp.
x10z has joined #haiku
<LegendaryAmerican>
it takes 24 tracks to live record during a live recording or live performance. if you consider room for guest performers and backup singers and drum mikeing
<LegendaryAmerican>
minimum.
<LegendaryAmerican>
thats a full FOH control
_orealis has joined #haiku
<LegendaryAmerican>
8 tracks require station mixing. which is typically fine for synths and drums. but its a pain with more complicated setups.
<LegendaryAmerican>
piano would require a piezo. every musician requires a vocal, and at least one instrument line.
orealis has quit [Ping timeout: 480 seconds]
_orealis is now known as orealis
<LegendaryAmerican>
module software based controls yet in a single system.
<LegendaryAmerican>
my own combo synth kit, has two cases of tabletop synth modules, a flagship synthesizer, gator T Frame, 4U Pod with 1U's ART PS 4x4 power control, behringer fx2000 feeding effects to an art mx822 8 track mixer with fx send and recieve, and a behringer ultrapatch pro px3000 to keep my routes clean, sending recording right now to a tascam dr60 mark 2. and likely soon, to a daw laptop as well, I dont know how Im gonna marry some of the
<LegendaryAmerican>
theres all kinds of nuances with my combo kit.
HaikuUser has joined #haiku
HaikuUser has quit []
<LegendaryAmerican>
I gotta get a new usb cable for the dr60. but, I have been able to successfully record a test track and take it over and play it on my haiku system
<LegendaryAmerican>
its linear pcm wav recording. simple as breeze.
<Dhruvagole[m]>
Thanks @Anarchos. That will help alot.
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<LegendaryAmerican>
anyhow, my combo requires 4 entire busses to run. power, midi, usb and audioline. but some modules have cv/gate as well, and one has berg bus and that was never standardized for interoperability between vendors in music.
<LegendaryAmerican>
with standardization, berg bus would be the most exciting, albiet for short runs.
LegendaryAmerican has quit [Quit: Vision[]: i've been blurred!]
<waddlesplash>
just an absolute disaster of a library
<waddlesplash>
even worse than X11
<waddlesplash>
honestly in comparison X11 is downright sane and reasonable
zmarvel has quit [Ping timeout: 480 seconds]
<Not-5726>
[haikuports/haikuports] waddlesplash pushed 1 commit to master [+1/-0/±2] https://git.io/JDiRW
<Not-5726>
[haikuports/haikuports] waddlesplash 51eeb3c - cairo: Disable static, and add "xcairo" recipe that builds the Xlib backend as a standalone library.
Skipp_OSX has quit [Quit: My Mac Pro has gone to sleep. ZZZzzz…]
<Bit[m]>
yikes
<Bit[m]>
that's quite the uh
<Bit[m]>
comparison
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<waddlesplash>
Bit[m]: hm?
<waddlesplash>
oh
<waddlesplash>
yeah
<Bit[m]>
wonder if it would be possible to implement a wayland compositor lol
<x512[m]>
Bit 🐱🐝: There are a little meaning in Wayland compositor, but implementing libwayland API over Haiku API may be useful.
<Bit[m]>
yeah fair
<nephele>
x512: implementing the api would basically be like implementing a compositor though, and we would have to decide which of the N extensions to support etc
<nephele>
I wish mail would put send mails into the sent imap folder... would be much easier for interop with other clients
<nephele>
(especially with iOS mail, kind of sad but it is the only somewhat competent mobile client i know :/)
<x512[m]>
Wayland API can be implemented with BView::DrawBitmap() without dedicated compositor logic.
tqh has joined #haiku
<nephele>
it requires compositor logic to operate properly iirc
<x512[m]>
It seems no, everything can be dome as wrapper over Haiku API inside client process.
<nephele>
yes, but then the client acts as the compositor ;)
<nephele>
so you still have a compositor, just not a global one
<x512[m]>
No compositor, app_server still use region based model. Compositing is done only inside window, it is not compositor.
<nephele>
compositor inside a window is still a compositor
<x512[m]>
No, at least with compositor word meaning in Linux.
<x512[m]>
Otherwise Windows 1.0, X11 and BeOS will become compositors because it have bitmap drawing API.
<nephele>
In wayland a compositor does not need to be global, it can also be in a window and such
<nephele>
you can run compositors nested, but they are still a compositor
<nephele>
it's because wayland /doesnt/ work like the app_server, you can't have wayland without compositing it's a core part of the protocol
<x512[m]>
Nested compositors and implementing Wayland API for single window is a different thing.
<nephele>
I don't think it is
<x512[m]>
Maybe it is possible to implement libwayland.so without Wayland protocol loke BeXlib.
<nephele>
I suppose it could be possible
euandreh is now known as Guest8764
euandreh has joined #haiku
Guest8764 has quit [Ping timeout: 480 seconds]
xet7 has quit [Ping timeout: 480 seconds]
gouchi has joined #haiku
<Niklas[m]>
Did I miss something or why do we want Wayland,Xorg and all this Linux stuff on Haiku now? 😲
<Begasus>
Same here Niklas[m]
<Niklas[m]>
I'm currently trying to move from mainstream Linux to BSD,OpenIndiana and some exotic Linux distributions like Artix everywhere to escape RedHats systemd,wayland,pipewire,... madness and now it looks like I'll soon have to get my hands dirty and remove that shit from Haiku as well :/
<Begasus>
not specificly wayland, x11 too?
<nephele>
there is no systemd wayland or pipewire on haiku
<Niklas[m]>
Hm?
<nephele>
it's not about "make wayland run haiku" but about "maybe we can make a low effort shim to port wayland-clients", i don't think there is much more interest apart from that
<nephele>
and also, nobody did it, just talked about it
<x512[m]>
Niklas: No move to X11 or Wayland is planned. It is implemented on top of Haiku API and optional.
<nephele>
Niklas: I can't say i like systemd, but on the other hand some of the "systemd BAD" distros are really bad at offering alternatives to it... like, competent service supervisors exist for linux, but those always seem to be missing :D
<Niklas[m]>
I just hope that it will be possible not to use Wayland :D
<nephele>
I am more annoyed when some qt app pulls in DBUS and that stupid daemon even tries to run
<x512[m]>
Wayland may simplify porting GTK3+.
<nephele>
it makes my shutdown double as long
<Niklas[m]>
On Arch I can not remove Wayland even if I use Xorg because that would remove the half of the DE as dependency -.-
xet7 has joined #haiku
<x512[m]>
Niklas: It is probably just Wayland client libraries, actual Wayland implementation should be possible to remove.
<nephele>
package managers on linux are very stingy, and software packages on linux often declare shared library dependencies in ELF files as required even if they are optional, so it is very hard to uninstall unneeded libraries there
mmu_man has quit [Ping timeout: 480 seconds]
<x512[m]>
Wayland client libraries do nothing if there are no Wayland server.
<nephele>
for example, you cannot remove libdbus often even if dbus daemon is not running at all (and the library would be useless)
<Niklas[m]>
nephele: Yes,the Systemd distributions are really bad at offering alternatives.I think it's because they don't want anyone not to use Systemd.But there are now some decent distributions especially made for alternative Init systems and they give you a big choice which one you want to use.
<nephele>
No, i ment /alternative/ distros
<nephele>
not distros that use systemd
<Niklas[m]>
x512: I tried pacman -Rns wayland and it wanted to remove GTK and EFL then,so I had to abort...
<nephele>
hate to say it but: choice which init system to use is not a good thing, you have to do system integration for each package countelss times this way
<nephele>
devuan for example sais you can use init freedom or whatever, but as a result none of them work nicely, and they dont even have a proper service supervisor in the default install, or even support for it in their packages
<x512[m]>
libwayland is harmless, it is not working if there are no Wayland server. It should be possible to uninstall Wayland server without problems.
<Niklas[m]>
I was recently trying to migrate to Artix here which seems quite good,but the jump from Manjaro ARM to Arch ARM to Armtix (all on a Raspberry Pi 400 where the package situation is most likely different from x86) was too big I think,so it didn't boot anymore
<nephele>
on haiku i also wouldn't want to give random ported apps the choice of "you could be supervised with launch_roster, or you could roll your own", ported apps should just be supervised with launch_roster if required, systemd distros think the same
<nephele>
I just use alpine linux if i want to use linux and install s6
<nephele>
I wish a distro with toybox + musl + s6 would be readily available
<Niklas[m]>
It's just that Haiku has only this one way to do it right and Linux gives you the choice and choosing the unusual one shouldn't break your system.Or at least it gave you the choice before Red Hat came...
<nephele>
(I made one that was small enough to fit in my ESP, kinda funky :D)
<x512[m]>
name is launch_daemon unfortunately. Demonic evil forces come to Haiku :(
<nephele>
haha, we are like BSD
<nephele>
embrace the evil
<x512[m]>
It should be launch_server.
<Niklas[m]>
BSD isn't evil,it's great actually :D
<nephele>
x512: nope, it's a daemon and not a server
<nephele>
although, i wonder if we can remove the _daemon and _server stuff from executable names, and instead put this info in ressources and in TeamMonitor for example sort stuff like a tree list for some stuff
<nephele>
also want to add "disable service" "enable service" buttons to TeamMonitor instead of "kill"
<nephele>
(and show disabled services too)
<x512[m]>
Evil forces in naming is bad. Linux is full of evil forces: there are daemons, it kills and there are zombies. Evil spirits begone! <starts exorcise ritual>
<Niklas[m]>
A easy way to enable and disable services in Haiku using TeamMonitor is a good idea 👍
gouchi has quit [Remote host closed the connection]
<x512[m]>
I made Services app in HaikuUtils that allows to control services.
<nephele>
launch_roster is nice, but TeamMonitor is way faster to use
<nephele>
I've seen your app but i haven't used it, i think TeamMonitor can be an easy alternative
<Niklas[m]>
I didn't know that this existed,thanks.
hooway has joined #haiku
<nephele>
It's nice that in haiku we have stuff in libraries and you can just make an application to use it :)
<nephele>
much nicer i think than gui apps that call commandline apps in the background...
<Niklas[m]>
Yes
<Bit[m]>
sorry, why are standards bad ?
<nephele>
bit[m]: ?
<Bit[m]>
like with systemd pipewire etc
<nephele>
Those aren't standards
<Bit[m]>
why is it bad to have a standardized way to do things
<Niklas[m]>
That aren't standards.That are reinvented wheels.Alternatives have existed long before.
<Bit[m]>
you dont need some standards org to have a standard
<Niklas[m]>
But I don't accept a standard from a corporation.
<nephele>
No... but you need atleast two implementations and some kind of portability
<nephele>
systemd definetely does not qualify, it isn't portable and the interfaces it exposes usually change with new versions so it's not stable either
<Niklas[m]>
All Red Hat stuff isn't portable.
<nephele>
haiku has app_server with the app_server protocol and media_server with the media_server protocol for example, but neither of those are standards, they are haiku internal and subject to change if neccesary, and they are treated as such
<Niklas[m]>
It's so focused on Linux that it doesn't work on the BSDs or other Unix(-like) OSes.
<Bit[m]>
fair enough
<x512[m]>
systemd is tightly related to Linux kernel and it is not relevant for Haiku.
<nephele>
Haiku users never need to know that app_server of media_server even exists :)
<Niklas[m]>
...which is actually a good thing because I can now use the BSDs to escape it lol
<nephele>
Systemd does however implement some apis they specced, which might now be implemented on BSD
<nephele>
like the uhm, apis gnome3 uses for "seat"/login management and such
<nephele>
i don't think anyone implemented that though, so maybe the apis are not so nice or easy to implement
AlwaysLivid has joined #haiku
<nephele>
bit[m]: i think the users that "flee" from systemd simply aren't happy with how well it works ;)
<Bit[m]>
lol fair
<Bit[m]>
for the record i'm not like super attached to any system in particular i just want something cohesive that works well
<Bit[m]>
obvi like an open standard would be ideal but something like that doesn't seem to have materialized and posix's scop is way too small and outdated
<Bit[m]>
s/scop/scope/
<Niklas[m]>
Indeed it does work quite well,but it's not the Unix way of doing things (do one job and do it right) and it has some not so nice hardcoded defaults (fallback to 8.8.8.8 when the configured DNS doesn't work and such)
<Bit[m]>
yeah ik
<Bit[m]>
i don't think the unix way of doing things always the best way though
<Bit[m]>
in a lot cases its fine, you just need a tool to do a thing
<Niklas[m]>
I don't think that either,but the Red Hat way is always worse ;)
<nephele>
Haiku uses posix as a tool, have some compat so some apps can be ported more easily
<Bit[m]>
yeah i appreciate that about it
<nephele>
but the native stuff is prefered
<Bit[m]>
idk why people always like seem to be upset with redhat specifically
<Bit[m]>
specially when companies like canonical seem to be doing much worse
<nephele>
probably NIH?
<Bit[m]>
NIH ?
<Niklas[m]>
I'm also upset with Canonical,it's just that everyone knows they're shit and therefore their nonsense isn't used in 99% of other distributions
<nephele>
Not Invented Here
<nephele>
canonical is the reason i've used windows 7 for severall more years, lol
<Bit[m]>
womp
<Niklas[m]>
Canonical is pretty much like the Micro$oft of the Linux-world,but everyone knows that today so it's fine to just ignore Ubuntu totally
<nephele>
Well, i was on ubuntu with gnome 2 and it was pretty okay, i understood it mostly
<nephele>
but then "just updated" and i found /nothing/ anymore
<nephele>
well, that was Unity :)
<nephele>
but as a user not knowing what the fuck is going on made me just not boot into that system anymore
<Bit[m]>
yea :/
<Niklas[m]>
I just updated Ubuntu once and then my desktop symbols were gone,after a reboot it didn't accept my password anymore.
<Bit[m]>
i'm of the hot take that unity was pretty cool lol
* Begasus
ducks (still running Ubuntu) :)
<Niklas[m]>
Then I installed Windows XP again and was fine for a year or so :D
<nephele>
Bit[m]: I can see that viewpoint, but getting it shoved down my throat on an update while having known nothing about it was just frustrating
<Bit[m]>
oh yeah for sure
<nephele>
Modern ubuntu is... wierd... its gnome 3 but i dont understand much of it
<nephele>
sometimes tool windows open that dont have a close button :(
<Bit[m]>
unity was my first linux experience and i thought it was so cool at themtime
<Niklas[m]>
I disliked Unity back then but compared to Gnome 3 it really wasn't that bad
<Bit[m]>
gnome 3 bad ?
<nephele>
also, i disabled password login i just boot to desktop, but sometimes the screen locks itself and i have to enter a password
<nephele>
gnome 3 isn't bad per se i would say, but it has so many papercuts that my metaphorical hands hurt using it
<Bit[m]>
lol fair
<Bit[m]>
i feel like kde is worse though
<x512[m]>
Bit 🐱🐝: Gnome 3 is worst DE ever made. Even acient UNIX CDE and Motif if much better.
<Bit[m]>
strong opinion
<nephele>
random stuff all over, for example: if you publish a usb printer over IPP it will then be twice in the printer preferences and you cant remove it; if you play games in wine and get gnome notifications for random shit the framerate becomes unusable
<Niklas[m]>
I think Gnome 3 would be great on a tablet computer or a really small netbook,but the big toolbars and buttons just suck for using it with a mouse
<nephele>
just very many things making it really annoying
<x512[m]>
They even disable window minimize button by default. That is insane.
<Niklas[m]>
When it comes to a desktop computer or bigger laptop,I absolutely agree to x512
<nephele>
I also had to do lots of configs to get useable scrollbars, and then random apps dont use that because of something called flatpack, so i have to copy the configs around more for no reason
<x512[m]>
There are no always visible taskbar or dock to allow switching windows.
<Niklas[m]>
The missing taskbar is a feature btw,not a bug lol
<Bit[m]>
gnome has like its own way of doing things and for those unfamiliar it's not the best time
<nephele>
except on Ubuntu where you have a dock always visible, but it doesnt work because you cant pin new apps to it
<Niklas[m]>
Oh yeah,Flatpak,another piece of Red Hat shit for which I want to get rid of Linux lol
<x512[m]>
Terrible fullscreen Activities screen copied from iPad like the rest of Gnome 3+.
<Niklas[m]>
(Not that Snap or AppImage are any better,I just want to use native packages and none of that containerized nonsense)
<nephele>
Appimage is basically an image with dependencies copied into it
<x512[m]>
Gnome 3+ is basically iPad UI clone for some strange reason used on desktop.
<nephele>
it's sad that this is the only way to ship apps for severall distros
<nephele>
x512: I'd think iPad has a better UI though
<Niklas[m]>
You can also ship them as a TAR archive?
<Niklas[m]>
Or as a single binary file
<nephele>
so gnome can say "No application installed to run tar archive" or some nonsense?
<nephele>
appimage is that single binary file basically
<Niklas[m]>
I use tar in the terminal to extract them.
<Bit[m]>
yeah appimage is pretty cool
<Niklas[m]>
No,it isn't.
<nephele>
"in the terminal" is bah
<Niklas[m]>
Well,it's Linux.If you want anything to work correctly,you have to use the Terminal all time
<Bit[m]>
why don't we like appimage ?
<nephele>
I think appimage is the best solution for linux from the ones that are presented
<nephele>
It could even work on FreeBSD if fuse support is improved slightly (although, it already runs if you use --extract-and-run)
<Bit[m]>
appimage is like .exe or .dmg
<Niklas[m]>
I agree that AppImages aren't as bad as Flatpak or Snap,but if there is a native package or source code I can compile myself,I go this way
<Bit[m]>
well yeah
<Bit[m]>
if your distro has it obvi that's ideal
<Bit[m]>
but it's nice to not have to install 20 dependencies to run something
<nephele>
appimages dont use qt style from the os :(
<Bit[m]>
unfortunate
<Scarecrow>
you're still installing them, they just don't get updates and aren't shared
<Niklas[m]>
It's not that nice to download these 20 dependencys like 50 times for every single app you want to use
<Bit[m]>
i know i know
<Bit[m]>
that's why distros still have package managers
AlwaysLivid has quit [Remote host closed the connection]
<Scarecrow>
something more like docker or nix could be interesting on that front
<Bit[m]>
flatpak approach doesn't seem terrible though
<Bit[m]>
nix is really cool
<Niklas[m]>
It is terrible
<nephele>
nix gives errors no mortal should ever have seen
<Bit[m]>
how so
<nephele>
"maximum symlink depth exceeded"
<Bit[m]>
lmao
<Bit[m]>
does some hacky shit at time but the results are often pretty cool
<nephele>
I think haikus package manager solves the problems nix sets out to solve much better
<Scarecrow>
assemble an environment with these dependencies from this manifest, so you can keep them up to date and share them between software but still maintain an old-ass environment for your absurd python 2 software and such
<Scarecrow>
a better solution, but not an ideal solution
<Niklas[m]>
Haikus package manager is really one of the best.
<Scarecrow>
haiku's package managent is so nice I stole the concept for my own OS projects :3
<x512[m]>
Unlike Nix, Haiku package manager has design flaw that is doesn't allow to install multiple version of the same package and it can cause file collisions from multiple packages.
<nephele>
No it doesn't, that is just something libsolv does
<x512[m]>
I also like an idea of GoboLinux where each packae live in its own directory.
<nephele>
if you fix that in libsolv it will work just ifne
Jupp_S has quit [Ping timeout: 480 seconds]
<x512[m]>
Idea of merging package contents is bad in general.
<nephele>
(if you want to you can do it like gobolinux, mount the deps of each app in a seperate tree somewhere, no special support is needed for that)
<nephele>
x512: i disagree :)
<Niklas[m]>
Maybe a bit off-topic but does anyone know if there's a rolling-release BSD anywhere?
<x512[m]>
Yes, each package would mount its explicitly defined dependencies into its own directory. It can even run in chroot.
<x512[m]>
Secure and collision free.
<nephele>
I don't think this is more secure at all
<nephele>
as in, there is no change in security if you do this
<nephele>
Niklas: you can use -CURRENT i guess? but no... BSD is not rolling-release
<nephele>
they basically work the same as we do
<Niklas[m]>
I still need to get rid of that one outdated Debian server some day and initially wanted to replace it with Arch but now that I thought of all the Linux nightmares again,I would probably prefer to try a BSD instead,but without fixed releases so that I don't have to fix 1000 packages on one single update day.
<x512[m]>
Packages can have access only to declared dependencies, that is more secure.
<x512[m]>
Merged packages can access everything even if dependency is not declared.
<nephele>
Niklas: uhh.... what do you mean by that?
<nephele>
x512: i don't see how that is more secure, they can access exactly what they could before, there is no isolation
<nephele>
the only thing it is is more predictable
<nephele>
but it also requires that all apps properly support running from a different path
<x512[m]>
Packages can run in chroot.
<nephele>
if they run in a chroot they cannot access user files anymore, defeating the point of even installing the app
<Niklas[m]>
If I updated from Debian 8 to 9,I would have had to fix up thousands of dependencys and configs so that my stuff still works.I postponed it up to this day but some day I need to do something about it and I will set it up from scratch then.
<x512[m]>
So application will think that packages are still merged, but only declared packages will be visible.
<nekobot>
[haiku/haiku] 370623a92318 - Russian keymap: the Rouble currency sign was mistakenly on the Capslock key, and vice versa.
<nephele>
Niklas: yeah... don't worry about that on FreeBSD
<nephele>
the ports tree is rolling, you can use that, but the OS is a stable fixed version
<nephele>
... just like haiku ;)
<Niklas[m]>
All other servers run Arch currently which is quite comfortable.Sometimes I have to do minimal fixes after pacman -Syu,but 99% of the updates it just works.
<Niklas[m]>
Ok,I think I'll try FreeBSD then.
<nephele>
I think it's similar on OpenBSD and NetBSD but i don't have personal experience with that
<x512[m]>
nephele: "if they run in a chroot they cannot access user files anymore, defeating the point of even installing the app": home directory can be mounted to chroot.
<nephele>
Why are you copying my message and pasting it?
<x512[m]>
If more security is needed, files can be mounted by Tracker file open dialog.
<nephele>
it makes it much harder to read
<Niklas[m]>
And if I want to update the OS itself,can I do that without breaking everything on FreeBSD?
<x512[m]>
nephele: To mark to which message I reply.
<nephele>
Niklas: yeah, newer FreeBSD versions are ABI compatible to previous ones
<Niklas[m]>
I currently use FreeBSD on one of my desktops,but haven't had it long enough to experience a release upgrade
<nephele>
x512: it makes it much harder to read, please dont do it
<Niklas[m]>
Sounds good :D
<nephele>
if you mount the home directory you might aswell do a plan9 and have isolated file system paths from the getgo
<nephele>
that is, each application or process has it's own "view" of the file system and no view is the "real" one :)
<x512[m]>
Yes.
<nephele>
This is a bit more confusing to users though
<x512[m]>
I made a concept of OS that have no idea of root filesystem some time ago. Each package consider its install directory as root.
<nephele>
Haiku also has no real root, / is virtual and not coresponding to a disk
<x512[m]>
I mean even no virtual root.
<x512[m]>
No concept of absolute file path.
<nephele>
You always have a root, even if you do not name it, it just does not have to be the same for other views
<nephele>
If we want to change up the way this works we should probably do this after R1 though
<x512[m]>
That is about my OS idea that is not UNIX based. It have single address space and allows to run only programs written in safe programming language. Files are defined by pointers to interfaces, not path. You can implement your own FS or file interface and pass it to any application. Applications have no way to know file path because it is just no such concept.
<nephele>
atleast the user needs to have a file-system like view to understand where files are stored
gouchi has joined #haiku
<x512[m]>
User can use a list of disks as root.
<nephele>
basically how the tree is shown now in haiku
<x512[m]>
About Haiku: I think that per-appliation filesystem views will be not such confusing because it will affect only things like /boot/system/lib. The rest will be the same (if no security restrictions are applied). And it is possible to navigate to package "real" path, something like /boot/system/package-data/bash-5.1-1
erts has quit [Quit: .]
jmairboeck has joined #haiku
<x512[m]>
It is also possible to introduce concept of non-packaged packages in a directory that run in chroot. When you start application in directory package, it looks for metainformation file, register directory as package and run it in chroot. Directory packages can be located everywhere and unlike archived packages its contents can be freely modified.
<nephele>
why?
<x512[m]>
To simplify development.
<x512[m]>
You can use any directory everywhere as package and declare dependencies for it.
<nephele>
how is that any different to just mounting packages in a chroot?
<nephele>
or in any non-chroot path for that manner
<x512[m]>
It is possible to modify files in non-archive package directory even if it is activated.
<x512[m]>
Application in non-archive package will see itself and dependencies in /boot/system/bin, boot/system/lib etc.
<nephele>
I don't understand what you meen with "activated"
<x512[m]>
Non-archive packages may depend on another non-archive package located everywhere if it is activated.
<nephele>
if you mount packages somewhere and then put an executable there it sounds like exactly the same
<nephele>
... don't do rw union mounts, they are terrible
<x512[m]>
Activated non-archive package can be referred as dependency of any other package (hpkg or non-packaged).
<x512[m]>
Mapped paths (/boot/system/lib etc.) will be read-only. But real directory will be writable.
<x512[m]>
Indexed BFS attributes can be used to find non-archive package directories and activate them.
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nephele>
I think mounting a rw directory to another tree is not a good idea
<x512[m]>
With non-archive packages you can download software source, activate it before building to map dependencies, build and run.
<nephele>
just mount your deps to some tree
<x512[m]>
Development will become very convenient.
<x512[m]>
You can download multiple software sources, activate them and use some of them as dependencies of others.
<nephele>
just package them if they are compiled
<nephele>
rw mounts under rw mounts would become inconvenient and very confusing
<x512[m]>
It is very inconvenient for large packages like Qt, Webengine. Making kpkg takes a lot of time.
<x512[m]>
Mounts are read only but source data is writable and changing it affects all read only mounts.
<nephele>
qt and webengine are too big
<x512[m]>
Activation also means that non-archive package become visible to dependency resolver.
<x512[m]>
Too big, but we need to live with that.
<x512[m]>
We can't dictate web standards or stop using web.
<nephele>
For my part I'll work on webkit, and avoid qt :P
<Niklas[m]>
Sometimes I wish I could just stop using the modern web and go back to the 90s lol
<nephele>
i want to make webpositive work aswell as links2
<Niklas[m]>
I still want to make a native browser for Gemini (something like Gopher,but more modern,with some features added and still quite lightweight) but didn't have time for it so far :/
<nephele>
you could implement gemini for netservices if you want
<x512[m]>
My idea can be probably implemented even without breaking compatibility with existing HPKG and software. Just /boot/system/bin lib etc. will become depending on package containing running executable.
<Niklas[m]>
I will look into it when I find some more time.The Gemini protocol itself is quite easy,but C++ unfortunately isn't
<Niklas[m]>
Technically Gemini is quite different.
<nephele>
Eh, not really
<Niklas[m]>
It uses TLS while Gopher is unencrypted and it uses some limited subset of Markdown as document format.
<nephele>
two things: TLS is already supported by us natively, and secondly: gemini can serve all content types just like html and gopher can
<PulkoMandy>
for TLS you just need to use BSecureSocket instead of BSocket
<nephele>
supporting text/gemini is a bit different than supporting gemini itself
<nephele>
(although i think the format is not that nice, but oh well... their protocol :P, we could totally translate it to html with a translator and just display that
<nephele>
)
<Niklas[m]>
I meant both gemini and text/gemini because the gemini protocol without its preferred document format would be pretty useless
<PulkoMandy>
and yes, I would rather not use hacks like the gopher protocol which just pretends to be html and does the conversion itself. I think ideally we could implement that part with translators from gemini/markdown/whatever to HTML and have Web+ use those
<Niklas[m]>
You're right that the gemini protocol can serve every format,but to display a Gemini webpage,people usually use text/gemini.And text/html support in Gemini browsers is quite limited,otherwise you could just use the bloated HTTP
<Niklas[m]>
Also,do we really need to convert text/gemini (and Gopher stuff) to HTML anywhere?Wouldn't it be much more performant to render the few supported formattings natively and leave out the bloated Web engine stuff that isn't really needed for those simple formats?
<nephele>
why? webkit is quite competent
<nephele>
we could make a "native" text/gemini renderer, but we could also make a text/gemini => whatver html dialect we want translator
<nephele>
this would have the advantage that we can easily use css or so to style the rendering, and have it be coherent with: file: display, gopher:// display etc
<Niklas[m]>
I don't see that much of a advantage over HTTP anymore then.
<nephele>
PulkoMandy: how does gopher do it now, just gives the browser something with a text/html pretend contenttype and lets it render that?
<Niklas[m]>
Gemini is meant to be simple and easy to implement,not to be read by a Web engine that is bigger than the OS itself
<nephele>
Niklas[m]: gopher and gemini both lean on the side of the renderer should style the content, this would allow this quite easily
<nephele>
If we implement gemini in webservices nothing is stopping you from "just" making a gemini browser based on that, and render the documents to a BView directly
<Niklas[m]>
Sure,it's absolutely possible.I only say that it's bloated.
<nephele>
but if we do it in webpositive we might aswell just use the engine we have IMO
<nephele>
eh, webkit doesn't use that much memory or cpu, it will be fine i think
<Niklas[m]>
Making a dedicated browser for Gemini (and later also Gopher if it works fine) was my plan actually
<nephele>
I would like to have all this in webpositive directly, to not have to care that much about the protocol and give gemini and gopher an equal footing from OS level support
<Niklas[m]>
We'll see.There's much other work I have to do before that anyway
<nephele>
Hmm, I think some of the code in the GopherRequest could be converted to a translator
<nephele>
to convert the gopherpage to html
<Niklas[m]>
That's a good idea.
<Niklas[m]>
Would probably also make it easier to reuse GopherRequest with a native renderer
<nephele>
Niklas: Well, I'll work on webpositive and webkit, i think i'll do gemini once text/gemini is specced as a mime type :)
<nephele>
But i'm happy to help you with a native gopher or gemini browser
<Niklas[m]>
I'm just too busy with different things
<nephele>
That's fine, there is no obligations here :D
<Not-5726>
[haikuports/haikuports] Begasus pushed 1 commit to master [+0/-0/±1] https://git.io/JDPXt
<Niklas[m]>
Have to write a big article series about Linux distros without Systemd,another big article series about GNU Emacs,migrating a big outdated Debian server with dozens of services to FreeBSD,finish my Weather replicant,finish the update for my Cloud Firewall Firefox extension and maybe I even forgot some other stuff.
<nephele>
I want to upstream two ftp patches for webkit, upstream my code for statusview, and upstream one fix for webpositive
<nephele>
heh, just upstreaming
<nephele>
I think i might have to use ubuntu though, i don't think i can run the testsuite for webkit on haiku yet :/
<Niklas[m]>
You can also use FreeBSD for that ;)
<nephele>
No, I can't
<Niklas[m]>
Why not?
<x512[m]>
I had a regression with latest packaged WebPositive that login sessions are not working.
tqh has quit [Quit: Leaving]
<nephele>
While FreeBSD is supported by webkit, I'm afraid my computer by FreeBSD is not, i get constant kernel panics with linux drm code
<nephele>
x512: how so? they were broken before, do you mean something new?
<Niklas[m]>
Hm,that's not good :/
<Niklas[m]>
It's sometimes quite difficult to find a BSD that supports the hardware perfectly fine :/
<x512[m]>
RadeonGfx in userland don't cause kernel panics. But sometimes it just completely freeze PC. This probably can't be protected.
<Niklas[m]>
On my laptop I have the choice if I want a working Wifi,but no touchpad and touchscreen (FreeBSD) or if I need a touchpad and touchscreen,but no Wifi then (OpenBSD) or if I want both not to work (NetBSD) :'(
<nephele>
well, both is something i do not want :)
<x512[m]>
PCIe hardware seems not fully isolated at hardware level and PCIe card misbehavior can affect whole PC.
<x512[m]>
Maybe IOMMU can help, but not sure.
<Begasus>
bugger, codecrypt can't find crypto++, need to check that build localy :)
<nephele>
x512: I don't think you can do much worse than freebsd here unfortunately, the kernel panics were extremely frequent... and all my tickets were closed with "this FreeBSD version is no longer supported" (two years later :P)
<x512[m]>
Well, I just need to properly interact with GPU to have no freezes. Software bugs in driver can be handled by driver server process restart.
<nephele>
like minix 3 :D
<x512[m]>
It happens quite rare for now.
<x512[m]>
Minix have GPU drivers?
<nephele>
minix 3 has reliable drivers, not sure for gpu, but they can survive an incredible ammount of errors and faults
<Niklas[m]>
Is there anyone still working on Minix,btw?That was a really cool project,but looks dead to me?
<nephele>
minix 3 is quite alive, it's the most installed OS on the planet
<PulkoMandy>
currently gopher is "converted" to http/html in the protocol handler. For Web+ that was the easiest, but it is not a very clean solution
<x512[m]>
I heard that Minix is used in Intel ME in every modern Intel CPU.
<PulkoMandy>
I don't think we're going to add native gopher or gemini support in Web+, if you are building your own browser, it's different
<PulkoMandy>
(that's because Web+ is quite tied to webkit currently)
<nephele>
PulkoMandy: I think the "to html" part could probably be removed from libnetservices and added to a translator
<Niklas[m]>
Yes,it's used in every Intel CPU,but still the repo hasn't seen new commits for months or even years I think
<PulkoMandy>
*
<PulkoMandy>
yes, usung a translator for that will be better
<nephele>
and then if we encounter a mimetype we define for "gopher directory" or "gopher entry" we could call the translator from webpositive
<nephele>
if that makes sense
<PulkoMandy>
not sure how easy it would be to wire that into webkit however
<nephele>
Can't webkit call translators already?
<PulkoMandy>
no, or maybe only for images (but I think we removed that)
<PulkoMandy>
for images the problem is that webkit wants to start decoding them before they are fully downloaded (to know the size as early as possible and use it to layout the page, and also for progressive rendering on formats that support it)
<PulkoMandy>
our translators are too limited for that
<PulkoMandy>
I don't remember if we still use translators as a fallback for formats not handled directly by webkit
<nephele>
Well, this is only the case if the entire page is of the mimetype, it should work? or do you expect gopher directories could be embeded in html frames... heh
<PulkoMandy>
I don't know how easy it is to intercept pages based on mime type and run them through some converter and feed back the output of that into webkit
<PulkoMandy>
probably possible but may need some changes to webkit
<nephele>
likely easier the more stuff is upstreamed
<nephele>
i've tried to run the testsuite but i've had quite a bit of difficulty with it, but i also saw that the next versioning commit has quite a bit of changes there
<PulkoMandy>
I have not run the testsuite in a while, last time I tried it still needed python2 and I didn't want to reinstall it
<Niklas[m]>
Can't you write some glue code that gets called from WebKit instead of GopherRequest and first calls GopherRequest,then feeds the result to the translator and returns the whole thing back to WebKit?
<nephele>
that would be just calling the translator from services kit, in which case, just leave the code where it is :P
<Niklas[m]>
No
<nephele>
the problem is a bit this: you /cant/ write a native browser for gopher with the current gopher request code, it will always return html
<Niklas[m]>
There should be another function somewhere else that calls GopherRequest and then the translator.And WebKit should call this function instead of calling GopherRequest directly
<nephele>
PulkoMandy: hmm, i don't know if that has changed, i tried with python3 and it didn't complain, but it probably just detects that and runs python2 instead :g
<nephele>
Niklas: yes but... from the perspective of webkit this is no different to what is done now
<Niklas[m]>
I know,but it would allow for a native browser to call GopherRequest and receive the gopher response instead of HTML
<PulkoMandy>
nephele: most of it runs with python3 but there was one script that was specifically asking for python2. But yes, they are slowly migrating out of that
<PulkoMandy>
(blame Apple who took a very long time to update the bundled python in macos)
<Niklas[m]>
Do we want a difference from the perspective of WebKit?I thought it should be easy to change without rewriting parts of WebKit
<nephele>
Niklas: i dont understand the question
<PulkoMandy>
if you want to build things around webkit, what we have now is fine
<PulkoMandy>
but that's not the point of Haiku, right? We want to do things in a clean way, and if that means patching webkit, we should patch webkit
<PulkoMandy>
not add an extra layer somewhere to hide the problem
<nephele>
I finished the patch for WebPositive Loading bar size yesterday too, btw
<nephele>
I initially wanted to work on tab tree stuff but i got distracted
<PulkoMandy>
yes, it should be on gerrit already
<PulkoMandy>
but I need to generate a new ssh key
<PulkoMandy>
my old RSA one is not acceptable anymore it seems
<PulkoMandy>
fixing that and then I'll push it
<nephele>
Ah, right, i did send the email for webpositive but not for the shared kit StatusView size thingy
<PulkoMandy>
let's see if I manage to access gerrit settings...
xet7 has quit [Remote host closed the connection]
xet7 has joined #haiku
Begasus has quit [Quit: Ik ga weg]
<nephele>
Finally figured out how to get webkit bugzilla to show me bugs i'm cced too... really struggled to find that ftp bug
qwebirc53052 has joined #haiku
xet7 has quit [Ping timeout: 480 seconds]
qwebirc53052 has quit [Remote host closed the connection]
<nephele>
PulkoMandy: i have the new python test case now... how do i run it with the suite specifically? :)
<PulkoMandy>
I don't know, does run-webkit-tests take arguments to specify a list of tests?
<nephele>
its complaining about not beeing able to run webkit because of symbols... guess i need to recompile a bit
<Not-5726>
[haikuports/haikuports] threedeyes pushed 1 commit to master [+2/-2/±0] https://git.io/JDPQ1
<nephele>
PulkoMandy: if i run the test in haikuwebkit, and use the -expected from that, it should be the correct thing to put into the normal webkit testsuite right?
<Not-5726>
[haikuports/haikuports] threedeyes cbfa930 - QMPlay2: bump version
<PulkoMandy>
I think it should, yes? (runnin in DumpRenderTree I guess)
xet7 has joined #haiku
<PulkoMandy>
I'm not sure how cross platform the result can be, as it will be based on the generated HTML and maybe the CSS for directory listings, which we customize
<PulkoMandy>
but let's submit the patch this way and see what the webkit buildsystem says
Begasus has joined #haiku
<nephele>
sure, just need to wait for webkit to finish building so i can run it
HaikuUser has joined #haiku
HaikuUser has quit []
<Begasus>
471.62KiB and takes forever to build ... ;) (libQt5Pas)
Bit[m] is now known as Hive[m]
Hive[m] is now known as hive[m]
andreasdr has joined #haiku
<andreasdr>
Hi
<nephele>
hello there
<andreasdr>
Hi nephele
<Begasus>
hi andreasdr
<andreasdr>
I see you guys were very active earlier this day.
<andreasdr>
I found Pascal and Delphie to be a very nice programming language.
<andreasdr>
But stopped using it around 1998
<Begasus>
at least a step closer to running Lazarus on Haiku ;)
<andreasdr>
Why a step closer. The screenshot sais it runs?
<Begasus>
yeah, but it's not in haikuports ;)
<andreasdr>
Ok
<andreasdr>
Why is it that?
<nephele>
Begasus is faster than haikuports
<Begasus>
:P
<andreasdr>
The fastest human entity around :D
<Begasus>
no, local script still not able to build it with haikuporter
<Begasus>
:P
<Begasus>
there is fpcupdeluxe (wip) recipe, so one can build it :) https://ibb.co/z7JqH0S
Begasus_32 has quit [Quit: Vision[]: Gone to the dogs!]
tqh has joined #haiku
HaikuUser has joined #haiku
HaikuUser has quit []
<nephele>
--> HTTP: GET /misc/ftp-eplf-directory.py HTTP/1.1
<nephele>
PulkoMandy: do i need to mark this specificially as something to be executed with python? it seems to try and just render it as if it was a page... i might be missing something here
<PulkoMandy>
that should work fine, the http server running the testsuite should be configured to run .py files as CGI scripts
<PulkoMandy>
I think
<PulkoMandy>
but I never tried it
<nephele>
So GET for the python file is correct?
<nephele>
I am getting a timeout instead of the expected result anyway
<PulkoMandy>
yes
<PulkoMandy>
is the http server running? (not sure if it's still lighttpd or if they use some python one now)
<nephele>
yes it is, i get an access log which logged the requests, and i have the netservices log in the stderr of the test
<nephele>
(it asks for the python file anyhow, but the returned content type is application/octet-stream, but that isnt what i put in the python script :/)
<nephele>
and the python script got a content type of text/html assigned for BEOS:TYPE for some reason .-.
<PulkoMandy>
the sniffing for html is very flexible and we don't have a good rule for python I guess
<PulkoMandy>
not sure if the rule for sourcecode checks for "#!" as the first two bytes and what confidence it gives, possibly it's lower than the html one
<PulkoMandy>
anyway I don't think the webserver relies on that
<nephele>
the source code rule checks for */
<nephele>
:)
<PulkoMandy>
yes but that's not #! :)
<PulkoMandy>
possibly we could have a separate dedicated rule for that for all scripts, should be quite reliable
<PulkoMandy>
so, once the webserver is running, can you load the page in Web+ or HaikuLauncher, does that work?
<nephele>
well, this time around there there is no mimetype assigned
<PulkoMandy>
probably we need to remove this in haiku.py and try to use apache? is that ported now?
freakazoid333 has joined #haiku
<PulkoMandy>
and complain to webkit devs that they have an obsolete unmaintained support for lighttpd?
freakazoid343 has quit [Ping timeout: 480 seconds]
<PulkoMandy>
unless win.py is doing some extra magic for lighttpd that we could reuse?
<PulkoMandy>
no, win.py in fact also uses apache
<PulkoMandy>
so the lighttpd support is not used by anyone and is not maintained
<PulkoMandy>
and it was neve rupdated to support python tests, only php and perl
<PulkoMandy>
looks like we should switch to apache, and delete/simplify a lot of things in the cross platform code :)
<PulkoMandy>
or fix the lighttpd support, if that's easier
freakazoid12345 has quit [Ping timeout: 480 seconds]
<nephele>
we don't have apache ported it looks
<PulkoMandy>
I see a ports/www-servers/apache in haikuports
<PulkoMandy>
marked as untested on all architectures
<nephele>
I changed somethine, changed it back, and now lighthttpd crashed :D
<PulkoMandy>
why do people write a recipe and then leave it as untested?
<nephele>
git blame
<andreasdr>
A bit offtopic: For Apache and for our net code in TDME2 it would be nice to have kqueue or epoll in future. Is this or something like this planned for future?
<PulkoMandy>
apparently it's kenmays who disabled it while updating it
<PulkoMandy>
andreasdr: waiting for someone to implement it, I think :)
<andreasdr>
Oh ok. :DDD
<PulkoMandy>
it is indeed a missing part of our APIs, but no one had time to look into it
<andreasdr>
Seems like very advanced kernel land area.
<nephele>
ah, cocobean
<andreasdr>
Then Haiku would get interesting for (net) server usage.
<PulkoMandy>
yes, somewhat advanced kernel things. I will write up a GSoC idea about it
<andreasdr>
Nice!
<andreasdr>
What would you favor? epoll or kqueue?
<andreasdr>
So linux or BSD style?
<nephele>
i think the last time this came up someone said there was a newer api that linux used that was more interesting :)
<andreasdr>
Yaaaa. Came across this once. But epoll is already very easy and nice to use from userland perspective. kqueue is a bit harder.
<nephele>
i mean a different api newer than epoll or kqueue
<nephele>
i dont recall what the name was
<andreasdr>
Yes. I know.
<nephele>
PulkoMandy: welp, slightly changing the config from php -> py for that one line makes lighthttps crash
<nephele>
"AttributeError: 'Lighttpd' object has no attribute '_process'"
<nephele>
no idea what that means, maybe i should try to build apaache
<x512[m]>
nephele: io_uring?
<PulkoMandy>
this means more out of date things in the webkitpy python scripts
<nephele>
yes x512, i think that was it
<PulkoMandy>
comparing the lighttpd and apache ones there would help, and synchronizing the lighttpd one with the apache one
<nephele>
I don't understand any python, not sure if i am the right person to try and fix something webkit neglected for years ;)
<PulkoMandy>
andreasdr: I know epoll better because I use it for paidwork projects. It works nicely, but it relies on everything being a file descriptor. Which led linux to introduce timerfd, signalfd, eventfd, ...
<PulkoMandy>
I think kqueue is more generic in that aspect, and would be more similar to our existing wait_for_objects API which can be extended to work with other things than file descriptors
<PulkoMandy>
if that's indeed the case, kqueue probably makes more sense for us
<andreasdr>
Oh Ok. So I was only using it for sockets which are fds.
<andreasdr>
Nice.
<andreasdr>
kqueue is very fine.
<PulkoMandy>
yes, if you use sockets only, it's fine, but if you also want to handle signals or timers it gets a bit tricky
<andreasdr>
I see.
<PulkoMandy>
well it works in Linux but you have to take care that everything is a file descriptor
<PulkoMandy>
in one case I remember, it would have been convenient to wait for, say, either a socket to have some message, or a pthread condition variable to notify the thread
<PulkoMandy>
I couldn't do that in Linux and I had to replace my condition variable with an eventfd
<x512[m]>
Making everything fd may be good decision because it avoid accessing to freed ids and more secure.
<x512[m]>
fd is not deleted even if referenced object is deleted.
<x512[m]>
Problem with access to freed ids can be also solved by some id reservation API so id will be not freed if it is reserved.
<Not-5726>
[haiku/website] pulkomandy pushed 1 commit to master [+0/-0/±1] https://git.io/JDXGV
<Not-5726>
[haiku/website] pulkomandy 6ce58b9 - Add a GSoC idea for epoll/kqueue implementation
gouchi has quit [Remote host closed the connection]
<nephele>
PulkoMandy: welp, i am trying apaache and that crashed in python2 code somewhere in "posixpath" .-.
<andreasdr>
PulkoMandy: Cool
<PulkoMandy>
work on webkit always goes in unexpected directions, right?
gouchi has joined #haiku
<nephele>
Ah, okay. it crashed because i've used tabs for intendations, obviously
<nephele>
...
<PulkoMandy>
well that's the python equivalent of writing an if with multiple statements in it and forgetting the braces
<nephele>
Now to figure out why it creates apache config with a non-existant directory as root "ServerRoot "/usr"
<PulkoMandy>
probably defined in port/base.py and needs to be overriden in port/haiku.py
<nephele>
ah, it picks LayoutTests/http/conf/apache2.2-httpd.conf i think. but there is also a darwin alternative, so maybe i can make a haiku one
<PulkoMandy>
(that's in Tools/Scripts/webkitpy)
<PulkoMandy>
there are apache_config_file_name_for_platform and path_to_apache_config_file methods there
<PulkoMandy>
apparently you can cheat by setting WEBKIT_HTTP_SERVER_CONF_PATH in environment variables too
<PulkoMandy>
(to the absolute path of your apache config file)
<nephele>
>
<nephele>
Apache has not been designed to serve pages while\n\trunning as root.
<nephele>
ffs
<nephele>
I'm taking a break
nullman has joined #haiku
jmairboeck has quit [Ping timeout: 480 seconds]
<andreasdr>
x512[m]: Any news about RADV? Just asking. If not then not :)
<nephele>
I would go mad if users asked me about progress every other day
<x512[m]>
Updated to latest Mesa version and managed it working. It added hard dependency on syncobj. Also fixed GPU page faults, HDP flush was needed when using GPU video output.
<andreasdr>
We are super curious all. Thats why we ask. We love that someone tackles 3D. Ill also spend money after I have written next invoice.
<nephele>
Maybe the apache port should create a httpd user so one is available always
<andreasdr>
Sorry If asking toooooo much.
<andreasdr>
x512[m]: Nice!!! So many stuff to do.
<nephele>
Why does apache still use pidfiles... uhhh
<x512[m]>
Another option exists?
<x512[m]>
Apache server is very old thing.
Cian has joined #haiku
<nephele>
x512: the problem is I want to upstream ftp patches to webkit, and they need tests written in python to verify the fix works
<nephele>
but the lighttpd support in webkit was not updated for python, it is still only for php and all php tests have been removed
<nephele>
the only other option is apache
<nephele>
so either lighthttpd in webkit needs to be fixed that python scripts work for cgi, or we need to use apache for our tests
<nephele>
So far, i didn't manage to make lighttpd behave :)
<nephele>
> text run at (0,0) width 404: "500 Internal Server Error"
<nephele>
ah yes
<nephele>
maybe this is not the expected result i should upstream....
andreasdr has quit [Remote host closed the connection]
<nekobot>
[haiku/haiku] 6a9aea9dfd5e - input: implemented B_GET_DEVICE_NAME ioctl on both usb and i2c input devices
MajorBiscuit has joined #haiku
<nephele>
Okay... the error my test hits is "env: ‘python3’: No such file or directory"
<nephele>
but, i have python3 installed and it's available under the name python3 :(
<nephele>
calling "env python3" directly does work
<nephele>
and so does calling env with the path to the python test, it executes correctly
Cian has quit [Ping timeout: 480 seconds]
zmarvel has joined #haiku
<nephele>
... now i can run other python tests, except mine, mine still crashes :(
MajorBiscuit has quit [Quit: WeeChat 3.3]
MajorBiscuit has joined #haiku
<PulkoMandy>
is your file unix line endings? we had a "fun" bug at work where if you try to execute a script that has windows line endings, it tries to find /bin/bash\r and fails. It tries to print "/bin/bash\r: command not found" but the \r erases the start of the line so you can't even see the full message (which isn't really helpful anyway)
<PulkoMandy>
not sure if haiku behaves the same for this
<PulkoMandy>
hopefully we get this better :>
<nephele>
only LF line endings in the file
<nephele>
And running python3 <file> seems to be correct? or maybe i am just not returning enough data or something
<nekobot>
[haiku/haiku] 65ed50c7139d - graphics/edid: Add support for digital display info; solves #17462
<PulkoMandy>
I think you need an extra newline after the content-type?
<PulkoMandy>
to separate headers and body in the html response
<nephele>
Heh, you are correct
<nephele>
now the test "failed" because it saved the 500 as expected :D
<nephele>
Okay, now i have a testcase
<nephele>
the -expected does not mention any color anywhere, maybe it is fine? we'll see i suppose
<PulkoMandy>
I think what may often change is the size of text (if different font/sizes are used)
<PulkoMandy>
which will change the size of rectangles
<nephele>
the -expected needs to be directly next to the test right?
xet7 has quit [Quit: Leaving]
<PulkoMandy>
yes
<nephele>
Although, i should probably edit the testcase first, so it sais something like "in order to pass this must be a directory"
<nephele>
Iirc the webkit tests want to be self-descriptive, which is pretty cool
<nephele>
(I've played around with some tests
<nephele>
, and one just said HELLO THERE)
<PulkoMandy>
yes,they don't always do a great job at this but it seems to be a good idea
MajorBiscuit has quit [Ping timeout: 480 seconds]
Cian has joined #haiku
AlwaysLivid has joined #haiku
<nephele>
>error: Source/WebCore/ChangeLog: patch does not apply
<nephele>
I don't suppose you have that patch in a git format without the changelog? .-.
<nephele>
I'd rather use the generate changelog tool, if possible, then it automatically puts the correct format for the test lines and such
<PulkoMandy>
I don't have anything from 2014 left, probably my BFS crashed 2 or 3 times since and I had to reinstall everything
<nephele>
Heh, then I guess I'll have to figure out how to git commit something and mark someone else as the author
<PulkoMandy>
git commit --set-author "someone"
<PulkoMandy>
where someone can be either a full "Firstname Lastname <email>" or just parts, if it's only parts, it will look in other commits in the repo to find a matching entry and use that
<PulkoMandy>
also works in git commit --amend
<PulkoMandy>
note that the original patch for this bug wasn't from me, I just made some rebasing and changelog fixes I think
<PulkoMandy>
so you may want to credit the initial author instead
<nephele>
oof... the prepare-changelof adds the "NO tests" line even with the test... now to figure out how to list the test properly
<PulkoMandy>
yes, you're supposed to edit that manually I think, it's just a simple way to check you forget nothing in the commit message
<PulkoMandy>
at least that's how I do it
<PulkoMandy>
maybe there's another script I don't know about to handle this
<nephele>
I'm deinstalling links2... it's not a nice tool to display diffs in the terminal with
<nephele>
okay, submitted... that took way longer than I wanted
<nephele>
but hey, small commits surely help to learn the webkit tooling
<PulkoMandy>
well, larger commits will also need the check-webkit-style. Get ready for complaints that your comments don't start with an upper case letter or don't end with a period, and other annoying things like that
<PulkoMandy>
(but if you contributed to Haiku, it shouldn't make so much of a difference)
<nephele>
Yeah, well it's their codebase
<nephele>
I think the benefits of an upstreamed port far outweigh having to deal with some nitpicking ;)
ClaudioM has joined #haiku
<nephele>
next i'd like to fix the control drawings, for the patch madmax published you had added comments about drawing space comparisons, as i understand it only updateRect is in a different space, should i try to copy the BAffineTransform from the passed rect to updateRect and then compare them? or how should that work
<PulkoMandy>
yes, and it's probably a good idea to get a code review on all our things
<nephele>
Absolutely, I reckon that some code will just have to be reworked before it can be included, but that is okay too :)
<PulkoMandy>
I don't remember what exaclty is needed in that patch, but I think it should be clear from all the comments
<nephele>
You added comments to all comparisons that compare to different spaces, that is easy to follow, i'm just not sure how i would make sure they are in the same space
<nephele>
I think it should be copying the transform, but then... i don't know whether the passed stuff might be scaled instead of transformed :g
<Not-5726>
[haikuports/haikuporter] korli pushed 1 commit to master [+0/-0/±1] https://git.io/JDXpE
<nephele>
PulkoMandy: I'm looking at the api and i honestly don't see how i should get any transformation info from a BRect, it doesn't seem to use BAffineTransform ever (and i don't know how it could? if its only a rectangle it can't express rotation?)
<nephele>
Does a BRect even remember that it is transformed or does it just alter its coordinates according to the transformation?
mmu_man has joined #haiku
<nephele>
Nope, they don't remember, it just applies it
Anarchos has joined #haiku
<Anarchos>
where can i find sample of code polling if a network connection is available ?
<x512[m]>
BRect is just `class BRect {float left, top, right, bottom;};` No other fields.
<nephele>
Ah, i think the transformation is passed with the BView
jmairboeck has joined #haiku
<nephele>
maybe i have to use this? from BBiew: BRect ConvertToScreen(BRect rect) const;
<x512[m]>
It will not work correctly if background change or some window will be displayed on top of menu.
jesse_blue has joined #haiku
<nephele>
yes, i am just amused
<x512[m]>
No button labels is also new design?
<nephele>
it answers my question though: i picked the wrong call ;)
<Anarchos>
strange, "pkgman search" show libepoxy_source, but "pkgman install" fails to find a match
<nephele>
PulkoMandy: the gtk builder failed my test :( "text run at (0,0) width 644: "The server encountered an internal error or misconfiguration and was unable to complete your request.""
<Anarchos>
nephele i am trying to build gtk+ :)
<nephele>
Anarchos: heh, but it is unrelated ;)
<nephele>
x512: at some point adding actual transparency to some stuff could be neat though
<nephele>
if used sparringly
<x512[m]>
Can be done with my VideoSteams compositor plan.
<andreasdr>
Nice
<x512[m]>
Note that transparent windows will consume much more memory. Not a good idea for older hardware.
<Anarchos>
why do source package not install ?
<nephele>
i don't see why you would need a compositor for that...
<nephele>
or any more memory for that matter
<x512[m]>
How you can implement semitransparent windows without compositing and additional buffer for each transparent buffer?
<x512[m]>
fix: buffer for each transparent window
<nephele>
I don't see why you would want to do that, it seems overengineered for a simple problem
<nephele>
we already have damage events, just trigger them for underlying windows and draw with with alpha channel
<x512[m]>
Suggest your simpler algorithm.
<nephele>
^
<x512[m]>
All windows are drawn in parallel in unspecified order. It is not possible to draw underling windows first.
Cian has quit [Ping timeout: 480 seconds]
<x512[m]>
If you lock drawing, you will have a chance of complete GUI freeze when underlying window is frozen.
<nephele>
But... we are already doing that
<nephele>
otherwise we wouldnt have any windows ontop
Cian has joined #haiku
<x512[m]>
No. Each window have visible region and all drawing are clipped with that region. Visible regions of any 2 windows never intersect. So windows can be updated in parallel keeping z-order without conflict.
<x512[m]>
Region (class BRegion) is a set of non-overlapping axis-aligned rectangles with integer coordinates.
<nephele>
I don't see why you wouldn't be able to change that before a redraw to enforce a drawing order
<nephele>
If a window is too slow to redraw it will already get problems with the mouse cursor now
<x512[m]>
It will break parallel window update and introduce a risk of whole GUI freeze.
<nephele>
x512: do you know how the updateRect has to be checked against for the controllook?
<nephele>
I don't see how this could ever cause a freeze
<x512[m]>
If you will wait underlying window drawing to complete, every window on top of it will also freeze.
<Begasus>
heading down for now, cu tomorrow peeps :)
Begasus has quit [Quit: Ik ga weg]
<nephele>
yes, but there is no need to wait imo
<andreasdr>
Bye Begasus
<x512[m]>
For now each window is independent and painted in own thread.
<nephele>
HaikuControllook has lots of these comparisons: "if (!rect.IsValid() || !rect.Intersects(updateRect))"
<x512[m]>
I am not sure that updateRect in BControlLook is needed at all. app_server can do the job.
<nephele>
I've tried to change that to !rect.Intersects(view->ConvertToScreen(updateRect))), but that broke my gui as you saw above :D
<x512[m]>
You probably need to convert BRect to BShape and then apply transform.
<nephele>
I think it is ment as an optimization to not pass on stuff to the app_server that wouldn't be rendered anyway
<nephele>
you mean transform updateRect?
<nephele>
i got that, but i don't know how it should be transoformed, should i copy the transformation from the BView?
<x512[m]>
rect or updateRect. Both variants are possible.
<x512[m]>
Yes, you should get affine transform from BView and apply it to BShape created from BRect.
<nephele>
Okay, I'll try that
<nephele>
hopefully it goes better this time around ;)
<x512[m]>
Not sure if BShape - BRect hit-test function already exists.
<x512[m]>
If is also possible to take bounding box of BShape and check intersection with it.
<nephele>
well, that is the Intersects call above, no? Although i don't know how rotation plays into that exactly
<nephele>
BRect can't be rotated, i suppose I could convert the other BRect to a BShape aswell
<x512[m]>
Above is BRect::Intersects. Not sure if BShape::Intersects already exists, I don't see it in BeBook.
<x512[m]>
Something should definitely exist in app_server code.
<nephele>
Wouldn't applying the translation alone be suficient? ... ah i guess for example webkit can draw rotated buttons... hmm
<x512[m]>
Scrolling is probably app_server problem.
<nephele>
i doubt it
<nephele>
with the controls it was clipping, and svg is translated to simpler drawing operations by webkit
bitigchi has joined #haiku
<nephele>
I mean it's possible, but it isn't where i'd start looking :)
Cian has quit [Ping timeout: 480 seconds]
Vidrep_64 has joined #haiku
hooway has joined #haiku
andreasdr has quit [Remote host closed the connection]
andreasdr has joined #haiku
MajorBiscuit has joined #haiku
andreasdr has quit [Quit: Vision[]: i've been blurred!]
<nephele>
Second try... apparently not making your test file executable means it can't be executed, who knew... :)
andreasdr has joined #haiku
Major_Biscuit has joined #haiku
HaikuUser has joined #haiku
HaikuUser has quit []
MajorBiscuit has quit [Ping timeout: 480 seconds]
jesse_blue has quit [Ping timeout: 480 seconds]
AlienSoldier has joined #haiku
<x512[m]>
I found and fixed critical bug in SADomains core request queue code. It caused RadeonGfx crashes. Code read exercise: can anybody notice what is wrong?
<x512[m]>
SA Domains (single-accessible domains) is automatic multi-threading lock and sequential execution management framework. There are domains of objects that no more then one thread can access at one time. If you want to access to object of another domain, you must perform domain request. There are 2 types of domain requests: synchronous and asynchronous. Synchronous request will block current thread until request become running. Asynchronous request
<x512[m]>
do not block thread and call specified callback in another domain when run.
<x512[m]>
Code above is called when request done execution. It takes and run next request from queue if any.
jesse_blue has joined #haiku
<andreasdr>
Ok
nabaiste^ has joined #haiku
<andreasdr>
Ah now I think I got it
<andreasdr>
:D
xet7 has joined #haiku
Vidrep_64 has quit [Quit: Vision[]: i've been blurred!]
xet7 has quit [Remote host closed the connection]
xet7 has joined #haiku
<x512[m]>
Original idea was to make new programming language with built-in SA Domains and to base language multithreading on it.
BrunoSpr has joined #haiku
<andreasdr>
Nice.
<andreasdr>
What happened to the idea.
<andreasdr>
?
<andreasdr>
... with ...
<x512[m]>
It was stopped some years ago. Language grammar design and parser were made.
x10z has joined #haiku
KapiX has joined #haiku
MajorBiscuit has joined #haiku
<nephele>
x512: i don't know what is wrong with your snippet, but i also have no idea what all your function calls do...
<Niklas[m]>
There is no history if you don't use a (usually self-hosted) bouncer that's always connected
<nephele>
That's just not correct
<x512[m]>
Matrix is such bouncer.
<nephele>
If matrix is a bouncer then it is a terrible one
<Niklas[m]>
The chathistory extension is a work in progress and I have never ever seen that implemented anywhere
x512 has quit []
<nephele>
well, it is implemented, not everywhere but it is
x10z__ has joined #haiku
<x512[m]>
Where? I see no history in OFTC Webchat.
x10z has quit [Ping timeout: 480 seconds]
kescher has joined #haiku
<Niklas[m]>
What about HexChat and Konversation?
<x512[m]>
No matching packages found.
<x512[m]>
pkgman search konversation
<x512[m]>
HexChat use evil GTK.
<Niklas[m]>
Qt applications look broken and don't support touch gestures with Enlightenment desktop so I must use GTK apps here :/
<x512[m]>
For Haiku I know no other way of running GTK application except X11 server with a root window or Broadway backend in web browser canvas.
<Niklas[m]>
Well,I didn't suggest you to try them,I wanted to know if they support history because that would be my clients of choice depending on which device I'm currently using
MajorBiscuit has quit [Quit: WeeChat 3.3]
<x512[m]>
Maybe waddlesphash BeXLib work can improve situation.
MajorBiscuit has joined #haiku
<nephele>
If anything one could implement the history extension in vision
<Niklas[m]>
I hope I'll never need to use GTK stuff on Haiku.
<nephele>
though I'd rather improve the irc support in Renga
x10z_ has quit [Ping timeout: 480 seconds]
<nephele[m]>
the stupid appservice user doesnt talk to me
DKnoto has quit [Quit: Leaving]
HaikuUser has joined #haiku
HaikuUser has quit []
x10z has joined #haiku
nephele[m] has left #haiku [#haiku]
bitigchi has quit [Ping timeout: 480 seconds]
x10z_ has joined #haiku
x10z__ has quit [Ping timeout: 480 seconds]
x10z has quit [Ping timeout: 480 seconds]
bitigchi has joined #haiku
<Not-5726>
[haikuports/haikuports] korli pushed 1 commit to master [+2/-2/±0] https://git.io/JD19Z
<Not-5726>
[haikuports/haikuports] korli 3050608 - nspr: bump version
<Not-5726>
[haikuports/haikuports] korli pushed 1 commit to master [+1/-1/±0] https://git.io/JD1Ht
<Not-5726>
[haikuports/haikuports] korli 36b4b41 - nspr: also rename patchset