[PATCH] usb: Fix switch statement in ohci-tmio.c
Nick Krause
xerofoify at gmail.com
Thu Aug 14 22:29:38 EDT 2014
On Thu, Aug 14, 2014 at 10:16 PM, Greg Freemyer <greg.freemyer at gmail.com> wrote:
> On Thu, Aug 14, 2014 at 7:46 PM, Nick Krause <xerofoify at gmail.com> wrote:
>> On Thu, Aug 14, 2014 at 6:12 PM, Nick Krause <xerofoify at gmail.com> wrote:
>>> On Thu, Aug 14, 2014 at 5:38 PM, <Valdis.Kletnieks at vt.edu> 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
More information about the Kernelnewbies
mailing list