Showing posts with label Tech. Show all posts
Showing posts with label Tech. Show all posts

7.6.08

Office Orchestra

Wow! This is absolutely amazing! They are able to produce music from ordinary office equipment (...in the 60s?).


Big Ideas (Don't get any) from 1030 on Vimeo.

24.5.08

Computer-Generated Music

(from radiolab)
Musical DNA

Which came first: Language or Music? We're still not sure, but now we'll ponder what comes next. Producer Jonathan Mitchell brings us a piece about David Cope, the composer and professor at UC Santa Cruz, who cured his artist’s block by writing a computer program to do the dirty work for him. His program, named EMI (Experiments in Musical Intelligence), deconstructs the works of great composers, finding patterns within the voice leading of their compositions, and then creates brand new compositions based on the patterns she finds. But it's not just copy and paste. She brings something new to the pieces. Drift along to the eerily enchanting music of EMI Mahler and ask yourself this: What would Mahler think of an EMI Mahler score? Brilliant music? A forgery?



Download computer-generated music

26.4.08

Is this true?

Is psystar a real company? Are they really manufacturing "open" computers? (as in, computers that can run linux, windows AND Mac OS).

For the moment it isn't exactly clear, some hints point towards a scam/hoax, and well, if it's real this might be big (a "mac" for $400?).

We'll just have to wait and see...

http://www.efluxmedia.com/news_Psystars_OpenMac_Now_Is_OpenComputer_16448.html
http://gizmodo.com/380488/psystar-exposed-looks-like-a-hoax

21.4.08

We heart it

We heart it is a image + video bookmarking site à la ffffound, but which actually feeds on ffffound (and flickr, and basically any site), and is extended to also bookmark videos (from youtube and vimeo).

Another cool difference with ffffound is that registration is open and you can start hearting right away.

Share your visual inspirations.

17.4.08

ffffound it!


I found it sometime ago and it's one of those sites you can keep coming back to find new (cool) stuff (well images).

FFFFOUND! is a web service that not only allows the users to post and share their favorite images found on the web, but also dynamically recommends each user's tastes and interests for an inspirational image-bookmarking experience!!
Membership is still closed to the public (it's still in beta) but you can browse the entire site.

Try it, it's cool, what more do I need to say?

21.1.07

Programmer's Progress



Cheers

UPDATE 21.01.2007: What does it say?

High School Student

10 PRINT "HELLO WORLD"
20 END

First Year Undergraduate

program Hello(input, output)
begin
writeln('Hello World')
end.

Final Year Undergraduate

(defun hello
(print
(cons 'Hello (list 'World))))

New professional

#include
void main(void)
{
char *message[] = {"Hello ", "World"}; int i;

for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}

Seasoned professional

#include
#include
>
class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size) { ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s) { return(stream << s.ptr);
}

string &string::operator=(const char *chrs) { if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}

int main()
{
string str;

str = "Hello World";
cout << str << endl;

return(0);
}

Master Programmer

[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820) ] library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820) ] cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820) ] module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820), aggregatable ]
coclass CHello
{
cotype THello;
};
};


#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};


#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk) { cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString) {
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}


CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration); ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 } };

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 } };

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1); wcsupr(wcsPath); }
else {
fprintf(stderr, "Object path must be specified\n"); return(1); }

// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1); else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath); printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {


hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt)) hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}

Apprentice Hacker

#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n"; print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n"; }
} else {
print ($msg);
}
1;

Experienced Hacker

#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker

% cat
Hello, world.
^D

Ultra High Level Programmer

system.uhdl =
SYSTEM
CREATE ScreenWin
SIZE 200000000 /Unit=One
DESTINATION Order.dest[One]
OUTPUT CHARACTER['Hello World']
END
END.

New Manager

10 PRINT "HELLO WORLD"
20 END

Middle Manager

mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello, world."?
I need it by tomorrow.
^D

Senior Manager

% zmail jim
I need a "Hello, world." program by this afternoon.

Chief Executive Officer

% message
message: Command not found
% pm
pm: Command not found
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
> help mail
help: Command not found.
>what
what: Command not found
>need help
need: Command not found
> damn!
!: Event unrecognized
>exit
exit: Unknown
>quit
%
% logout
Bipppp ! Mrs. Thompson?
Please page Tommy for me.
NOW!


~various sources

7.1.07

Oil Cooled PC


If you're a tech enthusiast and you got your recommended daily dose of tech news about a year ago, then you're probably aware of Tom's Hardware Oil Cooled PC.

Markus Leonhardt had actually tried it before (pictures of the oil computer), but Tom's Hardware took it further. I'd like to try it when I have the time, but I'd use baby oil to keep it clear.

Anyway, here's Tom Hardware's video of the Oil Cooled PC for those of you who haven't seen it yet.


6.12.06

Ethics is what we do when nobody is looking

But somebody is always looking. Specially on the internet.

Your sister may have decided you shouldn't do something on the internet. Or maybe your company filters everything and doesn't let you post to your blog, or thinks you shouldn't have access to certain pages. Or maybe even your country has decided to stop you from doing such things. Anonymity is hard to get these days.

Happily, there are some ways to bypass this. I am talking about things like Anonymouse.org, The Onion Router, and I2P.

Anonymouse was put together in a week by Alexander Pircher, a computer science student from Germany in 1997. It has since grown to become one of the most popular point your browser to when you need to surf anonymously. The principle is simple: you just type in an url and it'll fetch it for you, anonymously.

That solves web-surfing to blocked sites from repressive countries. It slows down the process of actually seeing the webpage, but, technically speaking, you're only visiting Anonymouse.org - your request is stored on a proxy and that cached copy is what you access. If you don't mind going back to the website every time you need to surf anonymously, it is a great and simple way to do it.

The Onion Router is another alternative to achieve anonymity. It is developed on the concept of routing onions (wikipedia), which are "data structures used to create paths through which many messages can be transmitted". Messages are encrypted and passed from one server to the other, forming a layered structure in which a message can't be deciphered without knowledge of the previous' server encryption - hence the name onion router.

Installation is straight-forward and available for most popular operating systems (windows, mac, linux). And usage for anonymous web-surfing is further facilitated with the installation of a Tor Button extension on Firefox - which lets you switch with the click of a button between anonymous and public modes. Tor's proxy also lets you anonymize other aplications - like a chat client for example - just by pointing that application to the local tor proxy.

Still on the line of anonymizing applications, but going a step further lies the I2P network. It no only lets you set up anonymous web-surfing and other applications (like the chat client) through the use of a local proxy, but it is designed to let you do a number of things (anonymously) on the net. Like anonymous blogging, anonymous Bit Torrent, and hosting web-pages, anonymously. You could also do some of these things with Tor (like anonymous Bit Torrent) by simply pointing the client to the local proxy, but they discourage it because it puts too much of a load on the network - and I2P is specially designed for this.

There are more differences between the two last alternatives I mentioned, so, to get a more in-depth idea of what these are and which you may actually need to use, take a look at this Network comparison between Tor and I2P.

In all, your online presence can be masked (although you will pay the price on speed, as these methods slow down your internet experience). But the real question behind this is... Should we do it?

I mean, what's legal and not just depends on your country's politicians. The same way your sister or your company may have decided what you should and should not do, someone (somewhere) in your country decided that you shouldn't download this or see that. And I'm not just talking about The Great Firewall of China and other countries which censor nearly everything like Cuba, Iran, Tunisia, North Korea and Saudi Arabia.

Not being able to see/download something is censorship nonetheless, and you have this in a number of countries (from USA to France to South Africa to Australia). Groups like RIAA and MPAA and local governments keep an eye out on the internet to try to "catch" "criminals" doing such "illegal" things as downloading an mp3, or making a digital copy of a movie. But the game has no sense when what's "legal" and what's not is defined by them anyway. It's like trying to play chess while the other person keeps making up new rules as they go along.

Sure, legality is a way of enforcing ethics. But it's got no sense when they indiscriminately sue for making a local copy of music they have legally bought. I personally think there's nothing ethically wrong with downloading, for example, Popa Chubby's Stealing the Devil's Guitar if you've bought the cd and your little sister sat on it and broke it. Or playing your old snes games on an emulator - taking for granted that you bought these in the past and, for example, your snes broke down and you can't play them anymore.

I guess I'm trying to say that legality should correspond to what is ethical, not the other way around. And, well, if your country doesn't allow you to make a choice, you've got a couple of choices to help you become anonymous and do what you think is ethical. After all, ethics is what we do when nobody's looking.

27.11.06

How much is this blog worth?

I found this tool by Dane Carlson (Business Opportunities Weblog) which computes the "value" of your site.

"Inspired by Tristan Louis's research into the value of each link to Weblogs Inc, I've created this little applet using Technorati's API which computes and displays your blog's worth using the same link to dollar ratio as the AOL-Weblogs Inc deal."

Now my blog is officially worthless!


24.11.06

A Look On Google Part 4 of 4


Future Directions – Don’t be Evil?

Google is continually making technological progress and giving it out for free in exchange of information. After all, information is what makes AdWords work efficiently, and this means money for Google.

Yet what is at stake is increasingly more important. As new information enters, more is exposed to the outside world. Google vowed (from the day of its creation) never to "be evil", but, how much do we really trust Google? What about corrupt employees or an outside attack? Any vulnerability in the system could compromise all the data we have fed into the system, and thus, the more information we make available, the greater the blow we may receive.

Some argue that Google’s image (esteemed for its clean, do good attitude) may not resist the pressure of one or two privacy disasters, making it just another internet company.

Google has also been compared with the Microsoft from ten years ago: with a powerful, main product (Windows for Microsoft, and web search for Google) and a long list of half-finished products. Google News (algorithm-based) is always a step behind Yahoo! News (where news are ultimately "human-selected"); Google Video has been surpassed greatly by YouTube to the point where it had to buy YouTube to actually get a lead in the video marketplace; and Google Talk has not yet taken off on a world where instant messaging is still largely dominated by Microsoft Messenger, Aol’s instant messenger, and Yahoo! Messenger.

This comparison has led observers to note that, like Microsoft, Google may be hampering innovation – because in any area in which Google steps in, a smaller firm already in that area will have to leave or be lucky enough to be bought by Google. Google does not easily accept this comparison, yet, it seems clear that even though they may not want to BE evil, the fact is that they are one of the biggest multinational technical corporations nowadays. And being a large corporation means many things, including power and influence.

In all, Google’s technical abilities are undisputed – so it may well maintain its clean image. Yet it will have to start behaving like a normal company, because it is only in its best (own) interest. It will have to buy out competitors, make pacts with its enemies, and possibly stand trial for privacy issues or take its competitors to court – whatever “evil” means.

23.11.06

A Look On Google Part 3 of 4


Economic Success – A Googol of Revenues

Google started out as a search engine, with no visible way of making money. In fact, it was not after a couple of years as leader in the search industry that they
decided they needed a way of making money (without harming their interface’s simple style).

The internet’s traditional way of making money online (if you have a webpage) is through banners. But banners didn't work for Google, as they would destroy its elegant and simple style.

The answer came with a system called AdWords in the form of small, unobtrusive and highly relevant text advertisements alongside Google’s search results. These “sponsored links” are placed on the results page in an order determined by auction among the advertisers. Yet advertisers don’t have to pay unless a user clicks on one of the banners, therefore establishing a sort of “pay-per-click” model, that works for the advertiser (because someone who has clicked on the link does so because he is interested) as well as for Google (they get money every time someone clicks on a “sponsored link”).

On the other hand, users can easily ignore these “sponsored links” or can actually learn to love them. So, if PageRank was what made Google’s search engine the leader, then AdWords (with its carefully chosen ads) constitutes the economic success of Google.

22.11.06

A Look On Google Part 2 of 4


Philosophy – To Organize the World’s Information

The technological difference between Google and the other search engines was the PageRank algorithm, developed by Larry Page and Sergey Brin. With it, they were able to extract order out of the apparent chaos that reigns on the internet. It is often regarded as a perfect example of an abstract mathematical application to a practical, everyday, example – not to mention a very lucrative one: both of Google’s founders are now worth over $10 billion (US).

The mathematical genius was bestowed upon them by their parents. Sergey Brin is the son of a professor of statistics and a mother who works at NASA, while Larry Page’s parents are both computer-science teachers. They have established mathematical rules to understand the internet, and believe all information can be understood in mathematical terms. And have carried with them this deification of mathematics to Google.

Google is the natural home for geniuses. It is where computer nerds just finishing college hope to work at, and where researchers from other leading technology companies (i.e. Microsoft) are migrating. And they want to work at Google, not (just) because of the high paying salaries (which are always an excellent attraction), but because they feel they are making a contribution to humanity: they are organizing the world’s information.

And not just web pages. Google has started scanning entire libraries, thus bringing offline information to the online world. They now offer web mail (Gmail), which also scans and indexes your mail. They have also developed other technologies, which allow them to amass more information (in the end, that’s what they’re after, information).

Among these technologies, we can count: Picassa, which lets users edit and organize digital photos; Orkut, a social networking site; Blogger, which lets people create a professional-looking Blog in a matter of minutes; Gtalk, for online messaging and PC-to-PC calls (it will be broadened to allow calls to landlines – for free); Google Desktop, which allows you to organize files; Google Earth, with 3d maps of the entire surface of the planet; Google Pack, which allows you to set up the main programs you need on a new computer – including free antivirus, browser, anti-spyware, etc.; an online site called Google Video, a marketplace for uploading and downloading video files which has teamed up with YouTube, effectively gathering so many users it is the undisputed champion in the video blogging realm; and Google Docs & Spreadsheets (formerly Writely), which allows users to create text documents and spreadsheets, just like Microsoft Word and Microsoft Excel, and share them online.

All this software is provided for free. They are also about to launch a new technology called the Gdrive (or the Google Grid), which will provide us with massive online storage space and possibly free internet access. This would be, of course, ad-supported, and they would be able to scan all data on their drives to index it (“organize it”). Yet indexing it, also means they are able to read anything you store, so personal privacy is essentially lost.

Some speculate that Google will later on link all these diverse systems (each of which with a massive database of stored information), creating what H.G Wells called the “world brain”. This global, all-knowing supercomputer would fulfill any geek’s artificial intelligence dream, and, in theory, possibly be capable of passing the Turing Test. [N.B. The test’s aim is to discover whether the response received through a terminal screen was produced by a machine or a human, provided we only communicate with it through our keyboard and the response is always text displayed on the screen.]

A Look On Google Part 1 of 4


The Importance of Search Engines - Historic Review

One might say that the key difference between the online and the real world is that online it is much easier to find things. Whereas in the real world, you might have to look for an almanac, check the index, look for the page and find the information you are looking for – say, Japan’s population –, online you just need to type in a simple query (“What is Japan’s population?”) and the answer is just a click away.

This simple procedure, taken for granted today, was not technologically possible a few years ago. It was not until the arrival of Google that web searching became a user-friendly task that produced outstanding results.

Sure, search engines have existed long before Google, yet the technology that drove them was significantly different. For example Yahoo!, the first popular internet search engine in the 90’s, was actually an online version of the yellow pages: web creators would submit their URL (the address at which a webpage is found), along with a commentary and related keywords. This information was stored in the Yahoo! database and used to produce results when a user typed in a query. But anything not submitted to Yahoo! did not exist on the Yahoo! database, and therefore could not be found.

Then came AltaVista, with a technology that allowed it to briefly become the best search engine available. It employed web-spiders, which are computer programs that automatically scan and index web pages, thus yielding many more results than Yahoo! ever could.
Yet the results where not ranked, and this meant that any simple query returned a vast amount of results, but you then had to sweep through the results in search of the piece of information you were actually looking for.

Google solved this by introducing PageRank. Assuming that an important webpage (say, BBC’s homepage) has more links and more pages link to it, than a less important webpage (say, my personal blog), then PageRank assigns a value to each of the pages it finds on the internet, according to a complex mathematical algorithm involving the hyperlinks between web pages.
This value allows Google to rank pages in order of relevance to the search query. Directly, it meant that users did not have to sort through the result pages to find what they were looking for, as the most relevant results are displayed first on the result pages. Indirectly it meant that other search engines, such as Yahoo! and AltaVista had met a rival that, in just five years, would manage 80% of online searches.

Main Source: The Economist

Turn your PC into a Mac

We all know Mac is cool and Windows is dumb. This is no news. Common sense would tell us to buy a Mac the next time we need/want to change computers. They're more stable (it's based on Unix), they're virus-free, very user friendly and - let's face it - they're beautiful!

On the other hand, there are also very sound reasons not go that way, most importantly:

1. We may simply not need a new computer for the moment.
2. We depend on software that only runs on the Windows platform.

Happily, there is now a (VERY) easy way of getting the Mac's eye-catching beauty on any Windows XP. You can still use all the games and software you've "bought" along the years (and gotten used to) - you're system will still be a Windows XP. But, graphically you'll see it like a Tiger OS.

For a long time, many tweaking programs have existed, but you needed a different program for tweaking different areas (ex. WindowsBlinds for the windows and GUI, Icon Packager for the icons, install the dock, change the cursors, etc.).

With Flyakite, it has all been summed up in an easy point-and-click package that does everything for you. You just need to download (30 megs) and run (the link comes from here). It even turns your MSN Messenger into MacSN, which has the word Mac in it, so it's cool.

The full Mac OS look includes an Object Dock at the bottom which I didn't get used to, so I just un-clicked the Run at Start Up box and forgot about it for the rest of my days. But in the end, the idea is you can keep what you like and remove what you don't. It's even easy to remove it completely and revert to how your desktop looked before any changes were applied (gasp!).

Anyhow... here's a complete manual on the matter, and some general system requirements.


Be Svaj

Design by Dzelque

Svaj Malizo - Design by Dzelque