Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2013-11-14

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:26 Will_the_Chill joined #perl11
00:49 mirjam joined #perl11
00:56 stevan joined #perl11
01:17 mirjam joined #perl11
03:22 mirjam joined #perl11
03:43 stevan joined #perl11
04:23 mirjam joined #perl11
04:55 bulk88 Will_the_Chill, I found out I have a VC 2010 command line only already installed (MS distributes "Windows SDKs" which are GUI-less/text only C compiler+headers+libs, its a very trimmed down "Visual Studio"), _Hash_compare exists in xhash header, so I can continue, not sure when I'll have time to run any code tho (its not right now)
05:53 mirjam joined #perl11
06:30 Will_the_Chill bulk88: AWESOME!  :D
06:42 mirjam joined #perl11
06:43 mirjam left #perl11
08:32 bulk88 Will_the_Chill, about yesterday, I mentioned github's merge makes merge commits, and never "fast forwards" outsider contributions, https://github.com/blog/843-the-merge-button  "The merge always generates a merge commit (git merge --no-ff), which contains the number, source and title of the pull request:" I prefer fast forwards, so I dont like github
08:32 bulk88 in that aspect
08:33 Will_the_Chill and what does fast forward mean again?
08:46 bulk88 fast forward means, in the git timeline (IIRC"log"), if the source branch has had no commits since the forked branch was created, the comits of the forked branch can be played onto the source branch, as if the forked brnach never existed, the SHA1s of the forked branch will be identical to the SHA1s on the source branch
08:47 bulk88 and the forked branch never occured, the log looks like the all the new commits were done in the source branch from the begining of hte new commits exitence, but they werent in real life
08:48 Will_the_Chill okay
08:48 Will_the_Chill so it is a way of combining a forked branch back into the un-modified original branch, and then erasing all traces that there was a fork at all?
08:49 Will_the_Chill *it is being "fast forward"
08:49 bulk88 rebase, which I dont know how to do
08:49 bulk88 yes, that is a fast forward, if you choose to do a FF merge and not a non-FF merge
08:49 Will_the_Chill okay, and what does the non-FF merge do?  (sorry I'm so ignorant!)
08:50 bulk88 rebase will rewrite history (or create new history if nobody sees the old history/saved the old history somewhere), and flaten interleving work by time into 1 straigh line
08:51 Will_the_Chill I don't understand how rebase is different than fast forward, they sound the same to me?
08:52 bulk88 non-FF will show a fork, then parallel development (it might be possible 1 branch, usually the source branch, will have "no development" on it, no commits), then a "merge commit" which says the tree of 2 branches now folds back into 2, here is 1 SHA1 from one leg, and another SHA1 from the other leg
08:52 Will_the_Chill okay so a non-FF keeps history.  so is rebase a 3rd different thing, or is rebase the same as non-FF merge?
08:53 bulk88 https://github.com/bulk88/perl5-win32-api/network this module is screaming for a rebase, 3 branches, each over a different period of time, and zero  work in the parent branch
08:54 bulk88 but I can't rebase it since someone else already did merge commits instead of rebase
08:54 bulk88 a FF merge guarentees the SHA1s in the child branch will appear in the parent branch
08:55 Will_the_Chill so how does one go about fixing projects that get out of whack like that?
08:55 Will_the_Chill and also, how does one avoid letting one's own git project get out of whack?
08:55 bulk88 a rebase guarentees the all the SHA1s, of the commits shared by title and diff body, in the child branch and parent branch, will be different
08:56 Will_the_Chill and why is it important to keep all the SHA1s different?
08:56 bulk88 the crypto security says each commit, without exception, can be traced to a genesis commit (first commit ever)
08:56 Will_the_Chill okay
08:58 bulk88 what rebase does is flatten the branch into the parent branches history even if parent branch has had new commits since the child branch was forked
08:58 bulk88 the commits of the child branch and parent branch are interleved by date
08:58 bulk88 into a solid non diverging line
09:00 bulk88 but because the child commit is now hanging off a parent branch commit done after the fork, the child commit in parent branch will have a different SHA1, since it has a different parrent commit now (from the parrent branch,) instead of having a child brnach commit as a parrent
09:00 bulk88 "<Will_the_Chill> and why is it important to keep all the SHA1s different?" I dont understand
09:00 Will_the_Chill I barely understand as well.  :)
09:02 bulk88 "<Will_the_Chill> so how does one go about fixing projects that get out of whack like that?" you can rewrite history, or mail a box of dog poop to whoever did merges instead of rebase or FF, but warning, if you rewrite history, someone might mail dog poop to you since "your commits" in his repo, aren't "from you" anymore
09:03 Will_the_Chill *raises eyebrows*  okay then
09:06 bulk88 some people require (want) crypto security in their repos, it means the SHA1s in their repo can be found in the project owner's repo, if the sha1s can't be found, and you take intelligence agency backdoors very seriously, there is now a problem
09:06 Will_the_Chill oh okay
09:06 Will_the_Chill well then I definitely want security
09:07 Will_the_Chill so how do we avoid letting RPerl's git become unsecure?
09:07 bulk88 did you, the forker, use rebase and change commits or make up new ones in the name of the project owner (author line can easily be faked) to sound legit, or did the project owner rewrite history, then do a force push, and wipe the git history in your repo out of his repo?
09:07 bulk88 but the git history in your repo came from his repo originally
09:07 bulk88 now nobody belives you
09:08 bulk88 " <Will_the_Chill> so how do we avoid letting RPerl's git become unsecure?" closed source software compiled to machine code with an iron clad notirized license
09:11 bulk88 its not something you need to worry about, some orgs have a policy that their code is GPLed, but they NEVER take contributions, all commits/changes are staff coders
09:12 bulk88 mysql is one of those I think
09:14 Will_the_Chill well what I was saying is, which commit/merge methodologies are correct to keep the security crypto in tact?
09:15 bulk88 that policy also means, that the corp owns 100% copyright of the GPLed software, and can proprietarize/close source it to select customers, if you accept contributions, your software has multiple "owners" now,, and to switch license of the project as a whole requries legal consent from ever contributor ever
09:15 bulk88 *every contributor ever
09:15 Will_the_Chill right
09:16 Will_the_Chill is it possible for me to keep RPerl GPL and also at the same time for me to own 100% of the copyright?
09:16 bulk88 "well what I was saying is, which commit/merge methodologies are correct to keep the security crypto in tact?" knowing what you are doing, and asking yourself, would I have coded it the same way? that is what I use, but this is a hobby for me
09:17 bulk88 yes, you can then sell binary builds with special features under $ contract to some customers, your GPLed software is now shareware
09:19 Will_the_Chill so all of RPerl has been written by me so far.  in order to keep 100% copyright ownership, does that mean that I must require all RPerl contributors to sign over their work-for-hire?
09:19 Will_the_Chill and what about open source programmer people?
09:19 Will_the_Chill I want RPerl-at-large to remain GPL forever, and I also want copyright control
09:20 bulk88 xfree86 died since they went semi-proprietary, so did https://en.wikipedia.org/wiki/Cedega_%28software%29
09:20 bulk88 then you hire staff programmers and 100% of the work is done by employees, you then own the copyright and can change the license at will, but, remember, under GPL, you can get forked, and if there is enough community, you fade into history
09:21 bulk88 I am ssuming you are talking about RPerl'
09:21 bulk88 s code, not the RPerl trademark
09:21 Will_the_Chill yes, I am currently talking about RPerl's code copyright
09:22 Will_the_Chill and yes I want the GPL community to be able to fork the source code as protection against crooked business partners who could try to close-source RPerl.
09:26 bulk88 I sorta see what your talking about, whatever owns RPerl, declared bankruptcy, creditor buys it in backruptcy court, then buries the code/technology never to acknowledge its existence to the public again
09:26 bulk88 so you want a poison pill, that RPerl is commercial, but its users can't be pulled around once they install it/download it
09:27 bulk88 and if the owner of RPerl is liquidated, the community can contiue its development
09:27 Will_the_Chill I had a company, I created good software, some crooked business partners stole the software and now I don't have my own code any more.
09:27 bulk88 I'm not a lawyer, I cant tell you want license you want (BSD/GPL/etc)
09:27 Will_the_Chill I want GPL
09:27 Will_the_Chill if my original code was GPL I'd still have it now
09:28 Will_the_Chill so all of RPerl must be GPL (& Artistic) copyright to me
09:28 bulk88 do you want the right to close source it?
09:28 bulk88 (last I heard, Perl Artistic allows closed sourcing, but ask someone else)
09:28 Will_the_Chill I want 100% control over my own software, and also protection for myself and the community in case crooked people happen again
09:29 Will_the_Chill so maybe mysql is a good example according to what you said before
09:29 bulk88 "I want 100% control over my own software," means switch license at will?
09:29 Will_the_Chill sure, switch whatever at will
09:29 Will_the_Chill switch license, code, name, ownership, anything
09:29 Will_the_Chill like "it is my property"
09:29 bulk88 then you can't accept utside contributions without paperwork, since they need to transfer copyright to you
09:30 Will_the_Chill well then I need paperwork I guess!
09:30 Will_the_Chill I'm happy to write in the paperwork that the code will always stay GPL
09:30 bulk88 its not really an open source project then ;)
09:30 Will_the_Chill (when I say GPL I really mean Perl license GPL+Artistic)
09:30 Will_the_Chill it _is_ FOSS as long as I keep the Perl license forever
09:30 bulk88 no, you can't write that in the paperwork, then you dont have 100% control
09:31 Will_the_Chill it is 100% totally FOSS forever
09:31 Will_the_Chill okay, you're right, what I should've said is that all code will be released under the Perl license
09:32 Will_the_Chill if I want to take the SAME code and release it under a different name/license/whatever then that's fine, as long all code is ALSO released under Perl license
09:32 Will_the_Chill so again, maximum control for me, maximum protection for the community
09:32 Will_the_Chill and maximum protection for me against crooked business people
09:32 bulk88 I'm not sure you can have it that way
09:32 Will_the_Chill I want my cake, and I want to eat it, too!
09:32 bulk88 will RPerl have 1 owner, or multiple owners legally?
09:32 Will_the_Chill 1 owner, me.
09:33 bulk88 then you can't promise your contributors it will stay FOSS
09:33 Will_the_Chill but if I want to give RPerl to my legal heirs or whatever then I must be able to do so.
09:33 Will_the_Chill I can promise it will stay FOSS by writing in my will that my heirs must accept the always-release-as-FOSS clause
09:34 Will_the_Chill or else they don't get ownership and it just gets turned over to public ownership
09:34 Will_the_Chill and since I'm contractually bound myself to release all code as FOSS then we're good
09:34 Will_the_Chill so there is never any code that comes from an open source community programmer which does not get FOSS released
09:36 bulk88 " I can promise it will stay FOSS by writing in my will that my heirs must accept the always-release-as-FOSS clause" probably unenforceable in court
09:36 Will_the_Chill no way, you can put all kinds of requirements upon your heirs & assigns.
09:37 Will_the_Chill they have to do 100 swimming laps before they can take ownership, etc.
09:37 bulk88 and they are reguarly invalidated in probate court
09:37 bulk88 your dead, your executor isn't paid enough to care that much
09:37 Will_the_Chill well if that is true then I'll either make a FOSS RPerl foundation or just have it released to public domain upon my death.
09:39 Will_the_Chill the point is to give back to the community without letting go of the reigns.
09:42 bulk88 I think the important question is, do you want to sell consulting/contracts/support and do you want to see closed source bonus features? GPL allows the 1st, but the carrot to pay is much further away for a customer, the 2nd the carrot is much closer, but artistic allows you to close source it, add features, distribute the binary
09:42 bulk88 it should be obvious you dont accept contributions you dont agree with (new features, crap code, etc)
09:43 Will_the_Chill I would like to make money, I have been working on RPerl with no paying job for a while now.
09:43 Will_the_Chill being totally broke makes coding less easy.
09:44 Will_the_Chill :)
09:44 bulk88 I cant tell you want business model to use, only the business models I've read about
09:44 Will_the_Chill thus I am working on my Kickstarter campaign now instead of just writing code.
09:44 bulk88 -want +what
09:44 Will_the_Chill a non-evil yet profitable business model!
09:45 Will_the_Chill make money from FOSS!
09:45 Will_the_Chill be good and be rich at the same time, haha!
09:48 bulk88 the way you make money from FOSS is for it to not really be FOSS, but fake FOSS, run your code through comment strippers before you publish it, randomly leave out modules that make the whole package unrunnable, or make the commercial experiance unreproducable, default settings files where every single default is wrong, the good default settings files only come with a support contract
09:49 Will_the_Chill boooo I said NON-evil
09:53 bulk88 one trick is, claim you had to remove a 3rd party C module, in the FOSS code, you write f1(), f2(), f223(), etc, you have a .h that defines those functions to the names in the C library you don't want to release, it will take atleast a month for someone to RE what those function calls did
09:54 bulk88 the .h that maps f1() to a real function is proprietary, now your FOSS code is uncompileable, its only use is for debugging/stepping
09:54 Will_the_Chill is that called a shim?
09:54 bulk88 yes, but I call that a scam
09:54 Will_the_Chill HAHAHA!  good done!
09:55 Will_the_Chill *good one
09:55 Will_the_Chill :P
09:58 bulk88 so what happens is, the C level boss says lets use Technology A, it is open source with a huge community and userbase behind it, the manager then tells the rank & file to download the free code and "install it" so he gets a bonus and not complained for asking for $10K, rank & file after a week or 2 give up trying to compile/install it, manager then ask to pay Technologyu A's owner for a support
09:58 bulk88 contract
09:59 bulk88 I dont want to call that open source software, even if there is a tarball with a copy of the GPL license available
09:59 bulk88 +inside
10:00 Will_the_Chill LOLsadsadsad
10:00 bulk88 one example is, linux routers, the tarballs offered with consumer routers, are not compileable
10:01 bulk88 shell scripts refer to .c that dont exist
10:01 bulk88 the drivers arent included
10:01 Will_the_Chill wow is it just because they are evil?
10:01 bulk88 good luck turning on the CPU
10:03 bulk88 " <Will_the_Chill> wow is it just because they are evil?" I dont want to use that word, 95% of the buyers of those routers dont know and dont care (they stuggle to keep PC Medic 2013 that reports OVAR 9000 viruses off their screen)
10:04 Will_the_Chill right
10:04 Will_the_Chill but for the other 5% they are definitely evil
10:04 Will_the_Chill ;)
10:06 bulk88 another thing some hardware manufacturers do is, that a 2MB firmware has to be copied into the chip every time the chip boots, all Intel Wifi chips have this architecture, even if you RE the OS drivers, you can't legally distribute the firmware as FOSS
10:06 bulk88 Intel recently in the last year or 2 gave up and made a special license for linux/FOSS driver devels so they can distribute the firmware blob
10:07 bulk88 I wont mention TiVo
10:07 bulk88 you should know of that story
10:08 Will_the_Chill yeah didn't tivo redistribute somebody's GPL code illegally?
10:08 bulk88 nope, you can't flash a TiVo with what you compiled from the tarball
10:08 bulk88 since the OS image is crypto secured in TiVo
10:09 bulk88 speaking of that, my Cisco TWC box says linux 2.6 in it when I go through its service menus, I wonder where the tarball is lol
10:10 bulk88 can I get free cable TV?
10:10 Will_the_Chill I don't know, can I get a free pre-release source code copy of Windows 10?
10:10 Will_the_Chill ;)
10:10 Will_the_Chill I'M JUST KIDDING I DON'T WANT WINDOWS!  :P
10:11 Will_the_Chill since Google has abandoned their "Don't Be Evil" corporate motto, I could adopt it!
10:12 Will_the_Chill maybe with a tongue-in-cheek addition such as "Dude, Seriously, Don't Be Evil"
10:12 Will_the_Chill or maybe "Don't Be Evil, Literally"
10:12 Will_the_Chill Eric Schmidt: "it was just an expression, it wasn't meant to be taken seriously!"
10:12 bulk88 the answer to that might be more "yes" than you think, since MS has slowly "shared source" or intentionally leaked alot of things over the 2000s, binary distribution hasn't stopped russian hackers for 15 years
10:13 bulk88 it also hasn't stopped ReactOS or Wine
10:15 Will_the_Chill Well I was always taught that Microsoft is the Beast from The Book Of Revelation, right?
10:16 Will_the_Chill ;)
10:17 bulk88 it was the first beast, then it taught other beasts to multiply
10:17 Will_the_Chill HOW TRUE IT IS
10:18 Will_the_Chill so you figured out that you have a compiler that has the required unordered_map support?
10:19 bulk88 yes, I have a VC 2010 C compiler, I'm not sure i've ever compiled anything with it before
10:20 bulk88 it has CC, LD, headers and libs, so it should work, I think I installed it to look at newer headers for some reason
10:20 bulk88 not to compile anything
10:29 Will_the_Chill *nods head*
10:29 Will_the_Chill cool
10:39 bulk88 actually, my "Microsoft C/C++ Optimizing Compiler" (snarky/legal name) installation is broken because it wants the IDE, which I dont have, because this is the free copy, I'll have to write a batch file but not today
10:40 Will_the_Chill oh
10:41 Will_the_Chill what does the batch file do?
10:42 bulk88 manipulates 4-6 env vars to allow a cmd box to compile C code
10:42 bulk88 since there is no system C compiler, like on linux, and there can be multiple C compielrs on windows, they use batch files to figure out which one will run
10:43 bulk88 LIBS/INCLUDE/PATH and 2-3 others
10:43 Will_the_Chill gotcha
11:29 bulk88 http://pastebin.com/FJWTHr8D test 3
11:29 bulk88 on vc 2010
11:30 bulk88 C++ problems with std::to_string
11:30 Will_the_Chill wow it totally partially worked, awesome!!!
11:31 Will_the_Chill okay so by redirecting output in one of the hacks you reversed, I was suppressing all the compiling messages and also specifically the "Use of uninitialized value $Inline::CPP::ntype in concatenation (.) or string at (eval 669) line 1." errors.
11:31 Will_the_Chill I have no idea what that ntype error is but I couldn't track it down and it is in Inline::CPP not in my code.
11:32 Will_the_Chill so I just suppressed it for the time being.
11:32 Will_the_Chill exciting that it worked partially!
11:34 bulk88 i need the debugging info, that is why the redirection had to stop
11:34 Will_the_Chill yeah I figured
11:34 bulk88 ""Use of uninitialized value $Inline::CPP::ntype" step it, fix your code, fix their code, or file ticket with author
11:35 bulk88 *step it, then
11:35 Will_the_Chill right, I just haven't got that far to be fixing other people's code unless I have no choice, like Filters.pm
11:38 bulk88 no binaries were ever made in 03_type_scalar.t , no .o files either, so every C build attempt failed
11:40 Will_the_Chill oh well it said it failed 11 of 49 tests?
11:40 Will_the_Chill I thought there were more that 11 of those 49 that were C builds?
11:41 bulk88 I dont think there ever 49 attempts to build C on 03_type_scalar
11:41 bulk88 there were only 4 based on my build dir count
11:41 Will_the_Chill oh well it shouldn't have needed to re-build for every 49 tests
11:42 Will_the_Chill it should've only needed to build a few times maybe?  and then share those builds between tests?
11:42 bulk88 I didn't write RPerl, I can't answer that
11:42 Will_the_Chill I'm looking
11:46 Will_the_Chill in 03...t, tests 1-10 are setup
11:47 Will_the_Chill tests 11 - 19 are pure Perl (not really RPerl)
11:49 bulk88 that was done with VC 2010, I leaving for the day
11:49 bulk88 *im
11:49 Will_the_Chill tests 20 - 35 are RPerl Perl data mode, 36 - 49 are RPerl C++ data mode
11:49 Will_the_Chill okay g'night!
18:02 rurban1 joined #perl11
18:11 Will_the_Chill joined #perl11
22:05 mirjam joined #perl11
23:20 mirjam joined #perl11
23:46 mirjam joined #perl11

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary