No surprises. Aluminum and glass. The new iMac is even nicer than previous one.
And I love this comparison with a Dell…
No surprises. Aluminum and glass. The new iMac is even nicer than previous one.
And I love this comparison with a Dell…
I’m beginning to fall in love with Shuttle barebones. This is the SG33G5, available for 325 EUR,
It is quite nice looking machine, with a very small form factor. With a very low noise level, it is also a suitable machine for a media center, where it could be connected to a HDTV though the HDMI output located in the rear.
The complete specifications are:
* Intel G33 Express / ICH9DH
* Supports Intel® Core[TM] 2 Quad, Core[TM] 2 Duo E6000/E4000 Series, Pentium Dual-Core E2000 Series, Celeron 400 Series with 775 socket, FSB 1333
* Max. 4 GB Dual Channel DDR2 800 (OC to 1066 MHz)
* 1x PCI-E X16, 1x PCI
* Gigabit LAN
* 2x Firewire, 6x USB 2.0
* 3x SATA2, 2x eSATA
* 8-channel audio wtih Dolby® Digital Live! and DTS® Connect
* DX9 ready Intel GMA3100 graphics with HDMI incl. HDCP
* 250-Watt power supply
* 310(L) x 200(W) x 185(H) mm
The two PCI slots could be perfect for a TV tunner and a wireless card. I would need to add two memory sticks (2×512Mb = 2×27 EUR at crucial), a Intel Core 2 Duo (about 90 EUR), a hard disk (I have a 250Gb spare one at home) and a DVD-RW (about 40 EUR), and I could have a great media center for about 500 EUR.
select() is a relatively expensive operation. Well, it is never described as such in operating system courses, but it is in fact, specially when you design programs that handle a lot of file descriptors. Let’s see why.
Most servers work in the following way. When a new client connects and a session starts, the server establishes a connection though a socket. The server must then periodically check that socket and see if the client has sent any new data and, in that case, the server will probably process it, do some work and return an answer to the client.
What’s the problem with this? The problem happens when a lot of connections are handled by the server. Hundreds of sockets must be checked (polled) and this consumes a lot of time. Even when the poll()ing operation is short, the interchange of information between user and kernel space and the syscall becomes a problem when it is multiplied by a long list of connections.
The preferred solution is then the use of select(). With this scheme, you invoke the function with the list of descriptors you are interested in, and the kernel tells you whether a one of them is ready, whether or not you’ve done anything with that file descriptor since the last time the kernel told you about it.
But select() have also some problems with the descriptors list. This list must be built every time the functions is invoked, and it must also be checked after the function returns in order to see which sockets are ready. I don’t want to go into too many details, but we must know that the kernel is also quite inefficient when checking descriptors, as it goes along the list several times, performs copies, etc.
So, this is the moment when libevent comes to the rescue. Libevent is an abstraction over other operating system specific solutions (kqueue, epoll, etc) that gives good scalability when the number of descriptors grow. “libevent is meant to replace the event loop found in event driven network servers. An application just needs to call event_dispatch() and then add or remove events dynamically without having to change the event loop.”
I will be using libevent during the next month or so…
From Frans Johansson’s book The Medici Effect:
Brainstorming [is] used in nearly all of the world’s largeset companies, nonprofits, and government organizations. And the reasons seem obvious… “The average person can think of twice as many ideas when working with a group than when working alone.”… But is it true?
In 1958… psychologists let groups of four people brainstorm about the practical benefits or difficulties that would arise if everyone had an extra thumb on each hand after next year. These people were called “real groups” since they actually brainstormed together. Next, the researchers let “virtual groups” of four people generate ideas around the “thumb problem”, but they had to brainstorm individually, in separate rooms. The researchers combined the answers they received from each [virtual group] individual and eliminated redundancies… They then compared the performance between real groups and virtual groups…
To their surprise, the researchers found that virtual groups, where people brainstormed individually, generated nearly twice as many ideas as the real groups.
The result, it turned out, is not an anomaly. In a [1987 study, researchers] concluded that brainstorming groups have never outperformed virtual groups. Of the 25 reported experiments by psychologists all over the world, real groups have never once been shown to be more productive than virtual groups. In fact, real groups that engage in brainstorming consistently generate about half the number of ideas they would have produced if the group’s individuals had [worked] alone.
In addition, in the studies where the quality of ideas was measured, researchers found that the total number of good ideas was much higher in virtual groups than in real groups.
I’ve been looking for an affordable media center for some time or, at least, some combination of DVD, digital media (ie, mp3, DivX) and, maybe, recorded TV shows. However, I haven’t found a cheap solution for this. Let me show which alternatives I have considered:
1. Mac Mini
About 670 euros, with a ridiculously small 80Gb HD, a DVD+-RW and the basic memory.
It is a great machine, with very low power consumption and practically silent, but with a very small HD and slightly expensive. The catch? The operating system, with a slick interface, and the integration with the rest of my media software (ie, iTunes, iPhoto, etc).
2. AppleTV
About 280 euros, but with a big problem: there is neither DVD playback nor DVR functionality. Apple thinks that DVDs are something from the past, so we have to follow their path or look for alternatives… Good point are, as with the Mac Mini, interface and the integration.
3. AppleTV + Wii/XBox
Ok, as the AppleTV is not enough, maybe we could add a Wii or an XBox for the DVD playback and, at the same time, I could have some fun. This combination looks really sexy to me! Games and DVD, keeping the integration of the AppleTV with my media from my other machines. Maybe a bit expensive: 280 + 240 (Wii) or 450 (XBox360)… I have to check this out, because it looks fine but I would not have a PVR.
4. An XBox
Yes, it is great for just 450 euros, but you need a Windows Media Center for streaming movies, and I’m using Mac. Besides that, the list of media formats is ridiculous…
5. AOpen miniPC
This
- Microprocessor. Maybe more than 100 euros.
- 2.5″ hard disk. These are expensive: 120 euros for 160Gb).
- Memory: 1Gb (2×512Mb) = 40 euros
- An optional capture card (about 60 euros)
The total could get up to 600 euros.
6. Linksys DP-1600
It loooks really nice:
7.My own system.
Maybe I should build my own PC from scratch. A Mini-ITX machine would be nice, with a very small form factor and lowest power consumption, but best motherboards, those where I could put an Intel Dual Core, are really expensive. So maybe I should go for a Micro-ATX. I would talk about this in my next post.