Archive for the ‘Computer Science’ Category

Embedded Linux Conference 2008

Posted on May 14th, 2008 in Computer Science, Hardware, Software | Comments Off

Rafael Ugolini sent me these awesome links about Embedded Linux Conference 2008, all the videos and reports (from all years):

Videos like…

  • Keynote: The Relationship Between kernel.org Development and the Use of Linux for Embedded Applications, by Andrew Morton (Google)
  • UME - Ubuntu Mobile and Embedded, by David Mandala (Canonical)
  • Back-tracing in MIPS-based Linux Systems, by Jong-Sung Kim (LG Electronics)
  • Using a JTAG for Linux Driver Debugging, by Mike Anderson (PTR Group)
  • Go check:

    Videos: http://free-electrons.com/community/videos/conferences/
    Reports: http://free-electrons.com/articles/conferences/elc2008-report/

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Printing the binary value of an integer

    Posted on May 13th, 2008 in Computer Science, Software | Comments Off

    You can printf an integer in many forms, including decimal, octal or hexadecimal. What about binary? This is not the first time someone asks me this, so I’ll just post it here:

    >  ./dec2bin 3
    3 -> 00000000000000000000000000000011
    >  ./dec2bin 4
    4 -> 00000000000000000000000000000100
    >  ./dec2bin 5
    5 -> 00000000000000000000000000000101
    >  ./dec2bin 6
    6 -> 00000000000000000000000000000110
    >  ./dec2bin 7
    7 -> 00000000000000000000000000000111

    A simple solution could be the function below, note that it is limited to 32 bits:

    static char *dec2bin(int dec)
    {
            char *str, *ret;
            int i;
            const int bits = 32;
     
            ret = str = malloc(bits);
            memset(str, '0', bits);
     
            for (i = bits-1; i >= 0; i--) {
                    if (dec % 2 == 1)
                            str[i] = '1';
     
                    dec /= 2;
            }
     
            str[bits] = '\0';
     
            return ret;
    }

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Essential Linux Device Drivers

    Posted on May 2nd, 2008 in Computer Science, Software | Comments Off

    I was searching around amazon to see new titles and for my surprise there was this brand new book, Essential Linux Device Drivers, dated April/2008, ~750 pages, like my older post, Linux Kernel Development, and my suggestion never posted, Linux Device Drivers, will give you the best tools around to understand and work in Linux, now continuing with the description:

    “Probably the most wide ranging and complete Linux device driver book I’ve read.”
    Alan Cox, Linux Guru and Key Kernel Developer

    “Very comprehensive and detailed, covering almost every single Linux device driver type.”
    Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation

    Read the rest of this entry »

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Interview with Donald Knuth

    Posted on April 26th, 2008 in Computer Science, Software | Comments Off

    Andrew Binstock and Donald Knuth converse on the success of open source, the problem with multicore architecture, the disappointing lack of interest in literate programming, the menace of reusable code, and that urban legend about winning a programming contest with a single compilation.

    Andrew Binstock: You are one of the fathers of the open-source revolution, even if you aren’t widely heralded as such. You previously have stated that you released TeX as open source because of the problem of proprietary implementations at the time, and to invite corrections to the code—both of which are key drivers for open-source projects today. Have you been surprised by the success of open source since that time?

    Donald Knuth: The success of open source code is perhaps the only thing in the computer field that hasn’t surprised me during the past several decades. But it still hasn’t reached its full potential; I believe that open-source programs will begin to be completely dominant as the economy moves more and more from products towards services, and as more and more volunteers arise to improve the code.

    For example, open-source code can produce thousands of binaries, tuned perfectly to the configurations of individual users, whereas commercial software usually will exist in only a few versions. A generic binary executable file must include things like inefficient “sync” instructions that are totally inappropriate for many installations; such wastage goes away when the source code is highly configurable. This should be a huge win for open source.

    Yet I think that a few programs, such as Adobe Photoshop, will always be superior to competitors like the Gimp—for some reason, I really don’t know why! I’m quite willing to pay good money for really good software, if I believe that it has been produced by the best programmers.

    Remember, though, that my opinion on economic questions is highly suspect, since I’m just an educator and scientist. I understand almost nothing about the marketplace.

    Read the rest of this entry »

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    New baby

    Posted on April 16th, 2008 in Business, Computer Science, Hardware, Software | Comments Off

    Our new baby is about to born, look how beautiful:

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Linux Kernel Engineer – Brazil, São Paulo

    Posted on March 25th, 2008 in Business, Computer Science, Software | Comments Off

    This is an interesting position that just opened, if you are interested, mail me:

    Company:
    Pioneer in the implementation of hotspot networks and in the development of Wi-Fi access systems in a Global way, Vex’s goal is to provide easy and fast wireless Internet access in public locations. We make our infrastructure available for our partners – Telecom Operators and Internet Service Providers around the World - that offer the network service to their customers and end-users. In this sense, Vex operate as an infrastructure wholesaler.

    Description:
    This position requires in-depth knowledge of and previous experience with embedded operating systems, IPC mechanisms, I/O subsystems and hardware interfaces. Must have worked in kernel space and be very familiar with the Linux Open source issues. Be able to do coding in C/Assembly. Must have worked with embedded software components such as boot loaders, board support packages, device drivers and kernel modules. Must be capable of analyzing and debug kernel and application level anomalies and interactions in an embedded Linux environment. Must have strong experience in low-level system software concepts including interrupt handling, multi-tasking, and multi-platforms. Must be conversant with embedded software development tools, debuggers, compilers, etc. Must have experience working in operating system internals.

    Requirements:

    • Min 3-9 years of experience in C programming.
    • At least 1-2 years experience specifically in Linux Kernel Programming and overall good familiarity with Linux kernel Code.
    • This position requires a knowledgeable, experienced software engineer with significant embedded Linux kernel experience.
    • Possess a good track record of contribution to Linux code, experience with coding device drivers, strong knowledge of C, and an understanding of microprocessors at the machine level (x86, mips, arm, …). Knowledge in other embedded OS or PC architecture will be an advantage.

    Details:

    • Location: Brazil, São Paulo (Morumbi)
    • Compensation: R$60k - R$78k (CLT)

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Chip offers 5Gbps short-range wireless

    Posted on February 25th, 2008 in Computer Science, Hardware | Comments Off

    Gi-Fi Chip

    A new wireless technology has been developed that should serve as an extremely fast replacement for technologies such as Bluetooth and ultra-wideband (UWB), says Australian research group NICTA. Nicknamed GiFi, the process would use a chip (not pictured) that transmits at an extremely high 60GHz frequency versus the 5GHz used for the fastest forms of Wi-Fi. The sheer density of the signal would allow a chip to send as much as five gigabits per second. While the spectrum would limit the device to the same 33-foot range as Bluetooth or UWB, it could theoretically transfer an HD movie to a cellphone in seconds, the researchers claim.

    The technology could also be used for beaming full HD video in real-time and could be used by notebooks and other computers to wirelessly connect virtually all the expansion needed for a docking station, including a secondary display and storage. Mixing and signal filtering would keep the signal strong versus the longer-ranged but slower and more drop-prone Wi-Fi option of today.

    NICTA does not expect a production-grade chip to leave the development stage until early 2009 but notes that any future chip would likely cost about $10 or less to build. This and a small design would allow cellphones and other small devices to add the technology without significantly drive up the price, according to the company. The change opens the possibility of a successor to UWB and its related technology Wireless USB, which matches the same range but roughly the same 480Mbps peak speed of its wired equivalent.

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    360° Video

    Posted on February 22nd, 2008 in Business, Computer Science, Hardware, Software | Comments Off

    360 Camera

    My friend Camilo Telles did his master thesis on this exact subject, he projected this camera entirely in wood and cheap web cameras, he also wrote a software to integrate all the images in one single, it’s not his work, but it’s similar and very interesting.

    Reference: http://adn.blam.be/papervision/

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Linux Kernel Development

    Posted on February 12th, 2008 in Computer Science, Software | Comments Off

    Linux Kernel Development

    If you look major book sellers for Linux Kernel books, you will be disappointed, there aren’t many titles available, I remember a long time ago, when Alessandro Rubini wrote his first book about Linux Device Drivers, I think it was the first big hit, then shortly it became obsolete, as Linux runs fast.

    Accordingly to Amazon the most popular Linux Kernel book nowadays is Linux Kernel Development written by Robert Love, in it’s second edition focused in version 2.6.

    I was deeply involved in other subjects, reading piles of books when it came out few years ago. Right now in my vacations I had the opportunity to start reading it, you know, writing kernel code makes me relax, and I must say, Robert has talent, it’s very well written, clear and a not so simple subject becomes accessible, I recommend.

    If you enjoyed this post, make sure you subscribe to my RSS feed!

    Classical Computer Science Texts

    Posted on January 19th, 2008 in Computer Science | Comments Off

    A compilation of classical computer science texts, from people including:

    • Brian W. Kernighan
    • Donald E. Knuth
    • Ken Thompson
    • Dennis Ritchie
    • Sergey Brin
    • William Henry Gates III
    • Paul Graham
    • Peter Norvig

    Source: http://e7l3.org/classics.html

    Idea: http://www.tellesfera.com/?p=27

    If you enjoyed this post, make sure you subscribe to my RSS feed!