D-Bus is a software framework for inter-process communication. It is integral to the operation of modern Linux. At present, its performance is suspect.
The attached document (draft version 0.9.9) summarises a series of experiments and benchmarks which were performed to characterise the performance of D-Bus.
Business plan guidelines often call for an explanation of the customer "pain" that the proposed business is to relieve. This thinking is too narrow. Large disruptive ideas often start with an idea which does not intend to address a pain point.
There is a formula for running a successful tech startup accelerator. It was developed by the prototypical accelerator, Y-Combinator. Some accelerator programmes veer from the formula in an important way: they do not provide funding. This is a fatal mistake.
This article lists the top 10 most used Haskell packages and summarizes each.
IPC frameworks on Linux come in two varieties: complicated and nonexistent. This article presents the design for a very fast IPC framework that uses shared memory and supports multicast messaging. The design is flexible and not complicated.
- http://ycombinator.com/about.html - YCombinator. The mother of all tech startup incubation programs.
- http://bootup.ca - Canadian incubator in Vancouver.
- http://500startups.com - A well-reputed YCombinator clone.
- http://angel.co - Popular social network connecting angels and startups.
- http://www.founderinstitute.com - Startups and mentors. Has a 4-month incubator program.
- http://angelpad.org - A YCombinator clone in SF.
- http://www.ventures.io - Another SF-based YCombinator clone.
- http://www.poly.edu/business/incubators/160-varick - NY incubator.
My iMac's hard disk failed. It was under AppleCare warranty, so the service personnel replaced it. Previously, Mac OS 10.5 was on the old HDD. The new HDD came with 10.6 installed. Upgrade! Though, it's a bother because the system back up worked on 10.5, but does not fully work on 10.6. So, I'm having to replace some apps, and reinstall stuff, and reconfigure stuff.
In case you were wondering: Mac OS 10.6 is significantly faster than 10.5! I guess there was a bright side to my HDD failure.
Position Independent Code
When you compile a shared library (with
-fPIC, in the case of
gcc), you are specifying that you want the compiler to generate position independent code.
Position independent code never uses straightforward machine addressing modes to access global variables, static variables, or non-static functions. Instead, position independent code accesses these kinds of data indirectly.
PLTs and the GOT
Copy n bytes of data, and it takes t time. Copy 2n bytes of data, and it takes 2t time, right? Not necessarily.
In-memory data-copying performance is not so straightforward. This article explains how the rate of data copying changes with the amount of data copied.