Remember a long time ago we built a few neat audio tools together? Then if you remember even further back I talked a bit about my involvement with some helpdesk systems. Well, we're going to revisit pieces of those in order to build something spectacular. We are going to build our own home-grown conference software. Here's a few ideas I had in mind for this:
Chatters
Chatters are little dots that radiate sound. Whenever someone logs-in or is available to talk to, or is in the queue to be talked to, then the little dot pops up on your desktop. If you click on the dot you can get more information about the person and options to talk with them.
Group Chatter
When you want to hold a conference you simply have to group a few people up together into a roughly drawn circle. A brush on the desktop to draw that circlish figure and dragging your buddies in there. Of course, this would have to notify the intending parties that a conference is being held, to which they may or may not join.
Let's start with those first and work our way up.
Chad's work inspired me to create this little piece I call Earthlet. Enjoy :)
If you're really ambitious you can download the PhotoShop PSD file below to make additions of your own.
Out of the many projects created from Processing, this one certainly caught my eye. It's an exploration of flock behavior used to collaborate with Nando Costa in producing television spots for Fox Japan. You can read more about the exploration of the project on Flight 404. The video below is a montage of all the videos (starting with the birds).
I know I can come up with something and it shall be launched! In the meantime, check out this new design I made. At some point I should actually put some content into the design, but I enjoy this. This one is called Plenatude.
It's not nearly as complete as the others, but I like the colored rays. I think I'll build on this one and get back to you. Here's another view without the navigation links, you can see the rays better.

I also made a "People's Software Manifesto". This should count as content.
To my dismay, my Violin may not be available until Tuesday, July 29th. Well, I can atleast provide everyone with something else pretty neat and useful. I found out that network management is a really ridiculous field. One that can take a lot of work - definitely not something you can just pick up overnight. So as an added segment to yesterday's post, here's how you can use WMI to obtain process info and CPU Usage.
WMI (Windows Management Instrumentation)
Here's a really big, essentially database from what I can tell, of hardware and software specific information pertaining to individual scopes and locations. In this huge api, there are essentially 3 classes that you will need for this example.
ManagementClass: deals with a list of instances
ManagementObject: identifies a single instance
ManagementScope: identifies the path (instance context) and scope (location for remote) <- not needed for local
Not much there, now for the code.
1. Add a reference to System.Management
2. Insert the using statement: using System.Management;
3. Add the following code into the main method.
ulong cpuUsage = 0;
ManagementClass processClass =
new ManagementClass("Win32_PerfFormattedData_PerfProc_Process");
foreach (var item in processClass.GetInstances())
{
ulong percent = (ulong)item["PercentProcessorTime"];
string name = item["Name"].ToString();
if (name == "Idle" || name == "_Total")
continue;
Console.WriteLine(" {0} {1}% CPU Time \t{2}kb Memory.",
item["Name"].ToString().PadRight(25), percent,
((ulong)item["WorkingSetPrivate"] / 1024));
cpuUsage += percent;
}
Console.WriteLine("Total CPU Usage: {0}%", cpuUsage);
At my work we are working with a lot of network management related material. In light of this, I stumbled across DirectoryEntries and thus making a really simple way to list all the computers on the network (underneath all the available domains on the network).
- Add a reference to System.DirectoryServices
- Insert the using statement: using System.DirectoryServices;
- Insert the using statement: using System.Net;
- Put in the rest of the following code and you're good to go.
You guys took too long so I went ahead and got the Violin myself. I'm still curious what it would take to get something out of this community though. How about this, a project of some sort: using whatever technologies you want be it JavaScript, Silverlight, WPF or just plain ol' web programming. We don't necessarily have to have an exchange of money persay, but it would be nice to create something together. We can take a vote or something...Here's another picture for clarity.
Note: Be creative, if that makes any sense.
I'll update as soon as my Violin comes in. I'm pysched.
UPDATE: I got it anyways, you guys were too slow :P
In light of my running out of cash, I no longer have the needed resources to purchase anything more than $GAS$. :( So, here is my proposal. I will trade you (or rather create for you), the community or someone out there, one website or application of your taking in exchange for enough money to purchase 1 Violin. Here's a picture for clarity.
Hey look, an Amazon Wishlist button...
