<Regenaxer>
I dont need Safe, so I did the above comment (long time ago)
<Regenaxer>
Did not go through IRC because of /***
<Regenaxer>
it was
<Regenaxer>
/***
<Regenaxer>
if (!Safe) {
<Regenaxer>
...
<Regenaxer>
***/
<tankf33der>
ok
OmniMancer12 has joined #picolisp
OmniMancer12 has quit [Remote host closed the connection]
beneroth has joined #picolisp
<Nistur>
mornin'
<beneroth>
Hi Nistur
<Nistur>
helloo :)
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #picolisp
karasz0 has joined #picolisp
karasz0 has quit [K-Lined]
Rashad has joined #picolisp
Steve^18 has joined #picolisp
Rashad has quit [Remote host closed the connection]
h00t_ has joined #picolisp
h00t_ has quit [Remote host closed the connection]
Steve^18 has quit [Ping timeout: 244 seconds]
egilhh20 has joined #picolisp
egilhh20 has quit [Remote host closed the connection]
ubLIX has joined #picolisp
pierpal has joined #picolisp
pierpal has quit [Ping timeout: 252 seconds]
freeemint has joined #picolisp
freemint has quit [Ping timeout: 244 seconds]
orivej has quit [Ping timeout: 240 seconds]
freeemint has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
freemint has joined #picolisp
<freemint>
Hi Regenaxer i am currently building an disassembler / assembler for jcore. I've ran in to a problem of represenatation for Instructions:
<Regenaxer>
Hi freemint
<freemint>
These are 16 bit patterns which contain arguements.
<freemint>
Hi
<freemint>
Possible multiple arguements
<freemint>
f.e (1 0 1 1 N N N N M M M M 1 0 0 0)
<freemint>
or (1 1 0 1 i i i i i i i i d d d d)
<freemint>
i am unsure how to properly serialize them.
<Regenaxer>
No idea what that is
<Regenaxer>
f.e ?
<freemint>
These are words the CPU takes
<Regenaxer>
And I have never heard of jcore
<freemint>
the CPU i am working with (superH reimplementation)
<freemint>
The first form would take the NNNN register negate it and put in the mmmm register
<freemint>
the second writes 2x iiiiiii + PC into the nth register
<freemint>
when i am given (1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0) how can best match that against patterns like above. I also want to extract the value for N or I so i can possibly simulate the cpu
<beneroth>
(bit?)
pierpal has joined #picolisp
<Regenaxer>
'bit?' takes numbers. How about 'match'?
<Regenaxer>
or Pilog
<freemint>
Can i match a fixed length sub list?
<Regenaxer>
not directly, but you can check the length (or do sub-matches)
<Regenaxer>
If you have fixed-length fields, better cut the list first
<Regenaxer>
(let (A (cut 4 'Lst) B (cut 8 'Lst)) ...
<freemint>
Is cut destructive to the list?
<Regenaxer>
no
<freemint>
good that might work
<Regenaxer>
The *variable* Lst has the rest
<Regenaxer>
the list is not destroyed
<Regenaxer>
If you want to keep the list in Lst, do (let (C Lst A (cut 4 'C) B (cut 8 'C)) ...
<Regenaxer>
the parts are in A, B and C then
<freemint>
my approach current approach was to make a bit mask and multiply against that but i ran into trouble with N as a symbol since (<> (* 1 N) N) and (<> (* 0 N) 0)
<Regenaxer>
But, as beneroth said, working directly on binary numters might be good too
<freemint>
qoute N
<Regenaxer>
ie arithmetics
<freemint>
my point is you can not do math with symbol
<Regenaxer>
I don't get what N is here. A list of numbers?
<Regenaxer>
Why a symbol?
<freemint>
( <> (* 'N 1) 'N) (<> (* 'N 0) 0) because that is not how picolisp works
<freemint>
let's drop that aspect
<freemint>
you helped me thanks a lot
<Regenaxer>
hmm I wonder why does it need to be quoted but nevermind
<beneroth>
freemint, you can easily work with (&) and (>>) to do bit-wise parsing
<freemint>
beneroth all things are aligned to halfbytes: should i still work at bit level or at half-byte level then?
<aw->
+1 bitwise operations
<freemint>
list of 16 times (range 0 1) or list of 4 times (range 0 15)
<aw->
yes, it's faster
<aw->
you can do crazy things with bit operations
<aw->
less code
<aw->
more fast
orivej has joined #picolisp
<freemint>
aw- faster is not a constraint
<aw->
haha and that's how we end up with Electron
<freemint>
autsch
<aw->
hahaha
<freemint>
Is working at half byte size simpler?
<aw->
sure
<freemint>
I grab something to and think about that
<aw->
if you've never worked with bit operations, it's a bit weird at first but its power quickly surpasses the initial weirdness
<aw->
particularly if you're making a CPU arch, it's practically a **need to know**
<freemint>
i am not "making" one but i understand
<freemint>
i am just grabbing a low hanging fruit
<aw->
right
<aw->
"The first form would take the NNNN register negate it and put in the mmmm register" = negate can be done in one single bit operation
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<Regenaxer>
yes, 'x|'
freemint has quit [Ping timeout: 240 seconds]
<Regenaxer>
well, no, thats bitwise negation
<Regenaxer>
arithmetic is simply '-'
<aw->
yes i'm pretty sure he meant bitwise negation though
<Regenaxer>
depends what you need
<Regenaxer>
yeah
<aw->
i think freemint knows basic arithmetic lol
<Regenaxer>
haha, true
<aw->
haha
ubLIX has quit [Quit: ubLIX]
pierpal has quit [Read error: Connection reset by peer]
<beneroth>
what aw- said :)
freemint has joined #picolisp
<freemint>
'hey behaves strangely letter larger than "F"
<beneroth>
attached? or an old nokia? (I still miss the N900)
* grp
uses dvorak with custom combination keys for áéíóúüñ
<freemint>
Blackberry KEYone to qwertz keyboard for two finger typing
<freemint>
<beneroth>
ah, nice
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
freeemint has quit [Ping timeout: 252 seconds]
mtsd has joined #picolisp
<mtsd>
Hello everyone!
razzy` has quit [Ping timeout: 264 seconds]
pierpal has joined #picolisp
<grp>
aw-: so, could you tell me more about module.l?
mtsd has quit [Quit: Leaving]
<grp>
aw-: I've already implemented a library mechanism for nixos and it's working *very* smoothly
<grp>
but still, I'd like to know what's up with that module.l I've seen in a couple of your repos
<beneroth>
if I remember correctly, it was aw-'s attempt on making a package/module management system
<grp>
looks like it, but I'm unaware of it's status
<beneroth>
same
rob_w has quit [Quit: Leaving]
freemint has joined #picolisp
freemint has quit [Read error: Connection reset by peer]
freeemint has joined #picolisp
freemint has joined #picolisp
freeemint has quit [Ping timeout: 252 seconds]
<aw->
hi
<aw->
grp nanomsg was my first picolisp code btw
<aw->
regarding module.l, i have some scripts I use internally to get info on the various picolisp projects i work on.. open and closed source
<aw->
not really a package manager, more like an aggregator so i can quickly see the status of everything which has a module.l
<aw->
essentially, for anyone other than me, the module.l should technically be useless, however it is somewhat "stable" and you're free to use the same format for your projects
<grp>
I see. I was looking if there was some package management going on I could ride on top of to distribute libs in nixos. Since I found nothing at the moment and had to get stuff done, I wrote my own abstraction. It's working pretty nice atm
<grp>
well, I'll see if I can reuse it. For example, I could auto-generate .nix expressions from those module.l
<grp>
should be less cumbersome that way
<aw->
i annoyed beneroth multiple times about not creating "yet another package manager"
<grp>
and reasoning is?
<aw->
but i can see the benefit of having a middleware to convert libs into nix packages
<aw->
grp: npm
<grp>
node's?
<aw->
one would need to look at how npm works, and do the exact opposite
<grp>
oh, please elaborate if you don't mind, I haven't used npm
<aw->
no, i'd rather not
<aw->
i can tell you it's an abomination in terms of package managers
<grp>
let's leave it at that then. I'll check it out later
<aw->
yeah i think there's many good package managers out there
<aw->
so to piggy-back onto one of those is ideal IMO
<aw->
i'm not a fan of nix though ;)
<grp>
see, one thing nixos got right I think, is having closure-like package management, where anything can only see it's own dependencies, whatever version they are, so you could even use 2 libraries in the same binary, each using different versions of some other library/component
<grp>
for example, I packaged a picolisp lib that calls mysql, but when you load that lib, be it as a dependency or whatever, you don't get mysql in your PATH
<grp>
but the library's functions still work fine
<grp>
so you could have the library running mysql 5.5, then in your env you run mariadb or a later version of mysql
<grp>
and it's aaaaalllll right
<aw->
it's written in C++
<grp>
well it's not like I'll touch nix's sources...
<grp>
I write .nix files
<grp>
heck, apt is c++ too I think
<grp>
and you can't escape from it's filthy clutches: every web browser is C++
<grp>
and every now and then you stumble into some C++ software that's quite ubiquitous
<grp>
I know... I don't like C++ one bit either but what can I do about that?
<grp>
I could switch to GuixSD which runs on guile
<aw->
yeah
<grp>
but since it's FOSS-strict I'd have to do a lot of extra work to get stuff I get for free in nixos
<grp>
like zfs
<grp>
video drivers
freeemint has joined #picolisp
<aw->
what is your goal with nix and picolisp?
<grp>
ethernet firmwares
<grp>
etc
<aw->
making official nix package for picolisp?
<grp>
that's already done.. I mean, I updated the current one. Haven't opened a pull request yet, but I _did_ fix it
freemint has quit [Ping timeout: 272 seconds]
<grp>
my goal with nix+pil... well.. since I can't quite write to /nix/store manually nor any other sys path for that matter, I need to package any system script I make with pil using .nix expressions. Since many scripts deppend on tiny common libs/functions I've defined over the years, I need to package and be able to import them without much fuss
<grp>
on devuan, I was storing-them/loading-them-from /usr/local/lib/picolisp/
<grp>
on nixos... well... that's another beast entirely
<aw->
you can't just make a tar and extract that?
<beneroth>
no
<grp>
yeah, but the real problem is to let pil know where are them...
<beneroth>
not so simple
<beneroth>
:D
<grp>
indeed
<aw->
hmmm
<beneroth>
aw-, nix has its own full blown programming language to be used to write packages
<aw->
and they need to be read-only?
<aw->
beneroth: yes, that's what i dislike about it
<grp>
so I made a builder.nix for picolisp-modules and a nix.l with the mechanisms to load everything from the right library's /nix/store path
<aw->
cryptic clusterfuck language
<grp>
and it's working very nicely if I say so myself
<beneroth>
I looked at it. seems to work nice. but I categorized it under "too complicated, not simple enough, not portable/universal enough"
<aw->
beneroth: exactly
<grp>
well, having it be read-only is needed to *guarantee* systems replicability
<beneroth>
for the moment I have frozen my universal/picolisp package manager project. not killed, but pushed to later. I settled now with just implementing a subset of an universal package management, the subset I need for my software, see how it goes, and go from that.
<aw->
grp: i use squashfs files a lot lately for that exact purpose
<grp>
since you can't store anything in a significant location without going through nix expressions, whatever you do, you eval your .nix tree and you end with the same system 100% of the time
<grp>
you can rollback too
<aw->
beneroth: yep, that's what I did.. i really only wanted it for reporting on the state of my projects
<beneroth>
lisp curse. 80% solution. but thats the general problem with package managers anyway.
<aw->
yes i'm familiar with the nice properties of nix, and the /nix/store/crazylongsha256hash-packagename/paths as well
<beneroth>
I looked at many package managers. I should do a write-up eventually. best so far I found is (imho) still debian apt, which is an archive of some meta-data and another archive inside it with the compressed content.
<beneroth>
aw-, haha nice :D
<aw->
would have been so much more brilliant to have packagename-sha256hash instead of sha256hash-packagename
<beneroth>
xD
orivej has quit [Ping timeout: 244 seconds]
<beneroth>
T
<grp>
aw-: I had the exact same qualm
<grp>
but
<grp>
once I started complaining, I got pointed to the motivation behind it
<grp>
and it's not too far off the mark
<beneroth>
for the moment I will try out "plio-header + tgz" container format to distribute my updates.
<beneroth>
no productive insights yet.
<aw->
grp i'm curious
* grp
is looking for the link
<aw->
i'm sure anyone can write a logical justification for any bad idea
<beneroth>
:D
<aw->
beneroth: interesting with plio
<aw->
i use squashfs and xdelta
<aw->
best combination
<aw->
xdelta for binary diffs of multiple squashfs files
<aw->
super quick to merge all into one, the file rather than extract (also super quick), read-only
<beneroth>
people will always find justifications for everything. because everyone believes to be the good guy, and if something doesn't fit that image, than justification will gets created to make the stuff fitting.
<aw->
mount* the file rather than extract
<beneroth>
nice setup aw-
<beneroth>
yeah I keep the metadata in plio, as I want to consume it (so far) only with picolisp programs, so thats pretty neat. quick to read. I found its no use to compress the metadata itself, even when it might contain a longer descriptive text or so.
<aw->
how do you add the metadata to the top of the file?
<aw->
or, do you merge the outputs before creating the final file?
<beneroth>
I pack the tgz in (tmp), write the metadata, then echo the tgz into it
<aw->
interesting..
<beneroth>
so its basically the same as $cat metadata tgz > package
<aw->
doesn't that break the MAGIC info in the file though?
<aw->
or do you write that as well?
<beneroth>
well the resulting file is only intended to be read/unpacked by my software (who consumes it as an update package)
<beneroth>
so for 'file' its just another binary file
<aw->
right
<aw->
you use a fixed size header?
<beneroth>
no, arbitrary size, as different packages my contain different meta-data attributes (some are mandatory, but most are optional/circumstantial)
<aw->
padded with zeros or something? i mean.. how to know where the header ends and the package starts?
<beneroth>
first comes some fixed values (plio), then arbitrary key=values (plio), then one NIL symbol to mark the end of the header :)
<beneroth>
then the raw tgz
<beneroth>
dunno how wise the whole setup is, I will try out
<aw->
i would use a fixed header size instead
<beneroth>
didn't used it largely yet, busy with other projects, but there are two projects where I want to share code and updates between multiple apps using that system
<aw->
your approach is similar to IPv6, and we all know how stupid that was
<beneroth>
fixed header has advantages, but introduces limits
<beneroth>
oh, didn't know actually
<aw->
yes correct
<aw->
limits can be good
<aw->
IPv6 has arbitrary length header size, so you can't know where the headers end and where the payload begins, without parsing the headers
<aw->
"to provide more flexibility"
<beneroth>
ah
<beneroth>
yes, same here. also because I didn't want to waste space with padding
<beneroth>
IPv6 is considered stupid? tell me more. Only thing I know about it, is that the big providers don't adapt it because it's expensive (naturally) to change their infrastructure and the others providers didn't yet (first mover is a loser, kinda)
<beneroth>
ok
orivej has joined #picolisp
<aw->
but that's a huge tradeoff for devices which need to analyze the payload quickly without care for the headers.. usually middle boxes like firewalls, packet sniffers, analyzers etc
<aw->
no no, IPv6 is not stupid, but it wasn't well designed
<aw->
the fact that it's not backwards compatible with IPv4 is the biggest issue with it. That's why providers are slow to adopt. It breaks everything.
<beneroth>
in my case, the metadata are more often read and used then the package content, so I think that is not such a big drawback. But thanks for the thinking point.
<beneroth>
yeah its a complete separate internet.
<beneroth>
similar problem with TCP upgrade (well there at least it is tried to not break compatibility, but that is very very hard, no good solutions yet afaik)
<aw->
and instead of providing a newer protocol which is backwards compat, they tried a dozen different "hacks" as temporary solutions to help "smooth the transition" ugh
<beneroth>
oh
<beneroth>
verschlimmbessern
<beneroth>
"make it worse by trying to improve it"
<aw->
nice
<beneroth>
one of the nice german words which cannot be translated :)(
<aw->
beneroth: you can use arbitrary sized header
<aw->
perhaps i can suggest adding the header size in the header itself ?
<aw->
you decide if the size is part of the size lolll
<beneroth>
my packages can offer different "hooks" (or actions), e.g. check if this can be installed, install it, remove it, check if this can be upgraded, upgrade it, downgrade it, ...
<beneroth>
for now, those are properties in the metadata, each with a filename (one of the files in the content part) to be executed for that action
<aw->
oh I forgot to mention, the **real** issue of the IPv6 header parsing to get to the payload is that each header tells you if there's another header after it.. so you have to traverse a list to get to the final one. There's no place that says "this entire header is X size".
<aw->
madness
<beneroth>
so the metadata can be smaller or bigger, depending on how many "actions" this package offers.
<beneroth>
I see
<aw->
beneroth: interesting, would love to see that code ;)
<beneroth>
good suggestion
<aw->
traverse a *linked list
<beneroth>
I can see how it makes sense for IPv6 at least to have the header size in the header
<beneroth>
Inlined PDF does it that way. has an offset in the top of the header for where the content begins, so a parser can start to parse and render the file before it is completely downloaded
<aw->
they can't because the packet size had to align to 32-bit boundaries, no space left in the design. Haha
<beneroth>
IPv6: on the other hand, what are good reasons to have to do deep package inspection? net neutrality et al?
<aw->
beneroth: netflow, anti-ddos..
<aw->
many internal networks have these types of devices sitting between public internet and internal
<aw->
packet inspection firewalls
<beneroth>
yeah, I know. I'm just not sure if this is really meaningful, or more about "keep our asses covered, when something happens, we can list all the things we did to prevent it, even when it didn't helped"
<aw->
no i don't think it's like that
<aw->
for an ISP, anti-ddos is a must
<beneroth>
I don't have enough in-depth knowledge to judge really
<aw->
but if you're only analyzing packet headers then it's often not sufficient
<beneroth>
yes. but isn't DDOS pretty visible on the header... stop, no it isn't. DOS is maybe, but not DDOS. I see. ok.
<beneroth>
yeah I see
<aw->
perhaps 20 years ago
<beneroth>
well maybe the infrastructure would be less prone to DDOS when there wouldn't be so manye package inspections and slow bloated programs :P
<aw->
but now you can get a DDoS from 50,000 remote hosts at the same time as legit traffic from 50,000 remote hosts.. how do you know which ones to block?
<beneroth>
I need to do a call now. please continue to enlighten me, if you like
<beneroth>
bbl
<aw->
beneroth: ahahhaha causality
<aw->
sleep for me, g;nite
<beneroth>
ok, good nite :)
<beneroth>
always a joy talking with you :)
<aw->
likewise
freeemint has quit [Read error: Connection reset by peer]
freemint has joined #picolisp
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
freeemint_ has joined #picolisp
freeemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
freeemint_ has quit [Ping timeout: 252 seconds]
freeemint_ has joined #picolisp
freemint has quit [Ping timeout: 250 seconds]
freemint has joined #picolisp
freeemint has joined #picolisp
freeemint_ has quit [Ping timeout: 246 seconds]
freemint has quit [Ping timeout: 252 seconds]
ubLIX has joined #picolisp
freeemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
libertas has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 250 seconds]
computerquip18 has joined #picolisp
freeemint has joined #picolisp
freemint has quit [Ping timeout: 250 seconds]
computerquip18 has quit [Remote host closed the connection]
freemint has joined #picolisp
freeemint has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
maczal25 has joined #picolisp
freeemint has joined #picolisp
freeemint_ has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
maczal25 has quit [Remote host closed the connection]
freeemint has quit [Ping timeout: 252 seconds]
aw- has quit [Ping timeout: 245 seconds]
freeemint_ has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
libertas has joined #picolisp
aw- has joined #picolisp
Aebian4 has joined #picolisp
libertas has quit [Ping timeout: 252 seconds]
Aebian4 has quit [Remote host closed the connection]
ito5 has joined #picolisp
ito5 has quit [Remote host closed the connection]
<Regenaxer>
razzy` has joined #picolisp
libertas has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
justaguy25 has joined #picolisp
justaguy25 has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 250 seconds]
grp has quit [Quit: box shutting down...]
SOO726 has joined #picolisp
SOO726 has quit [Remote host closed the connection]
<freemint>
well the moment there are more people valuing inclusiveness taht people valuing directness the thing will turn
<beneroth>
well for one thing: is it inclusiveness when it operates with censoring and banning?
<freemint>
is it direct when you have to go trough so many hoops to speak </end Devils advocate>
cobax has quit [Ping timeout: 250 seconds]
<freemint>
it is not that simple:
<beneroth>
the other thing is this: IT became a really good job, and nerd/hacker partly a fashion thing, so many new people are coming into the community who don't realize that it has rules and wants to "help this backward people" (e.g. high respect for others people time, complete ignorance of origin/skin color/nation/religion - "on the internet nobody knows you are a dog", ...)
<beneroth>
exactly, that is the biggest fault of the pc/sjw-movement, they handle the topics to simplistic and blunt
<freemint>
The thing is there is no mechanism in hacker community to isolate themselves from other communities.
<beneroth>
not anymore
<beneroth>
and that feels many hackers threatened
<beneroth>
they feel invaded
<freemint>
do you claim their is an mechanism?
<freemint>
feeling invaded is not a mechanism.
<beneroth>
no, it is an emotion
<freemint>
It is the result of not having a wall.
<freemint>
what mechanism in the open source community do you see?
<beneroth>
I can't think really of an mechanism, short of discordian look-silly-from-outside-but-being-serious self-selection filters (which work but produce a lot false positives on first sight)
<beneroth>
I agree with the argument that 10+ years ago most people in the IT/hacker community were of the "weirdo"-type, but now the jobs got highly more attractive and seeming nerdy somewhat fashionable that this wall is not there anymore
<freemint>
My diagnosis about the situation is: The open source community held "openness" to a higher value than the mechanisms necessary to find the correct balance between openness and closedness
razzy` has quit [Ping timeout: 252 seconds]
<beneroth>
good observation.
<freemint>
it enshrined "openness" in contacts (GPL, and other licenses) and did not ensure that the responsibility to maintain other people's openness is a burden to anybody
<beneroth>
but our type of people will not really fight with those weapons. no interest in excluding others, too much (social) work. just retreat deeper.
<freemint>
The GPL was a super force for pushing outward against a proprietary world. But all communities which had mechanisms dampening there growth were selected against. And now that Linux has eaten world it beginns to overstretch and might collaps from the insight
<freemint>
<\diagnosis> @all sorre for the XML
<beneroth>
GPL (free software, not open source! MIT is open source!) is just a subgroup within this community
<freemint>
I know but it easy so label a group by those who shout the loudest
<beneroth>
I don't believe Linux is overstretched. but it got popular and apparently its popular now to participate in the project. so much that people mandate that people might participate to improve their social status (as minorities)
<beneroth>
joke is, Linus never ignored a proposal when it was good concept and well implemented, at least never because of the background of the person who committed it.
<freemint>
Let me define overstretched: Linux is overstretched when it is filled with so much bloat that valuable people escape where they can or fall through the cracks.
<freemint>
I think Linux beginns to be overstretched
<beneroth>
and the point that Linux is so widely used is even more an argument to be very strict on the code acceptance front - you don't want to have bad code in your car, medical device, infrastructure control just because the creator of that code felt bad when theirs code would not be accepted
<beneroth>
people thinking Linux is too big is not a new thing, the BSD guys cater to this crowd.
<beneroth>
nothing to do with the pc/CoC thing
<freemint>
beneroth but there comes the of the (unmanaged) Commons. Things are allowed to get worse when they are used by more people
<beneroth>
used by more people?
<freemint>
Or in other words if you want something stellar: look for a small community
<beneroth>
its not about use, its about creators
<beneroth>
everyone should use linux, no one has a problem with that
<freemint>
If more people are using it, it can get worse at the same speed as the network effect and most people won't notice.
<beneroth>
the problem is with people wanting to work on linux, and push their rules on that community
<freemint>
The problem lies deeper
<beneroth>
software doesn't change when it is used more broadly
<beneroth>
software goes almost always bad eventually when too many people work on it (design by committee problem)
<freemint>
I thing you stuck in a quiet American view of the problem
<freemint>
i've seen stellar, bold things designed by a committee
<beneroth>
example?
<beneroth>
didn't know the "design by committee" is an american view... ?
<freemint>
"design by committee problem" is american
<beneroth>
how so?
<freemint>
in my opinion, I think it is more than a hunch but the only backing I got are anecdotes
<beneroth>
only tech which is currently designed by committee and which is working more or less is C++, and that is a big broad mess (still not as bad as web dev, but still)
<freemint>
the kernel I port was designed by comittee
<beneroth>
was it really? how big was this committee?
<freemint>
they had an really brilliant infrastructure planned around it the 1980s and 90s but I sadly never came trough due to political pressure from the US.
<freemint>
Yes it was. I can ask but the round trip time is about two weeks for such a question
<beneroth>
unix. C. Lisp. C++ in the beginning. C#. DOS. the world wide web. Java. Pascal. Ruby. Python. (heck, kinda all programming languages, even PHP and JS initially, are/were designed by one or only very few people)
<beneroth>
object oriented programming.
<beneroth>
relational databases.
<beneroth>
Graphical UI, keyboard, mouse
<beneroth>
I like to here some counter examples.
<freemint>
I will try to collect some but it is not an priority for me right now
<freemint>
I will also check those listed.
<beneroth>
Wikipedia. Sure, it only became what it is because countless people participated. but the initial concept and function was created by two people (which got it from c2 Wiki, again a very very small initial group)
orivej has joined #picolisp
programmerq11 has joined #picolisp
<beneroth>
Wikipedia is surely now governed by committees. I would say committees are a better guarantee for stability, but a benevolent dictator is a better guarantee for quality.
<freemint>
XMPP?
<beneroth>
just look at the german wikipedia (I rarely ever use it, because their arrogant moderators delete so much content all the time)
programmerq11 has quit [Remote host closed the connection]
<beneroth>
the observation that, because of a committee structure, quality becomes worse and complexity increases because every political fraction in the committee wants to have their pet projects included
<beneroth>
well that is the common understanding of that term
<beneroth>
but yeah, you brought me to a nice insight
<beneroth>
the core issue with design by committee is overly inclusiveness
<freemint>
it is understood that way in America
<freemint>
ask Japanese people about design by committe and they will sing other tones
<beneroth>
ok, lets ask aw- :)
<beneroth>
do you count Regenaxer as German or Japanese? surely not american, yeah?
<beneroth>
:)
<beneroth>
this has nothing to do with US individualism
<beneroth>
in German the exact same pattern has a saying: "Zuviele Köche verderben den Brei"
<freemint>
What would be the problem by using a committee for designing if there would be a unifying vision, and that vision would be known to the comittee members, and accepted by them ?
<beneroth>
its about that. you can't make radical decisions as a bigger group, decision processes including a bigger group result in compromises
<freemint>
Regenaxer is German
<beneroth>
in some areas this is highly desirable - e.g. social/politics, hence democracy
<beneroth>
but when the goal is safe/secure/maintainable/efficient/effective software then compromises are usually a bad thing
<freemint>
beneroth committees can also back radical ideas, and then all hell breaks lose
<beneroth>
yes, but then the radical idea was usually not designed by the committee
ubLIX has quit [Quit: ubLIX]
<beneroth>
then its just a mob following some leader
<beneroth>
personal cult is bad. also a pretty common rule in hacker community, though we have our celebrities
<beneroth>
context matters.
<freemint>
you view the idea as more pathological than I think you should but that is my opinion
<beneroth>
also opinion/views/tools/methods/whatever should not be judged by their origin (american whatever) but by their merits
<beneroth>
that borders on an insult. maybe ask yourself how I came to this views?
<freemint>
oh my God that is longer story than I am willing to have
<beneroth>
haha true
<beneroth>
but I guess you don't have this views because you never had them, not because you had them and find some better insight, or did you? :)
<freemint>
can you rephrase
<freemint>
I do not understand
<beneroth>
did you once hold similar views and then changed them?
<beneroth>
or did you never had a similar view?
<beneroth>
I dislike design by committee for technical things because of experience, both observation/hearsay and personal experience
nonlinear has joined #picolisp
<beneroth>
good freemint :)
<beneroth>
thanks for talking
<freemint>
I hold the design by committee is bad view in the past. But it was mostly "holding opinion you read online" . A came across a series of stellar products which seem to identify more with the committe than the lead designer.
<freemint>
This suggested to me that there is a sweet spot which can be reached under some circumstances which seemed more preferable than what I was in open source.
orivej has quit [Ping timeout: 240 seconds]
<freemint>
I adopted the opinion that these is more to it than committe is bad. But I did not have the chance to test my hypothesis
<beneroth>
open source has quite some projects designed by committee. open source is very broad, you can't say something about the whole spectrum so easily beside the open source definition.
<beneroth>
and its not about absolutes, but general trends.
<freemint>
what word would have been right then?
<beneroth>
I don't know, as I don't know what you mean. maybe the Linux project in particular? or
<beneroth>
maybe HTML 5 is a good example for mostly positive design by committee.
<freemint>
beneroth if most samples are in one region general trends become useless as soon as the true dis non linear
<freemint>
trend is non linear
<freemint>
beneroth I might have a chance to ask the stellar designer and his answers might change my view
<freemint>
this seems like the best approach
<beneroth>
is "stellar" a project/product name, or an adjective about the designer in that sentence?
<freemint>
the designer and the project were both stellar
<freemint>
beneroth you read German right?
<freemint>
*, don't you?
<beneroth>
yes, i'm from the german-speaking part of Switzerland.
<beneroth>
I'm still confused if you use stellar as an adjective or a name
<freemint>
adjective
<beneroth>
ah ok. thx.
<freemint>
beneroth can you write me an email
<freemint>
I want to sent you my information on the project which birthed the kernel I am working with
<beneroth>
sure, send it to andreas@itship.ch
<beneroth>
is their no public info for this FOSS project available? I'm sure the others here would also be interested :)
<freemint>
it is not really FOSS. Most things are quiet burried in papers and even more interesting stuff is in Japanese
<beneroth>
sounds like something Regenaxer and aw- might be interested in, if they had time for it.
<freemint>
If I thought that I would have shared it
<beneroth>
just drop a few links, if you have some :)
<beneroth>
people can then decide for themselves to click on it or not
<freemint>
Much of the stuff in there is obvious today but was anything but in in the 1980s