Follow your rights: statement as tweed.

This is an experiment. And I want to clearify that I’m neither a communist nor someone who never buys music, both isn’t true. But an industry not getting tired of trying to control very important aspects of our lives just to guarantee some profit is indeed driving me nuts. So here’s my plan.

Maybe you’ve heard that the music industry finally decided on dropping charges against individuals, and that from now on the strategy is to work with ISPs to simply cut off unprofitable users. This reminds me of ancient laws ( that are, unfortunately, still used in some parts of the world ) where a criminal would get his hand cut off if he used it to steal something with it. 

While some countries like France are already in the process of passing such a law, elsewhere lobbyists are still busy convincing politicians to do so. If you want to get into the topic, a good place to turn to is certainly the Electronic Frontier Foundation, featuring an article covering the topic.

If you are just like me, and many other folks, just follow a specially created twitter-user called #ourrights. This account will link nowhere, it’s just a statement to follow it. Please also spread the word by posting an update on your tweed. Thank you, and always keep in mind that we are the masses.

Finally ( after years ) DRM-free music in iTunes

Actually it’s nothing that’s pulling me off my chair, just because it’s not that hard to get digital music without copy protection. But I’m a bit impressed that Apple is actually the first legal music provider to sell music without any DRM system. 

Already bought songs can be updated for something around 30 cents, which certainly sucks hard, and the price for new songs can be anything between 69 and 129 cents, a long-time demand of the music industry. 

I guess not the action itself is the big important here, but rather the perception of some guys over at Universal or wherever that DRM just doesn’t work. No it’s finally there: legal, unprotected music ( like in the old days ) at a reasonable price ( not like in the old days ). Welcome.

Foodhacking

Good morning.

 

French fries

French fries

I just realised why i like cooking that much. Because it’s hacking – in a way. My french roommate ( a cool guy btw ) is very good at that, and he impressed me by – bring in the cliché – preparing french fries in a pan. 

I’m curious. All the time, people affine towards computers and related stuff are considered to eat only instant food or microwave dishes. True? I don’t think so, many nerd-friends of mine tend to cook from time to time, not the worst stuff.

It may of course also be affected by the desire for quality. Programming and hacking is sometimes just motivated by the need to improve a situation or to simplify a workflow. Same for food, I guess.

Breakfast was tasty, by the way.

Improving your Software efficiently: Talking to users.

Yes, I know, it sounds very, very odd. Users, bah, just keeping everyone from doing really useful stuff. Users, always finding bugs that turn out to be not-so-well implemented features. Users, not understanding the big ideas powering the programs we develop and the time we spend. Users, still using that outdated 5-year-old version of a product just because they are used to it. Users, not willing to switch just for the sake of having switched. I don’t understand it. 

But it’s users using ( and sometimes even buying ) software. And maybe you are involved at building a software product. I bet you consult your friends or fellow colleagues from time to time seeking input for a form, text, feature whatsoever. People who are just like you are the worst giving you advise on how to do something. I do have friends who are still pretty happy using zsh and rocking the world using the shell. But that’s just not the majority. 

Everytime I’m thinking about something cool in terms of a new project, I talk to my strategic consultants. I meet them when I’m at my parents house at dinner. They consist of: My father, my mother and my brother. And it sounds odd again, but explaining something to people who are potentially end-users, you’ll get a clue about how useful your software idea is considered in an instant. And that’s the kind of feedback I’m looking for. I know that most of my fellow students are used to the most weird kinds of application, expecting valuable feedback from them considering anything computer-related is like asking a priest for his opinion about the existence of god. 

So my message at the end of the year is simple: Talk to users. Not only when it comes to usability testing ( which is also crucial ), but at just every step of your project. That’s where the focus should be. For me that means: having dinner regularly. Nice, hm?

Jumblesale: A better platform for selling your stuff

Selling your private stuff has become quite tricky lately, in contrary to ( fill in any web-related stuff here ). It was always my intention to sell things i don’t need any more in a simple way somewhere. In a simple way. I just can’t consider eBay simple. I don’t want to create fancy custom-layouts. I neither want to read through one’s comments to find out whether he or she is a black sheep or not. 

Well, long story short, I had an idea ( once again ). I want to build a simple platform that supports especially the blogging people in selling stuff. Why blogging people? Because a modern system would best integrate there, i guess. 

I named it jumblesale, and I’m going to specify what it’s good for. The intended audience is people who occasionally find stuff they don’t have use for anymore and want to sell it, e.g. a TV-Set or an old iPod: Non-Commercial and for private use only. This is to ensure that the focus is not on competition but on selling. This is also emphasised by choosing NOT to allow auctions. I just don’t want to place my 3g-iPod on eBay for a starting bid of 1€. I want to sell it for 120€, and whoever wants to get it for that money, simply can. 

By building the system in a way that supports RESTful access, it can be easily used from outside systems and integrated into blogs, widgets and more useful places. 

I also decided that the eBay of rating sellers isn’t the best, at least not for a small marketplace. I always liked the idea of having a circle of trust, members that guarantee for each other. So each new member requires to have an invitation to sign-up, and a higher count of “friends” at jumblesale will increase ( hopefully ) the trust buyers have in a seller. There is no plan to combine it with other features of a social network, such as messaging and so on, but the friend feature is very useful in this context. Maybe conflicts may be easier resolved by a social pressure forcing a seller to act properly.

Right now I’m exchanging my thoughts on this topic with a friend of mine, Sven Pfleiderer, and we’ll maybe handle this as a project for our studies. You can read his blog here 

Merry christmas once again!

Merry Christmas

to all of my readers! I’m going to celebrate with my family now and have some party afterwards with a lot of my friends. Hope to see some of you there. 

P.S.: Got a nice new Exilim Digital Camera.. niiiice, see:

[singlepic id=1 w=320 h=240 mode=web20 float=center]

Pass-by-reference workaround in Java

As anybody knows, java passes variables by value. and i haven’t found the magic compiler switch to change that. of course, there are problems caused by this restriction, but in most cases, pass-by-value works just fine. 

If you end up in a situation where it’d come in handy to have a pass-by-reference facility, think about the way java is storing objects, and how these objects are then passed-by-value. 

First of all, an object variable contains only a ( typed ) memory address. Thus, comparing e.g. two strings for equality will yield only true if they are in fact the same strings, same applies for all other types. And this is the value. So in fact you pass a ( kind of ) pointer to a function, enabling to manipulate the original object, as the object is not cloned or something else.

Its also common to encapsulate basic types like int into a object just for the sake of manipulating it in some methods.

So let’s break it down to a simple example:

class MInt {
	int x;
}

public void inc(MInt what){
	what.x++;
}

This will result in the int x of a MInt object being indeed incremented. Let’s imagine calling a increase method with a plain integer. This will change just nothing, at least not outside the methods scope.

Whats next – Sharer: Better File Sharing.

Good morning. It seems I have to stay wake so i don’t oversleep. Oversleeping would mean something like missing a flight, not really desirable. 

Staying wake always makes me do weird stuff in the middle of the night. That is, reading all feeds I recently ignored, taking care of stuff that has to be taken care of ( that is university ) and scheduling my activities for the upcoming, lets say, 3 weeks. 

Blogging is definitely a part of it, as I’m not exactly happy with the posts here. I’m working on it, to be more sepcific: I’m planning to do an article series on a .. secret topic. You’ll see, but I still have to finish work on Sharer, my LAN-Filesharing utility. I’ll tell you something about it. 

Sharer is at the moment simply a damn simple binary protocol and a Application implementing it. The protocol structure is quiet simple. A connection between two clients is initiated by establishing a control-connection. Thats the one used to retrieve metadata like file information etc.. If a client wants to get a specific file, it requests a transfer connection. File is being sent over it. I’m still working on it, as it appears to be more work than I initially planned. 

This whole project is based on the idea that simple file sharing that is decentralised and restricted ( or at least primarily designed ) for use in local networks is pretty much a lame topic. Every major company is proud to have some own protocol there, them being not compatible bla bla bla. So i decided to waste some time on this proof of concept. To make it really useful and simple to use ( remember \mycomputer or \192.168.0.12 ? that is _not_ user friendly! ), Sharer uses the Bonjour for Java Bindings provided by Apple. The Usage is quite straightforward, and it works well. I haven’t checked out yet if these Bindings are also available for Linux, but I hope so. At least for Windows and Mac(!) they are. 

I think I’ll try to online check-in now. Window seat.