Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2013-11-13

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

All times shown according to UTC.

Time Nick Message
00:40 Will_the_Chill joined #perl11
00:48 Will_the_Chill howdy friends!  :)
00:54 bulk88 [17:55] <bulk88> note to archaeologists, every paste I put here in last 24 hours will expire in a month, dont expect the links to work
00:55 Will_the_Chill ah yes, I think mine may be set to never expire, but I'm not 100% sure
00:58 bulk88 i just dont want to waste disk space somewhere for throw away data
00:59 bulk88 brb
01:10 bulk88 joined #perl11
03:28 Will_the_Chill starting to work on setting up kickstarter for RPerl
07:38 stevan joined #perl11
11:40 bulk88 now I have this problem http://social.msdn.microsoft.com/Forums/vstudio/en-US/eaf24519-84e3-442e-ac7d-adab82a81ede/compile-errors-with-unorderedset-unorderedmap-in-tr1?forum=vcgeneral
11:42 bulk88 http://pastie.org/private/qsdmcw0fg3ohdgtfuctxq
11:49 Will_the_Chill okay looking now
11:50 Will_the_Chill wow I've never seen that error before!
11:50 Will_the_Chill is that a Microsoft-only thing?
12:05 bulk88 its something about MS's VC 2008's implementation of C++ TR1
12:07 bulk88 https://gist.github.com/bulk88/d263aa7fa136bfe40f07 preproced
12:08 bulk88 and formatted
12:09 bulk88 the compiler is complaining "_Hash_compare" isn't defined, there is a hash_compare but no _Hash_compare
12:14 Will_the_Chill oh huh weird
12:14 Will_the_Chill so do you need a different compiler or something?
12:21 bulk88 i guess so, more specificially a service pack or whatever they were saying in that post, but IDK if I want to do that yet to my vc 08
12:21 Will_the_Chill oh dang you have to patch your compiler, that stinks
12:21 Will_the_Chill is there some way to make a copy of the compiler so you can have the patched one separately?
12:25 bulk88 its not usually possible to install 2 copies of the same app on Windows, and most apps can't be installed/moved by copying folders around, Visual Studio 2008 comes in at ~13K files, 1K dirs, and 1.7 GB
12:25 bulk88 that includes C libs and headers, but not Windows OS libs and headers
12:25 Will_the_Chill holy crap
12:25 Will_the_Chill well okay then
12:26 Will_the_Chill what about cygwin?
12:26 bulk88 I can't C debug that
12:27 Will_the_Chill oh right
12:27 bulk88 I dont do GCC on Windows, since GCC binaries, native or cygwin, are not debuggable by standard MS debugging APIs
12:27 Will_the_Chill that stinks
12:27 bulk88 GCC binaries can only be debugged by gdb, but gdb doesn't use MS debugging APIs, so call stacks are a mess
12:29 bulk88 aslong as every binary in the process is GCC made, and was made by the exact same GCC binary (oh yes, all 3 Windows GCCs (cygwin, Mingw64, and Ming.org) use incompatible definitions of DWARF), C debugging will work, unless you need to step into the asm of a MS binary, or you are doing an enumeration callback from a MS binary
12:29 bulk88 *mingw.org
12:30 Will_the_Chill maybe a virtual machine with a new copy of windows running just the patched compiler?
12:33 bulk88 I've tried Vmware, its daemons are huge in RAM and count, installs a ton of drivers/devices in the host, I keep it off and disabled most of the time, I've only used it for Windows 98 testing (crashing every 10-15 mins :D)
12:34 Will_the_Chill dang
12:34 bulk88 Windows 98 crashes every 10-15 mins in the VM, not the Windows NT OS host
12:35 bulk88 just like Windows 98 crashed every 20 to 50 mins on a physical PC when I used it, then I learned about the secret "Windows 2000" product
12:36 stevan joined #perl11
12:37 bulk88 I need time to think over/research the VC 2008 upgrade, since I'm SP0, also if it really will fix the problem or not ("We, MS, never claimed C++ TR1 compliance, just selective features, sue us, you will loose")
12:38 Will_the_Chill LOLcry
12:44 bulk88 https://code.google.com/p/pdbparse/ someone REed MS's pdb format, if gcc/org/w64/whoever decides for gcc to make pdb files, they have no excuse, actually they have had no excuses for a decade, pdb files can be parsed/extracted quite easy through MS's Debugging API which are fully documented http://msdn.microsoft.com/en-us/library/108e9y6d.aspx
12:45 bulk88 the pdb file format is MS's secret, but the API to extract data out of it isn't a secret and anyone can write a MS/VC style C debugger
12:46 Will_the_Chill what does that mean in relation to what we're doing here?
12:47 bulk88 does every .t use unordered_map?
12:47 Will_the_Chill yes
12:47 Will_the_Chill all the core types are built together
12:47 Will_the_Chill I could pull them all apart but that would suck
12:48 Will_the_Chill I mean the actual types are implemented in independent files so it is totally doable, just the includes/linking/building is all together
12:48 Will_the_Chill so when you say "use types;" it builds it all together
12:49 Will_the_Chill although really I guess it could be picked apart because unordered_map is really hash and that's not until 05_type_hash.t
12:49 bulk88 can you use raw "use"es, not wrapped in lives_ok and use_ok?
12:50 bulk88 as much as those Test::More things exist, they are very unhelpful in diagnosing problems, even their docs say it
12:50 bulk88 if the module was never loaded, why bother trying to call anything in it later in the .t?
12:51 bulk88 the first use failure is the end of the .t execution, dont do anything that would trap that error and continue execution
12:51 Will_the_Chill I had re-implemented bits of Test::More early on but figured out it was much easier to use their code that keep writing my own
12:52 Will_the_Chill well that's not how I implemented it.  :)
12:52 Will_the_Chill IIRC I had a good reason
12:53 bulk88 also your lack of 80 col limit is strange, do you develop on one of these https://en.wikipedia.org/wiki/File:2012_Bloomberg_Terminal_by_jm3_-_Creative_Commons_licensed.jpg ? jkjk
12:54 Will_the_Chill haha no, I just use vi from the command line for quick stuff and EPIC in Eclipse for big stuff
12:54 Will_the_Chill on my little laptop screen
12:58 bulk88 http://pastie.org/private/ym638h2ct5utupjkdmyxtq its hopeless until I upgrade my compiler
13:00 bulk88 https://github.com/bulk88/rperl/commit/e31d2cc0d14a8e368e2530451ea4159740d3bde8 (the sha1/commit will change/go away) those are my hacks so far, the .gitignore is the only serious thing you should add
13:02 Will_the_Chill looking now
13:04 Will_the_Chill okay nice, so I guess the .gitignore is telling git not to include the _Inline/ build dir when syncing files?
13:09 bulk88 yes, you know how git works?
13:10 Will_the_Chill this is my first git project
13:11 Will_the_Chill so I am looking at the github page you sent me
13:11 Will_the_Chill it looks like you forked rperl
13:11 bulk88 look around in the perl world
13:11 Will_the_Chill so how do I accept your 1 change and not the rest?
13:11 bulk88 git= a timeline, with lines that merge and come apart and dead end over time
13:11 Will_the_Chill sure
13:12 Will_the_Chill I'm just unfamiliar with the mechanisms
13:12 bulk88 use the "log" feature (IDK what it is on command line, i use GUIs), make sure your snake looks right before you put it somewhere public (github, etc)
13:12 Will_the_Chill snake?
13:13 Will_the_Chill I was assuming since both you and I are on github that I could just click some button on the github page you sent me to accept that 1 change into the main rperl?
13:14 bulk88 hold on
13:15 bulk88 http://i41.tinypic.com/9rq615.png the snake
13:15 bulk88 it a name i invented
13:15 bulk88 the lines can get much more complex on some projects
13:16 Will_the_Chill okay cool, except I only know 2 or 3 command line commands
13:16 Will_the_Chill and I have github as my only GUI
13:16 Will_the_Chill so obviously I could copy-and-paste into the .gitignore file on my laptop, then push that up to github, but that seems wrong
13:17 Will_the_Chill and only possible for trivial updates
13:18 bulk88 I personally dont like gitk, http://lwn.net/images/ns/kernel/gitk.png http://i.stack.imgur.com/d14Rm.png (yes gitk runs on windows too)
13:19 bulk88 copy paste and making ur own commit is fine, its to trivial for me to claim author credits and send a C&D
13:19 Will_the_Chill OH don't you have to submit a pull request for the .gitignore file change, then I accept the pull request into the master branch???
13:19 Will_the_Chill I want to figure out the proper way to do it via github, not the hacky copy-and-paste way, cuz that's only gonna work once or twice for trivial changes
13:20 bulk88 do NOT "merge" (Ill use the word accept) that commit, its just my hacking on it to get it to work for myself
13:20 bulk88 there are 2 ways to do it, 1 involves github, the other doesn't
13:21 Will_the_Chill well github is a nice GUI so I want to use that way please.  :)
13:21 bulk88 in git there is a concept called "fast forward", since all the dots on the timeliens are crypto secured, you can't rewrite history and not get caught
13:21 Will_the_Chill (so far I don't know how to accept/merge your commit anyway)
13:22 bulk88 but, if you have a branch, and someone branches it, does some work, you can flatten his branch into yours, aslong as your master branch had zero commits since he branches it
13:22 Will_the_Chill okay...
13:23 bulk88 the way I do this in my GUI is a pull from the github repo of the other person, then a push to my github repo, then on github, my timeline is identical to his, and I "reject" his pull request on github since I did actually merge his changes, but not the github way
13:24 Will_the_Chill okay I kinda follow you
13:24 bulk88 the github website way, when using the pull request feature, does a "merge commit", this permanently keepts 2 parallel lines in the history, and they come together and continue as 1 line
13:24 Will_the_Chill okay
13:25 Will_the_Chill well since I don't have a git GUI except for github I'd sure like to use that feature.
13:25 bulk88 ill get an example of 2 of what the timeline looks like
13:27 bulk88 this is the github way https://github.com/bulk88/perl5-win32-api/commit/686afd5360d0ca416913f3645e9c4ebc29f24d5f
13:28 Will_the_Chill okay I looked at the last github link
13:28 bulk88 on https://github.com/bulk88/perl5-win32-api/network it made , http://tinypic.com/r/2lbib8l/5
13:29 Will_the_Chill so does this mean we _are_ able to do the pull/merge/whatever as needed for just the .gitignore file as an initial test?
13:29 bulk88 notice, on the black line, there were no commits, it could have been flatten, but the person chose to just do the accept through github
13:29 Will_the_Chill yes I see that little snakey loop, cool
13:30 bulk88 no, if you accept my patch through github, you get 100% of my work unmodified
13:30 Will_the_Chill oh dang
13:30 Will_the_Chill that sucks
13:30 Will_the_Chill so really my only option is copy-paste?
13:30 Will_the_Chill :(
13:31 bulk88 when I what to extract something from a commit that is at the end of a line, (not necesserily my line), I make a new branch on my disk, pull from foreign remote branch into new local branch, then do ammend commit, unstage hunks/lines that I dont want, then commit, then push to my github's repo under master branch
13:31 bulk88 yes
13:31 bulk88 its 3 lines or less
13:33 bulk88 http://www.yapcna.org/yn2013/training.html#git1 instead of organizing yapc you should have attended it
13:33 bulk88 took the class, worth the money
13:36 Will_the_Chill haha, oh well!
13:36 Will_the_Chill ;)
13:36 Will_the_Chill when you say "3 lines or less" do you mean the amount of data to be copied-pasted or 3 lines worth of commands to somehow automate it?
13:37 bulk88 with git, after reading a phone book of man pages, and a couple years of practice, you start to write long shell scripts to automate git
13:38 bulk88 or wait until git's devels add more shortcuts to the command line and grow the man pages even more
13:38 Will_the_Chill okay well I'm willing to learn but I don't think I'll be reading a phone book of man pages.  :)
13:39 Will_the_Chill I just want to be able to use github to collaborate, is that so wrong?!?  :)
13:40 bulk88 .gitignore is 2 lines, the line with text and an empty newline
13:40 bulk88 git requires that all text files end with a blank line
13:41 bulk88 or else you get "\No newline at end of file" as the last line in the diff
13:42 Will_the_Chill huh
13:42 Will_the_Chill does that also apply to source code files?  cuz I don't think I have blank lines at the end of all my source files...
13:42 bulk88 yes
13:44 bulk88 i looked at 10 random files in rperl, all ended with a blank line
13:44 bulk88 git, for the purpose of what a "file" is, only knows text or binary
13:45 Will_the_Chill https://github.com/wbraswell/rperl/commit/6ef4f419b5102de0a848208e587ec68455a4cff1
13:45 bulk88 that is fine
13:45 Will_the_Chill :)
13:45 Will_the_Chill cool beans
13:47 bulk88 https://github.com/bulk88/perl5-win32-api/commit/a641fc202b849900ceb58ff582d9810a9929fc8e 2nd file change in this commit is a binary file, git/github will never show you the diff
13:49 Will_the_Chill I see
13:54 bulk88 http://pastie.org/private/zfucsrpwzdfftspppthdw this is what a commit with a binary diff looks like
13:54 bulk88 internally
13:56 bulk88 in my git guis, I often have a problem where "git diff" patches are offered to me, but the only way to export a patch without corruption is "git format-patch"
13:56 Will_the_Chill okay I don't understand the last bit about format-patch?
13:58 bulk88 if I exported that patch with git diff, the http://pastie.org/private/rqte3lrwrzdiidqaxlix4g
13:58 bulk88 "Binary files a/API_test64.dll and b/API_test64.dll differ" whoops, lost my data
13:59 Will_the_Chill okay
13:59 Will_the_Chill so you're warning me about not using git diff on binary files?
13:59 bulk88 until someone tells you that, you dont know, since git was written by RCS devels for RCS devels
13:59 Will_the_Chill haha oh dear
14:00 Will_the_Chill well thanks for letting me know!  :)
14:00 bulk88 you can't save, or move, git patches, using git diff
14:00 bulk88 use format-patch onl
14:00 bulk88 y
14:00 bulk88 git diff is more to show you what each commit did, it isn't the actual commit
14:01 Will_the_Chill so git diff is a reporting tool only?
14:01 bulk88 think of it as a gui dialog box
14:02 bulk88 you wouldn't want jpgs of vim instead of text files would you?
14:02 bulk88 under the hood git diff powers most of my git GUIs
14:03 bulk88 http://stackoverflow.com/questions/4624127/what-is-the-difference-between-git-format-patch-and-git-diff
14:06 Will_the_Chill okay I read the SO article
14:06 Will_the_Chill I understand
14:09 bulk88 http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/ snarky but true
14:10 bulk88 http://steveko.files.wordpress.com/2012/02/git-arrows31.png I actually described some of that earlier today by chance to you
14:11 bulk88 looking at the diagram makes me think I am now just a http://upload.wikimedia.org/wikipedia/commons/c/c1/Linksys_WRT54G.jpg
14:12 Will_the_Chill haha, I like that diagram, are you saying you are a router for other people's code?
14:13 bulk88 yep, if you have an open source project, and you use git, you will be a packet switching router
14:13 bulk88 *and have contributors
14:13 Will_the_Chill well I sure do want contributors!  :)
14:13 Will_the_Chill so I will accept my job as router/switch/hub
14:14 bulk88 the point is, your repo on your disk is your repo, you are not a server, so you use a git server ("remote" is their word) to distribute your work
14:15 bulk88 if you are not the ultimate boss/owner of the project, the project owner will accept your changes into his remote
14:15 bulk88 you have your remote, and project owner has his remote
14:15 bulk88 the branches on your disk repo and your remote repo dont need to be identical or be synced
14:16 bulk88 when a project owner accepts your changes, you have to sync first your disk repo with PO remote, then sync your remote repo with  your disk repo
14:16 Will_the_Chill why would you NOT want your local and remote code synced?
14:17 bulk88 a github pull request will not sync your github remote with PO's github remote even if PO accepts the pull request
14:17 bulk88 you have code that you dont want to publish yet because its crap or hacking
14:17 Will_the_Chill okay
14:17 bulk88 you have a branch you never plan to make public
14:18 bulk88 but while you work on your secret branch, you still have to do day to day project management on your remote if your PO or someone important
14:19 bulk88 so your local repo will have a branch you keep usually in sync with your remote repo, and then maybe a local only branch you never push to your remote
14:19 bulk88 github has a branch switch, its on the left
14:21 Will_the_Chill gotcha
14:25 bulk88 also, on github, until it is in your repo, it can disappear at any time
14:26 bulk88 repos are regularly deleted, people easily can do force pushes, and rewrite history, and your SHA1s are now totally different from theirs, (and their old SHA1s are now your SHA1s that can't be traced to them anymore)
14:26 bulk88 branches can be added and deleted 1 by 1 from a remote
14:27 Will_the_Chill okay
14:27 bulk88 so a branch might be in a foreigner's github remote one day, and gone the next, without a trace, except on google cache
14:27 bulk88 unless its WIP or represents someone published on CPAN, I delete/rewrite history all the time
14:28 bulk88 I delete my repos after pull reqs were accepted
14:28 Will_the_Chill why?
14:28 bulk88 they will age, since I will never sync them, and I will never write code for that project again, so why should they litter my github?
14:29 bulk88 *never sync them to their project owner repos
14:29 bulk88 the PO has my commits already, they will never go away on his repo, why do I need to keep the commits on my side?
14:31 bulk88 CPAN is irreversible (if you delete from CPAN, it will still be on backpan), github repos are transient
14:32 Will_the_Chill gotcha
14:34 bulk88 http://www.theverge.com/2013/10/14/4838100/why-did-healthcare-govs-source-code-mysteriously-vanish-from-view the same way when SHTF with naked pics on social media, when programmers get in trouble they delete their github repos
14:35 Will_the_Chill LOLohnoes
14:37 bulk88 https://github.com/CMSgov/ empty now
14:38 Will_the_Chill haha sad and funny
14:39 bulk88 https://github.com/hhs they also have this, but its not part of obamacare
14:40 bulk88 but anyway, the point is, nothing on github is permanent
14:40 bulk88 if you want to archive it, you make a copy of the foreigner's github remote into your github remote
14:41 bulk88 you can choose all branches or just the 1 branch that matters to you (I can't exactly explain how myself)
14:43 Will_the_Chill and making a copy like that is called forking, right?
14:44 bulk88 forking I think is a term github invented using their specific software
14:45 bulk88 I think it means all branches
14:45 Will_the_Chill oh
14:46 bluescreen joined #perl11
14:50 bulk88 once you understand there are 4 repos, local disk, your github remote, your project owners/contributor's remote, and project owner/contributors local disk, the workflow graph makes sense
14:50 bulk88 normally on github, each remote is the property of its account name, a group of people doing pushes, each having perms to do it is a rare and the setting is slightly hidden in the settings pages
14:52 bulk88 since github is a for profit site, the group of people all doing pushes to a common remote (P5P is an example), starts to get github worried whether it is an open source project or not
14:52 bulk88 and if its not an open source project, github wants their fees
14:54 Will_the_Chill *nods head*
14:57 Will_the_Chill argh Amazon Payments is messed up and didn't accept my personal information.  add another few days to kickstarter setup.
14:57 Will_the_Chill ah well at least I got to talk to a live human quite quickly and she is moving me along to the account specialists via e-mail.
14:57 bulk88 https://en.wikipedia.org/wiki/Shared_source you can look at the source, but you are forbidden to compile or modify it
14:59 Will_the_Chill oh heck no
14:59 Will_the_Chill I remember when that scam first came out
14:59 Will_the_Chill EVIL!
14:59 bulk88 stepping through Windows NT kernel is awesome
14:59 bulk88 with C code
14:59 Will_the_Chill how so?
15:00 Will_the_Chill by awesome do you mean horrible?  :P
15:00 bulk88 nope
15:00 bulk88 MS's C code is very easy to understand
15:00 bulk88 and well commented
15:00 bulk88 and uses POD
15:01 bulk88 eghh, not POD, but inline documentation, all of the API docs MS publishes are from inline documentation
15:01 bulk88 every hack and shortcut is explained
15:02 Will_the_Chill I heart NT was not bad
15:02 Will_the_Chill but I wouldn't know
15:02 bulk88 when I've seen MS's C++ code, which is rare, I understood 100% of it instantly from knowing Perl
15:03 bulk88 templates and exotic C std lib features are banned
15:03 bulk88 *C++ std lib
15:04 Will_the_Chill yay I love banning things!
15:04 Will_the_Chill ;)
15:06 bulk88 I'm pretty sure at MS, they have dedicated arms length programmers who review and reject changes regularly for being unintelligble except for the author or his team
15:06 bulk88 it also means buracroacy is a nightmare
15:08 Will_the_Chill yay I love bureaucracy nightmares!
15:08 bulk88 for some of MS's products, without shared source, the product would be impossible to sell, Windows Mobile/CE is compile your own, since the devices include a dozen different CPU archs
15:08 Will_the_Chill I mean wait what?  ;)
19:06 bluescreen joined #perl11
19:19 ingy joined #perl11
19:19 Hinrik joined #perl11
19:33 Hinrik joined #perl11
19:33 tokuhirom joined #perl11
19:41 ingy joined #perl11
19:42 Hinrik joined #perl11
19:43 tokuhirom joined #perl11
20:45 bluescreen_ joined #perl11
22:48 mirjam joined #perl11
22:50 mirjam left #perl11
23:32 mirjam joined #perl11
23:59 mirjam joined #perl11

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