• Compiler-level parallelization and languages

    Some days ago, Intel announced a new version of their C++ and Fortran compilers. According to their announcement: Application performance is also accelerated by multi-core processors through the use of multiple threads.So... as far as I understand, and as some other news sites mention, this means that the compiler tries to automatically parallelize a program by creating multiple threads; the code executed on each thread is decided at build time through some algorithm that deduces which blocks of code can be executed at the same time.

  • Flattening an array of arrays

    This evening a friend asked me if I knew how to easily flatten an array of arrays (AoA from now on) in Perl 5. What that means is, basically, to construct a single array that contains the concatenation of all the arrays inside the AoA. My first answer was: "foldr", but I knew beforehand that he wouldn't like it because... this is Haskell. After some time we got to the conclusion that there is no trivial way to flatten an AoA in Perl 5, even though Perl 6 includes a built-in function to do so.

  • Is assembly code faster than C?

    I was reading an article the other day and found an assertion that bugged me. It reads: System 6.0.8 is not only a lot more compact since it has far fewer (mostly useless) features and therefore less code to process, but also because it was written in assembly code instead of the higher level language C. The lower the level of the code language, the less processing cycles are required to get something done.

  • Mac tutorials at ScreenCasts Online

    I've recently subscribed to (the free version of) ScreenCasts Online based on some comments I read somewhere. This is a video podcast that explains tips and tricks for the Mac, and presents third party software — either commercial or free — in great detail, which is ideal if you are planning to purchase some specific commercial program. The typical show starts by presenting a problem to be resolved or by directly talking about the specific program to be presented.

  • Keeping pkgsrc packages up to date

    drio asks in the suggestion box which is the best way to keep all the packages installed from pkgsrc up to date. I must confess that pkgsrc is quite weak in the updating area when compared to systems such as apt-get or yum. The problem comes from the fact that pkgsrc is a source-based packaging system, meaning that the end user builds packages by himself most of the times. Doing updates from such a system is hard because rebuilds take a long time and have high chances of breaking, leaving your system in an unusable status.

  • Piled Higher and Deeper

    I've been told today about the Piled Higher and Deeper website, also known as phdcomics (easier to remember). And so far I'm hooked. I love this comic strip! May it be because I'm already involved in the research area due to my PFC and I know what they are talking about? Possibly. And it also illustrates what I can "expect" if I finally enroll in a Ph.D. course.

  • Monotone's help rewrite merged

    I have just merged my net.venge.monotone.help-rewrite branch into the mainline Monotone's source code. I already explained its purpose in a past post, so please refer to it to see what has changed. There is still some work to do on the "help rewrite" area, but I won't have the time to do it in the near future. Hence I added some items to the ROADMAP file explaining what needs to be done, hoping that someone else can pick them up and do the work.