On Thu, Aug 14, 2014 at 10:29 PM, Nick Krause <xerofoify@xxxxxxxxx> wrote: > On Thu, Aug 14, 2014 at 10:16 PM, Greg Freemyer <greg.freemyer@xxxxxxxxx> wrote: >> On Thu, Aug 14, 2014 at 7:46 PM, Nick Krause <xerofoify@xxxxxxxxx> wrote: >>> On Thu, Aug 14, 2014 at 6:12 PM, Nick Krause <xerofoify@xxxxxxxxx> wrote: >>>> On Thu, Aug 14, 2014 at 5:38 PM, <Valdis.Kletnieks@xxxxxx> wrote: >>>>> On Thu, 14 Aug 2014 17:13:28 -0400, Nick Krause said: >>>>>> I am learned C. Perhaps I am a little rusty and need to review. >>>>> >>>>> We've seen very little evidence that you *ever* really understood C >>>>> at all, and you're *far* from "a little rusty". It's been some 23 >>>>> years since I've hacked any code in IBM's Pascal/VS, and 29 since I >>>>> had to do maintenance work on PL/I code, and I *still* remember more >>>>> of those than you remember of C. (I'll admit that my mad Snobol4 skilz >>>>> have pretty much evaporated, though ;) >>>>> >>>>> http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect >>>> I learned C like two years ago and never really practiced it that >>>> much to be honest. >>>> In addition I will come back in the future about I have read The C Programming >>>> Language. >>>> Cheers Nick >>> Thanks for pointing me in the right direction , I really do need to >>> brush up on my C. >>> Sorry for wasting your time. >>> Nick >> >> Nick, >> >> The linux kernel has some of the most complex c code on the planet. >> It is seriously not a place to "brush-up", "practice", or "learn". >> >> A few _years_ of current c experience is pretty much a must to truly >> grok the kernel. Once you have that as a base, then it takes a lot of >> real study to comprehend the complex use cases used in the linux >> kernel. >> >> I suggest you find a userspace project and work with it for a year or >> two before you jump back into the kernel. Personally, I find the >> libyal family of userspace c libraries interesting. The code base is >> much smaller, but works with filesystems and is has multi-threaded >> needs. The main author is crazy smart (works for Google), so I'm not >> saying he needs your help. I'm saying the code base is small enough >> you might be able to get your arms around it and really understand it. >> That can help you understand the data structures used in filesystems, >> complex volume systems, and encryption. >> >> https://code.google.com/p/libyal/wiki/Overview >> >> You said you have an interest in filesystems (as do I). >> >> Looking at the filesystem section of that overview a couple of his >> targeted libraries haven't even been started yet. You code will >> likely be throwaway code for your first effort or two, but >> File systems >> >> Several libraries for different types of filesystems don't even have code yet. >> >> libfsclfs; Common Log File System (CLFS) format >> libfshfs; Hierarchical File System (HFS) format - at the moment >> documentation only >> libfsntfs; New Technology File System (NTFS) format - at the moment >> documentation only >> libfsrefs; Resilient File System (ReFS) format - at the moment >> documentation only >> >> For me, if I was trying to learn about filesystems, that would be a >> fun way to hack away at new code. Also, libyal has lots of low level >> libraries you can build upon so your not starting from scratch. >> Further there are lots of "tools" written that provide high-level >> end-user applications. >> >> If you'd rather look at volumes (similar to device mapper code), there >> are these projects: >> >> libbde; BitLocker drive encryption (BDE) >> libfvde; FileVault drive encryption (FVDE) >> libluksde; LUKS Disk Encryption - at the moment documentation only >> libvslvm; Linux Logical Volume Manager (LVM) volume system format - at >> the moment documentation only >> libvshadow; Volume Shadow Snapshot (VSS) format >> libvslibs; several libraries for different types of volume systems. - >> at the moment documentation only >> >> Or maybe you'd like to learn about virtual disks such as VMs use: >> >> Image formats >> >> Several libraries for accessing different types of storage media: >> >> libodraw; optical disc (split) RAW image format (bin/cue, iso/cue) >> libsmdev; storage media devices >> libsmraw; (split) RAW image format >> libewf; Expert Witness Compression Format (EWF) image format >> libqcow; QEMU Copy-On-Write (QCOW) image format >> libvhdi; Virtual Hard Disk (VHD) image format >> libvmdk; VMware Virtual Disk (VMDK) format >> >> FYI: I maintain many of the above for openSUSE and have the packages >> in the main distro. My to do list for this weekend is to package up >> libqcow, libvhdi, and libvmdk. That being my weekend plan is why I >> have libyal in my head at the moment. >> >> Greg > Greg, > Thats very understandable I will look into something else for now. > Nick I am going to work with postrqesql for now and learn from there. Nick _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies