Logo

ZLB



Blog


converted to GIT

Monday, August 30th, 2010

git in action

After seeing some benefits of it and listening to a lecture by Linus Torvalds on Git I was persuaded to switch to Git, at least to try it out in one project. I’m using GitX as a GUI, and I’m quite liking the process. It’s very easy to create branches, and to save the current working condition and go back to the previous state (git stash).

batch rename files in the terminal

Thursday, August 19th, 2010

Change from .sc to .rtf:

for f in *sc ; do mv $f `basename $f sc`rtf; done

How I backup my supercollider code

Thursday, June 3rd, 2010

How I backup my supercollider code: each time I type something AutoBackup saves the file to another folder. DropBox keeps a versioned remote copy of all extensions and code. Time machines does a backup to an external drive of all extensions and code. I have a local svn repository where I keep all versions of extension and code. This svn repository gets backed up by time machine too, and also is periodically dumped for backup. Yeah, I feel pretty safe !

IPv6, NATs, p2p and the future of the internet.

Saturday, May 29th, 2010

The future of the open, two way internet depends somewhat on the adoption of IPv6. Currently we are using IPv4, but the number of adresses is running out (and has been running out for a long time). To solve this issue we started to use NAT’s (Network Adress Translators), which basically allow on IPv4 adress to be shared by several computers. This what happens when several computers in home share that same internet connection. This solves (temporarily) the adresses running out problem, but it creates a new problem, although it’s transparent to have centralized services working such as HTTP, all the p2p services become crippled  (such as VOIP, games, torrents, etc) because when a incoming request appears at the NAT that was not initiated by a computer inside the private network he doesn’t know who to send that packet to. This why we have to configure port-fowarding and UPNP.

IPv6 would solve all this, because there are almost an unlimited number of IPv6 adresses and each computer could have it’s own, becoming a first class citizen in the internet.

Now let’s think for a moment, who wouldn’t want what ? But off course, all the business operating on the internet that are based on the centralized model (such as the media industry, etc.). It’s not in their interest to adopt IPv6, because it’s not in their interest to have end users be in parity with the big business. And thus a whole bunch of excuses are being made to keep on using IPv4, and to cripple even more the capabilities of p2p traffic.

Further reading:
IPv6 and NAT… Again !
The Future Without IPv6

ps: I’m not such a techie for internet protocols, so please forgive any technical inaccuracy…

Cloud computing, facebook alternatives and plug servers.

Sunday, May 23rd, 2010

We are moving progressively more into the cloud computing world. That means that our data is more and more in the hand of third parties, usually companies, with interests which are contrary to our own.  With the likes of facebook with already risk our personal data being turned over to advertisers, or just being made public due to the privacy policies of facebook, it’s getting more and more tricky to protect our data if it’s in the cloud somewhere out there.

To change this trend we will need to do cloud computing and social networks in a decentralized way. This could be done by having standard protocols that can be implemented by anyone, much as e-mail has functioned for a long time. If you want to have a mail server, it’s easy just install one on your server machine. It can send and receive mail from any other mail server. The same should be true of social networks or cloud computing. This is the idea behind the facebook substitute wannabe, diaspora.

So basically what is needed is that the user itself has it’s own server running, and inside it there is  the social network service, the bookmarks sync server, the calendar sync service, the contacts sync server, and mp3 and video streaming service.

There are two big difficulties here:

1 - Most people don’t know how to setup a server.

2 - Most people don’t have reliable connections with good enough upload speed and a static ip.

Problem number two could be solved by better internet connetions, and in the future we are surelly going to go in that direction (30Mbps in Europe by 2020 is the goal).

Problem number one could be solved by plugcomputing, tiny boxes that you connect to the power socket and to the network and that just work, configured out of the box. See for example tonidoplug . We could then have this little servers pre-configured and it would be just a  question of entering a couple of informations in a simple web page to get it up and running. It would then sync with all computers and mobile devices that we happen to have. This would guaranty total independence from third parties, would protect our privacy much better and give our digital data the same protection from unwarranted searches that the home already had for a long time. It’s a lot easier for the authorities to just “ask” the kinds of yahoo mail or gmail to give them your e-mails than to bust the door of your house down (they will need a warrant for that)

Now it’s a question of making it happen !

Latex - hyperref without boxes

Monday, May 10th, 2010

To have links in your pdf generated by Latex appear without the box around them or without colors, put in the preamble:

\RequirePackage[linktocpage,]{hyperref}

\hypersetup{

 colorlinks=true,
 citecolor=black,
 filecolor=black,
 urlcolor=black,
 linkcolor=black,

}

OSC - iPhone Ipad

Friday, April 9th, 2010

What does the killer  OSC app for the iPhone and iPad need to have ?

  • Custom layouts, which can be created both in an interface builder and programmatically, and can be altered on the fly via OSC.
  • Several pages of layouts. Easy ways to change pages.
  • zeroconf, aka, bonjour for easy network configuration.
  • Scripting of UI actions.
  • Physical Modeling.
  • More complex UIs than faders and knobs.
  • Multitouch UI widget with TUIO support.

Low frequency version

Monday, April 5th, 2010

Earth 2 - Low frequency version by Earth is an undiscovered treasure of drone rock. For starters it’s actually drone. Waves of shimering sound from the lowest frequencies, but with also some whirlpools of highs coming and going. It’s also a great test to any speaker system or lossless encoding scheme. With this album I could actually listen to mp3 distortion. Btw it’s also doom metal before Sunn O existed ( they know it ) and in my opinion as good or better.

SC hint #4

Monday, December 28th, 2009

VCAs in SC : a question of summing. VCAs are usefull in order not to spend cpu cycles adjusting levels with a dedicated synth, but still keeping full range on your controlling faders, knobs, etc.

(~vca = 0;
w=FlowView.new;
g = EZSlider(	w,  	// parent
		390@20,	// bounds
		"The VCA ",	// label
		\db.asSpec, 	// controlSpec
		{|ez| ~vca = ez.value;i.value  = ~vca + h.value } // action
).value_(0);
h = EZSlider(	w,  	// parent
		390@20,	// bounds
		"The fader ",	// label
		\db.asSpec, 	// controlSpec
		{|ez| i.value  = ~vca + ez.value} // action
);
i = EZSlider(	w,  	// parent
		390@20,	// bounds
		"Result ",	// label
		\db.asSpec, 	// controlSpec
		{|ez| } // action
);
)

SC Hint #3 - Block - Break

Tuesday, December 22nd, 2009

if you need to break from the middle of a iteration, because let’s say you had an error and you shouldn’t continue, then you can use:

block{ |break| 10.do{ |i| if(i==5){ break.value(999) } } }


info_at_friendlyvirus.org
sales_at_friendlyvirus.org
www.myspace.com/friendlyvirus/