stekern | have you read this btw: http://www.fpgarelated.com/showarticle/44.php | 05:35 |
---|---|---|
stekern | I'm not sure if I'm superconvinced, but it's well written and fun with some less conventional ideas | 05:37 |
stekern | from what I can understand, the concept of function pointers would be hard to implement. | 05:38 |
stekern | could be me not fully understanding the concept of the cpu though | 05:39 |
glowplug | This is extremely interesting... | 05:40 |
glowplug | Possibly even more interesting than that is a 50 MIPS CPU design he links to that is 200 lines of Verilog. | 05:42 |
glowplug | http://www.excamera.com/sphinx/fpga-j1.html | 05:43 |
glowplug | How does that CPU compare to mor1kx? I realize it lacks an MMU but are there any other massive differences? | 05:48 |
stekern | I haven't looked closer, but it's a bit like comparing apples and oranges | 05:51 |
glowplug | I'm starting to see that now. Forth CPU's are very strange... | 05:52 |
glowplug | And it looks like the entire processor is essentially an optimized interpreter for Forth code. Very strange. | 05:53 |
stekern | exactly | 05:53 |
stekern | so if you want to run forth code, it's probably a winner | 05:54 |
stekern | btw, 8-bit avrs do 50 MIPS @50MHz too, it's not really a good measure of performance | 05:55 |
stekern | + performance is context dependant, the processors with most muscles aren't necessarily the ones with best performance for for example realtime applications | 05:57 |
glowplug | Agreed. Even at the highest level performance between different applications written in different high level languages varies dramatically. | 05:58 |
stekern | to translate to your area of interest, for motor control in a drive, you don't want _any_ latency in your interrupt handling | 05:58 |
stekern | while fo running example Linux and android etc, that has little importance | 06:00 |
glowplug | I wonder if a RISC CPU (or some other architecture) could be optimized to execute C. A J1 CPU for C instead of Forth. | 06:00 |
stekern | that's what RISC CPU's are... | 06:00 |
glowplug | Wait really? They are literally optimized C interpreters? | 06:00 |
stekern | optimized for compilers | 06:00 |
glowplug | That I did not know at all. | 06:01 |
glowplug | So the mor1kx architecture is specifically designed to execute compiled C code? | 06:01 |
stekern | yeah, the original idea with the risc design was to move the burdon of complexity from hardware to compilers | 06:02 |
stekern | mor1kx is not an architecture btw, it's an implementation of the or1k architecture | 06:04 |
glowplug | I only care about mor1kx anyways so to me it's an architecture. =) | 06:05 |
glowplug | I knew that the purpose of RISC was to simplify hardware compared to x86 which translates instructions in hardware. | 06:06 |
glowplug | But I had no idea that RISC is optimized for C. That is extremely interesting. | 06:06 |
stekern | if you design a machine that relies on the compiler to be efficient, you probably aim for a design that also maps well into what a compiler can do | 06:50 |
glowplug | Have you guys made any design decisions for mor1kx that specifically relates to C optimization? | 07:12 |
stekern | not really, since that part is mostly an architecture design decision | 07:14 |
glowplug | It seems extremely important. Linux is all C and the next generation of high level languages will be compiled down to C (pypy/topaz ect.). | 07:15 |
glowplug | C probably represents the next 20 years of nearly all software. Maybe longer. | 07:16 |
glowplug | I wonder how much speed you could get with an architecture specifically designed to execute C as fast as possible. | 07:16 |
glowplug | This is something I need to do more reading on. =) | 07:16 |
stekern | what a compiler can do is of course a subject to change too, for example until recently, close to all DSP code was written in assembly, while now compilers are starting to be able to emit that kind of code | 07:18 |
glowplug | Speaking of that. What is your opinion of LLVM? | 07:19 |
stekern | vectorisation and compiling codes for VLIW processors are also areas where there is a lot of progress currently | 07:19 |
stekern | I've done most of the openrisc LLVM backend | 07:20 |
glowplug | What is your experience with it so far compared to GCC? Do you have any bias against it being written in c++? | 07:21 |
stekern | not really, I prefer C, but the designers of LLVM have done a good job not abusing the features of C++ (which usually is the language's biggest problem) | 07:22 |
glowplug | Are you familiar with RPython/PyPy? | 07:30 |
stekern | not to a greater extent than that I have heard the names before | 07:35 |
glowplug | I really think that it is the future of all software. The implimentation is much more pure than LLVM and it also can compile arbitrary languages. There is a Ruby compiler called Topaz built with RPython. And many other languages too. | 07:37 |
glowplug | It seems that implimenting a new langauge with LLVM is a much more difficult task. | 07:37 |
glowplug | Anyways It's pretty late here I'm off to bed. 8) | 07:40 |
stekern | quickly reading up on PyPy, it's translating into C, so it's way higher up the stack than LLVM | 07:41 |
stekern | so I don't understand your comment | 07:41 |
glowplug | PyPy can compile Python into C bytecode. | 07:42 |
stekern | C doesn't have bytecode | 07:43 |
glowplug | I'm sorry I mean machine instructions rather. | 07:43 |
glowplug | Compiling to C is an intermediary step. | 07:44 |
stekern | but it doesn't do the steps after that | 07:44 |
stekern | so you got PyPy->C->C-compiler->machine code | 07:44 |
glowplug | I believe that is what the JIT is. | 07:44 |
stekern | and LLVM does: C (clang)->LLVM asm->machine code | 07:45 |
stekern | so you could easily just drop clang/LLVM into the PyPY chain | 07:45 |
stekern | then dropping the C step in between should be "trivial" | 07:46 |
glowplug | The JIT generates assembly. I just don't know exactly how. | 07:46 |
glowplug | Their aproach is novel. | 07:46 |
stekern | no, from what I understand the PyPy JIT generates C | 07:46 |
glowplug | The translator generates C. | 07:47 |
stekern | ah no, I missread that sentence | 07:47 |
glowplug | The PyPy system includes an application called the translator which generates .c files. | 07:47 |
glowplug | The JIT generates assembly at runtime using black magic. | 07:47 |
glowplug | I've watched all of the talks on it and still don't understand exactly how it works. Or even half. | 07:48 |
glowplug | I have to get to bed though. I will be on tomorrow. 8) | 07:49 |
stekern | sleep well | 07:50 |
olofk | Interesting with a modern Forth CPU. Could be quite useful for doing an Open Firmware implementation in FPGA | 09:31 |
stekern | very good point olofk, I didn't consider that at all | 09:44 |
stekern | and wb btw ;) | 09:49 |
olofk | Thanks. It's been a while. Things have been a bit hectic with work and my girlfriends nine month place & route | 10:24 |
stekern | oh, you've had one of those going on? | 10:29 |
stekern | I assume you meant "girlfriend's" though? =P | 10:30 |
olofk | hrrm... ok, you're right. I'm not that much of a playboy | 10:47 |
stekern | sure you are =P congrats anyway | 10:50 |
olofk | Not quite there yet, but so far so good. I expect to have a lot more spare time when it's out :) | 10:52 |
_franck_ | you won't :) | 10:54 |
stekern | yeah, that's usually the way it goes... not... ;) | 10:54 |
olofk | Maybe I should get a house too. I heard that also frees up a lot of time | 11:06 |
olofk | I'm trying to dump part of an elf to some format that I can later use to preload a RAM. It looks like objcopy or objdump is the right tool for that, but objdump doesn't seem to generate binaries, and objcopy doesn't seem to have the --start-address option. What to do? | 11:22 |
stekern | olofk: I can confirm the house thing... | 12:14 |
stekern | what's the problem you try to solve? you want the binary to "start" at 0x100? | 12:14 |
stekern | there is an --adjust-vma option you could try | 12:16 |
juliusb | I'm looking at hosting the IRC logs for this channel somewhere | 12:34 |
juliusb | I'm too much of a n00b to figure out how to set up a nice little web host for the log | 12:35 |
olofk | Well, the problem is that I have a stupid closed-source soft CPU from vendor X that I have to work with. I have a program that runs from an internal block ram and then jumps to external memory, but as I can't download the ELF directly to the simulation model, I need to pre init the block rams and external memory with different methods | 12:35 |
juliusb | I just tried to upload it to pastie.org :P but that doesn't take any more than 4kB | 12:35 |
juliusb | s/4kB/64kB/ | 12:36 |
juliusb | I can't find a suitable solution, where I can a) run it on this machine (I host juliusbaxter.net on this guy,so it would be easy to add a little page there with it on) b) present the logs in a searchable, portioned way | 12:36 |
olofk | juliusb: Maybe dump the data daily at opencores svn perhaps? | 12:37 |
juliusb | olofk: ahh, a perennial problem with FPGA development :) | 12:37 |
juliusb | olofk: yeah I was thinking opencores could host it, but a nice web interface would be best I think | 12:38 |
juliusb | I could do periodic dumps | 12:38 |
juliusb | but, how to make them nicely searchable for people via the web isn't immediately obvious to me | 12:38 |
juliusb | I would just host the text file, but it'd chew my bandwidth (I think) on this server | 12:39 |
juliusb | I could just try it | 12:39 |
olofk | Many places have searchable IRC logs. Might be worth contacting a few of them and see what they are using | 12:39 |
stekern | http://en.qi-hardware.com/mmlogs/ | 12:41 |
stekern | I think what they are using is good | 12:41 |
stekern | logs2html, apperantly | 12:42 |
juliusb | hmmm, but is it serachable? | 12:42 |
stekern | http://mg.pov.lt/irclog2html/ | 12:42 |
juliusb | because the benefit of logs to me is that I can grep through it for something | 12:42 |
stekern | yes, it is | 12:42 |
juliusb | ahh search bar | 12:42 |
stekern | use the "search bar" | 12:42 |
juliusb | wya over in the top right! my screen is wide, I missed it :P | 12:42 |
stekern | heh ;) | 12:42 |
juliusb | sweet | 12:42 |
juliusb | looks good | 12:42 |
stekern | olofk: can't you just include/exclude the sections then when objcopying to the bin? | 12:47 |
stekern | I assume that the internal block ram part is in it's own section? | 12:48 |
olofk | stekern: I'm debugging right now, so I'm not sure how the split between internal block ram (addr 0x0) and external ram (0xa0000000) will be in the end, so it will be a pain to explicitly list the section that I want to dump | 12:55 |
olofk | start-address in objdump is what I really want, but with something else than asm as output | 12:56 |
stekern | well, you can always just use 'dd' | 12:56 |
olofk | That's true, but when you said it I also realized that I need to write a custom converter anyway, so I could just let that start reading from 0xa0000000 | 13:01 |
juliusb | ok I have this so far: http://juliusbaxter.net/irc/split-logs/ | 13:09 |
juliusb | almost there.... | 13:09 |
juliusb | just do add the fancy stuff... | 13:09 |
--- Log opened Fri Mar 22 12:57:10 2013 | ||
-!- Irssi: #openrisc: Total of 26 nicks [0 ops, 0 halfops, 0 voices, 26 normal] | 12:57 | |
-!- Irssi: Join to #openrisc was synced in 0 secs | 12:57 | |
LoneTech | juliusb: did you consider hard links? | 13:14 |
juliusb | LoneTech: you can't do hardlinks for directories can you? | 13:42 |
juliusb | I have : http://juliusbaxter.net/openrisc-irc/ | 13:43 |
juliusb | but search doesn't work (it's broken, I've contacted the dev with details) | 13:43 |
juliusb | I have just made a little script to update things | 13:43 |
juliusb | and will run it as a cronjob | 13:44 |
olofk | Anyone handy with hexdump? I need an endian swap | 14:12 |
LoneTech | right, normally directories are not hardlinkable because .. would be ambiguous | 14:13 |
LoneTech | olofk: dd is rather scary for that (conv=swab) | 14:14 |
_franck_ | juliusb: you just add a "/ignore -channels #openrisc * JOINS PARTS QUITS NICKS" somewhere and that will be perfect | 14:14 |
LoneTech | not sure hexdump can do specific endianness | 14:14 |
olofk | LoneTech: I find hexdump syntax a bit scary too | 14:17 |
LoneTech | sorry, can't think of the right tool right now. od can hexdump custom width, but again no endianness chocie | 14:19 |
LoneTech | objdump has -EB and -EL but doesn't byteswap its -s dumps, afaict | 14:22 |
olofk | I haven't worked much with the obj* tools before, but my impression now is that they are not very user friendly | 14:25 |
olofk | Why both objcopy and objdump to start with? They both seem to do roughly the same thing | 14:26 |
juliusb | olofk: I wrote my own python tools to do that last time I needed to :( | 14:39 |
juliusb | I found things like srec_cat etc couldn't help me either | 14:39 |
olofk | juliusb: Yeah, I'm doing my own implementation too right now, but I just realized another complexity. This fucking never ends | 14:40 |
juliusb | :-/ | 14:40 |
juliusb | it seems it's a bug with the logs2html thing, the author responded saying he'll put in afix asap :) | 14:41 |
LoneTech | olofk: they do very different things; objcopy produces object files and objdump produces readable analysis such as disassembly | 14:43 |
juliusb | _franck_: I'd like to see that as an option on the logs2html stuff perhaps... | 14:49 |
olofk | LoneTech: I might have a simplistic view of this, but in my eyes, both tools take an elf as input and converts it to another format (asm, binary...) | 14:54 |
glowplug | Good morning. 8) | 16:12 |
glowplug | This is a fantastic IRC logger. https://github.com/whitequark/irclogger | 16:20 |
glowplug | Here is an example of a page it produces. http://irclog.whitequark.org/arm-netbook/2013-03-22 | 16:20 |
glowplug | It is also grep searchable (I believe it creates tarballs). | 16:20 |
glowplug | Even more interesting is that by generating HTML pages the logs are searchable to anyone using google. Lets say I search "open source processor" I will get google results for this IRC channel where normally you might not. It also can be used as a "lazy mans grep". | 16:22 |
juliusb | whoops, I pasted into the wrong room before | 16:32 |
juliusb | I have search working now :) | 16:33 |
juliusb | http://juliusbaxter.net/openrisc-irc/search?q=moron | 16:33 |
juliusb | hmm my cron job doesn't appear to be updating things? | 16:33 |
glowplug | These logs look pretty good too actually. =) | 16:49 |
stekern | I like that you have all days in a long list instead of dividing into year->month->day | 17:06 |
stekern | my mor1kx@atlys debugging is making progress, I've managed to catch the the place where things go wrong | 17:08 |
stekern | an alignment exception is triggered on address: 0xc013fe3c | 17:09 |
stekern | this sounds awfully familiar... let's see what the irc logs says ;) | 17:10 |
stekern | ah, this was it: http://juliusbaxter.net/openrisc-irc/%23openrisc.2013-02-23.log.html#t17:12 | 17:11 |
GentlemanEnginee | Hello. | 17:16 |
glowplug | Good morning. =) | 17:17 |
glowplug | There are IRC logs now. http://juliusbaxter.net/openrisc-irc/ | 17:18 |
GentlemanEnginee | I have set ERC to be making logs. | 17:20 |
GentlemanEnginee | Still snowed in. | 17:20 |
glowplug | Mine does too. Its always nice to have them on the web though. =) | 17:20 |
glowplug | Makes it easy to link others to conversations ect. | 17:20 |
GentlemanEnginee | Yesterday, the neighbour attempted to make it out via Ski-Doo. He didn't make it. | 17:21 |
GentlemanEnginee | Stated that over the drifts, he hit a four foot vertical wall of snow. | 17:22 |
GentlemanEnginee | Also, enjoying attempting to make the mor1kx test bench. | 17:24 |
glowplug | A jetski to drive through snow! Hahaha | 17:27 |
glowplug | What about a snow mobile? | 17:27 |
GentlemanEnginee | A Ski-Doo *is* a snow mobile. | 17:29 |
glowplug | OH interesting! I did not know that Ski Doo brand made snowmobiles. Here all of the Ski Doo's are Jet Ski's. | 17:31 |
glowplug | Learn something new every day. =) | 17:31 |
GentlemanEnginee | I believe the Jet Skis are Sea-Doos... | 17:33 |
glowplug | Ahh yes. I should probably wake up before joining channels. This will forever be saved in the logs of time. | 17:36 |
GentlemanEnginee | That is what an EMP is for... | 17:37 |
GentlemanEnginee | Actually, what is rather amusing is when those suffering from ennui use a Ski-Doo as a Sea-Doo. | 17:45 |
glowplug | This is something that I now have to YouTube.... | 18:00 |
juliusb | stekern: found a nice little bug in mor1kx - when hammered with IRQ and tick, it will behave badly | 18:01 |
juliusb | 2 corner cases have emerged - should be simple to fix on all pipelines | 18:01 |
juliusb | have test and fix | 18:01 |
juliusb | :) | 18:01 |
juliusb | will commit tomorrow | 18:01 |
glowplug | Are you guys familiar with Contiki? | 18:06 |
GentlemanEnginee | No. | 18:08 |
glowplug | http://www.contiki-os.org/#about | 18:09 |
glowplug | Its a realtime networked OS for microcontrollers. | 18:09 |
stekern | juliusb: nice, what's it related too? | 18:15 |
stekern | more than it emerges when hammered with irq and tick | 18:15 |
stekern | I like this part of bug hunting, when you know you have found the place where things go wrong and you just have to figure out why they go wrong | 18:18 |
GentlemanEnginee | I detest the stage just prior to that. | 18:20 |
GentlemanEnginee | There is nothing wrong, so there is nothing to correct. It simply does not function. | 18:20 |
stekern | exactly, maybe I like this part so much, because you've just left that annoying part behind you | 18:41 |
stekern | s/maybe I/maybe that's why I | 18:42 |
GentlemanEnginee | I do like your perl corrections... | 18:49 |
stekern | given that sed predates perl, I believe a more correct term would be 'sed corrections' | 19:01 |
GentlemanEnginee | Fair enough. | 19:02 |
GentlemanEnginee | In other words, "That's what he sed"... | 19:02 |
stekern | even more correct would be if I'd make less mistakes while typing... | 19:02 |
stekern | anyone fluent in gdb scripting? | 19:04 |
stekern | or even the slightest clue is probably enough to solve my problem | 19:05 |
stekern | I want to do a loop where I do: spr npc 0x100; si; si; until the result is 0x104 | 19:05 |
GentlemanEnginee | http://blog.vinceliu.com/2009/07/gdbs-conditional-breakpoints.html | 19:07 |
stekern | no wonder things weren't working... I had misspelled the name in my define... | 19:18 |
GentlemanEnginee | A recipe for guaranteed failure... | 19:21 |
stekern | but I still can't figure out how to get the output of the si into a variable | 19:22 |
stekern | if at all possible | 19:22 |
GentlemanEnginee | I have yet to review the assembly for the processor. | 19:22 |
stekern | it's pretty straightforward | 19:23 |
GentlemanEnginee | No, I was stating that I could not assist you on this matter, as I had not yet familiarized myself with the assembly. | 19:24 |
stekern | ah, I see. But 'si' is a gdb command, stepping one instruction. | 19:27 |
GentlemanEnginee | Sorry, I thought it was being used as a register. | 19:28 |
GentlemanEnginee | Hello stekern. | 21:26 |
stekern | hello, still here :) | 21:30 |
GentlemanEnginee | I am attempting to find the results of the Icarus Simulation from the Makefile in boards/generic/or1kx/sim/run. | 21:31 |
stekern | are you running make rtl-tests? | 21:34 |
GentlemanEnginee | No. | 21:34 |
GentlemanEnginee | I did a simple make. | 21:34 |
GentlemanEnginee | Apparently I require ork1k-elf-gcc. | 21:36 |
stekern | ah, yes | 21:37 |
stekern | build instructions: http://opencores.org/or1k/OpenRISC_GNU_tool_chain#Installation_of_development_versions | 21:38 |
GentlemanEnginee | Looking at building it from source. | 21:39 |
GentlemanEnginee | Also has a tendency of complaining that "mor1kx-dev-env-master/boards/generic/mor1kx/sim/run/../../modules: No such file or directory" | 21:39 |
stekern | yeah, you can ignore that... | 21:40 |
stekern | or just create the directory to get rid of it | 21:40 |
GentlemanEnginee | I was concerned that I was missing some source files. | 21:41 |
GentlemanEnginee | Is that not the case? | 21:41 |
glowplug | It may be that the folder does not exist because git does not commit empty directories. | 21:45 |
GentlemanEnginee | Perhaps place a token file in it. | 21:45 |
stekern | or just remove the whole thing from the makefiles | 21:47 |
stekern | it's not used for anything | 21:47 |
GentlemanEnginee | That could accomplish well as well. | 21:47 |
stekern | look, you're already things that needs improvement, and you haven't even got to examining the mor1kx core yet! =P | 21:48 |
stekern | +finding | 21:48 |
GentlemanEnginee | I can make myself a frequent irritation... | 21:51 |
stekern | critical eyes on stuff are always good | 21:53 |
GentlemanEnginee | Perhaps I should request write access at some point to start adding fixes... | 21:53 |
stekern | you can just get a github account and post pull requests | 21:59 |
GentlemanEnginee | I thought it might be invite only... | 22:00 |
stekern | anyone can make a github account | 22:01 |
GentlemanEnginee | No, the posting changes to the mor1kx... | 22:02 |
glowplug | Enginee are you trying to push your fork to your own repo? | 22:03 |
GentlemanEnginee | No. No. | 22:04 |
stekern | no, there's no restrictions on posting a pull request. a bit of the same story as there are no restrictions on posting patches to the mailing lists. | 22:05 |
GentlemanEnginee | I was referring to changes such as the token file, and eventually my memory controller... | 22:05 |
glowplug | You can make any changes you want and then put in a request which can either be accepted or denied by the repo maintainer. | 22:05 |
glowplug | The best way to do that is to clone. Then push everything to your own fork. Then make changes on your fork. Then ask for requests later when you think that it is ready. | 22:06 |
glowplug | Have you already created your own repo with the entire contents of the project cloned? | 22:07 |
GentlemanEnginee | None of that yet. | 22:07 |
GentlemanEnginee | I was not ready. | 22:08 |
GentlemanEnginee | I was commenting after you had stated me finding little issues to be corrected. | 22:08 |
glowplug | Its best to commit to your repo right away that way you can start a public record of your changes and descriptions of your commits. | 22:09 |
glowplug | That lets everyone understand better the work you have done. | 22:09 |
glowplug | Pushing to the main repo is an extremely late-stage step. | 22:09 |
glowplug | The nice thing about git is that we can see exactly what you changed and when which gives the least effort for determining whether to commit the changes to the main branch. | 22:10 |
glowplug | If you make changes only locally its a lot harder. | 22:10 |
GentlemanEnginee | Alright, that is a differing philosophy from what I am used to. | 22:13 |
GentlemanEnginee | However, I can work with it... | 22:13 |
glowplug | There is a talk by Linux about why he created git and how it is completely alien to subversion ect. Let me find it. | 22:14 |
glowplug | It is extremely different. Haha | 22:14 |
glowplug | *by Linus | 22:14 |
glowplug | Long story short he completely refused to develop the kernel at one point until a decent source management software was available. Nobody made one so he wrote it himself. xD | 22:15 |
glowplug | http://www.youtube.com/watch?v=4XpnKHJAok8 | 22:16 |
glowplug | He explains it a lot better than I can though. | 22:16 |
GentlemanEnginee | Yes I am used to the CVS/SVN Paradigm... | 22:16 |
glowplug | You are really going to enjoy his talk then. Hahaha | 22:17 |
glowplug | I think at one point he says that anyone using subversion should "kill themselves". LOL | 22:18 |
glowplug | Very opinionated.... | 22:18 |
glowplug | He explains a lot of high level things. From a physical command level basically there is a folder with some log files that contain file locations, directory structure, and history of file changes including what lines changed ect. When you create a new repo from an empty directory or clone one there is a ".git" folder with this data. | 22:20 |
GentlemanEnginee | I am rather opposed to suicide. | 22:21 |
GentlemanEnginee | You see, I intend on living forever. | 22:21 |
glowplug | Yeah he's not the nicest guy on earth. Unfortunately nobody can live without him. 8) | 22:21 |
GentlemanEnginee | And I must state that the plan is working rather well so far... | 22:21 |
stekern | good thing you're on your way to start learning git then :) | 22:22 |
glowplug | It is a very slow process to master git. I'm really new to it also. | 22:22 |
glowplug | So you already have a cloned repo and you created a github account. Now you need to commit your changes (dont forget a description of your changes) then push to your own repo (this will require setting up some SSH keys which is explained on the github page). | 22:23 |
stekern | you can just push to the https address and use your github username and password | 22:24 |
glowplug | Don't encourage that! Haha | 22:24 |
glowplug | Once you have whats called an "initial commit" things get easier. | 22:24 |
glowplug | Everytime you make a change commit those changes to your repo with another description of those changes. Your repo will reflect all of these commits as a history or a log of changes. Including saving deletions ect. | 22:25 |
stekern | well, if you don't want to go through the hassle of setting up ssh keys first thing (which is rather easy, though) | 22:26 |
GentlemanEnginee | More to do... | 22:26 |
glowplug | It is quite a bit better to use SSH. | 22:26 |
GentlemanEnginee | Why | 22:26 |
GentlemanEnginee | ? | 22:26 |
glowplug | It's faster, more secure, and easier after the initial setup (no entering password every single time you commit). | 22:27 |
glowplug | If you commit alot that can get annoying. | 22:28 |
GentlemanEnginee | More yak shaving... | 22:28 |
glowplug | Haven't heard that in 10 years! Hahaha | 22:29 |
glowplug | I would say that typing passwords over and over into a terminal is the hyak shaving. Setting up SSH really is much more efficient. | 22:30 |
glowplug | *yak | 22:30 |
GentlemanEnginee | I was referring to creating the github &c. | 22:30 |
glowplug | Not to mention the obviously worthless security of SSL vs SSH. | 22:30 |
glowplug | Oh yeah you *need* the github account. | 22:31 |
glowplug | Your future as a distributed free developer depends on it. =) | 22:31 |
stekern | you only have to enter passwords when you're pushing, you can do however many commits and not push | 22:32 |
glowplug | I'm sorry thats what I meant. Pushes. =) | 22:32 |
GentlemanEnginee | It definitely sounds pushy... | 22:33 |
stekern | I still "have" to enter my password when I push, even if I use SSH | 22:33 |
glowplug | That is because your initial commit was likely done over HTTPS. If you navigate to your .git folder and change the url to git@github.com:user/repo.git you can push without a password prompt. | 22:36 |
stekern | no | 22:36 |
stekern | I've never used the https | 22:36 |
glowplug | Did you use the clone command to create your local copy? | 22:37 |
glowplug | I believe that uses HTTPS which will retain your hardlink to the HTTPS repo location. | 22:38 |
glowplug | The .git/config file has the location data. | 22:39 |
stekern | depends on the repo, usually I've created them locally first and then just added a seperate github remote | 22:40 |
glowplug | It should deffinately not ask for a password... | 22:41 |
GentlemanEnginee | Actually, I just downloaded a Zip. | 22:44 |
GentlemanEnginee | I was wishing to see if the code was something I could work on. | 22:44 |
glowplug | Oh I see. | 22:45 |
glowplug | Getting the code through git is super easy. Just do "git clone git@github.com:openrisc/mor1kx.git" in a terminal. =) | 22:46 |
glowplug | It will automatically download everything for you. | 22:46 |
glowplug | Here is some information about push/pull without password prompts. http://superuser.com/questions/338511/how-do-i-disable-password-prompts-when-doing-git-push-pull | 22:47 |
stekern | I _want_ it to ask for the password | 22:47 |
glowplug | Unless someone else has physical access to your files its impossible for someone to access your account. | 22:48 |
glowplug | They need your private key. | 22:48 |
stekern | I know | 22:48 |
glowplug | Fair enough. =) | 22:48 |
glowplug | That is *extreme* tier security. =D | 22:49 |
glowplug | For Enginee's purposes though configuring SSH so he can do pushes without a password is a very nice convenience. | 22:51 |
GentlemanEnginee | I have gitted mor1kx. Hazzah! | 23:29 |
GentlemanEnginee | Free bits for all! * | 23:30 |
GentlemanEnginee | *Limited time only. Only one bit per customer. No additional offers may be used in conjuction with this offer. | 23:30 |
glowplug | One small step for man. One giant leap for distributed development. 8) | 23:34 |
GentlemanEnginee | Indeed... | 23:35 |
GentlemanEnginee | So, now I stay fresh by gitting from git@github.com:juliusbaxter/mor1kx-dev-env.git. | 23:36 |
GentlemanEnginee | And I push to my own tree when ready? | 23:36 |
glowplug | This is where things get a little tricky. | 23:38 |
glowplug | You can pull from the master branch and work on your own branch simultanously. | 23:38 |
GentlemanEnginee | Back. | 23:39 |
glowplug | Oh wups you got d/c. | 23:39 |
GentlemanEnginee | Of a sort... | 23:39 |
glowplug | If you need to pull from the master branch you need to read on how to pull from master and work on your own branch simultanously. | 23:39 |
glowplug | That is the part of git that can get a little complicated. | 23:40 |
GentlemanEnginee | Hmmm... | 23:40 |
glowplug | Basically you are working on a single codebase and each branch represents a group of changes over time. You can make changes to files and commit them to your branch using git. And also pull from the master branch. | 23:41 |
glowplug | And everything stays together in your same local directory. | 23:41 |
GentlemanEnginee | Alright. | 23:42 |
glowplug | Its an elegant system but takes some time to get the commands down ect. | 23:42 |
GentlemanEnginee | I would imagine... | 23:42 |
GentlemanEnginee | Did a Linux Fairy just get its wings? | 23:42 |
glowplug | Very possibly. =) | 23:43 |
--- Log closed Sat Mar 23 00:00:35 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!