It's project week at my company! So every employee can spend one week on whatever he likes to, as long as it has benefits for the company.
I will spend this week trying to learn ScaLa. This would of course be really boring if I wouln't have a project at my hands that will be the result of this.
So I came up with Combo.fm. It is currently written in PHP, Smarty, some MySQLi and JavaScript. Especially PHP and partly Smarty can be a bit painful and aren't really contributing to the fun I normally have while programming.
The goal of the project is to evaluate IDE/Tomcat integration with Scala, getting to know the language and to try the LIFT-Framework. I am looking forward to a great programming experience and a lot of fun, fun and again - fun.
Combo.fm will be rewritten from scratch using the existing HTML and JavaScript code and hopefully extended by some features I wanted to have long ago, like authentication and a lot of other awesomeness.
Of course, the results will be published as open source code on a newly created git repository.
I will report about the next steps soon!
Saturday, August 20, 2011
Monday, May 02, 2011
Twitter share button with changeable url and no external widgets.js
Yesterday I wanted to add a "share on Twitter" button to the Combo.fm homepage, so users can share their created combo stations via Twitter, The normal button available by Twitter did not work as I wanted it to, it initializes the Button on page load. If you want to change the url afterwards, nothing happens and even the iframe solution did not work. Shame on you, Twitter!
So I created a custom solution which basically can do the same, but without the counter. Best thing is, it does not depend on the widgets.js so the page doesn't take ages to load.
I basically used the link solution for the tweet button. So assume we want to share an url mydynamicurl.com/mysubpage, but use example.com as the count url(in case twitter or I get this fixed).
The example.com/mydynamicsubpageurl is created within the website dynamically, depending on the users input and you are in no way able to put it as your current url.
Put the following code somewhere in your section:
This function is responsible for creating a popup window where you can tweet the shared url.
For the share button use the following:
The parameters are explained in the tweet button documentation linked above. If the user clicks the link, the shareOnTwitter function will be called with the link's href attribute, which will open a nice popup window that uses Twitters intent page for tweeting.
See that I use a placeholder %%shareUrl%% in the url. We will use jQuery and the JavaScript replace function to insert the actual url:
If you want to change the url more than one time, you might want to use the link in a template element and call the replace() function simply on the html. Then replace the old share link attribute with the new one.
So I created a custom solution which basically can do the same, but without the counter. Best thing is, it does not depend on the widgets.js so the page doesn't take ages to load.
I basically used the link solution for the tweet button. So assume we want to share an url mydynamicurl.com/mysubpage, but use example.com as the count url(in case twitter or I get this fixed).
The example.com/mydynamicsubpageurl is created within the website dynamically, depending on the users input and you are in no way able to put it as your current url.
Put the following code somewhere in your section:
<script type="text/javascript">
function shareOnTwitter(url) {
popupWindow = window.open(url,'popUpWindow','height=300,width=500,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes');
</script>
This function is responsible for creating a popup window where you can tweet the shared url.
For the share button use the following:
<a id="shareOnTwitter" title="Tweet example.com!" href="http://twitter.com/share?url=%%shareUrl%%&counturl=http://example.com&text=Check%20outthis%20awesome%20dynamic%20page&via=mytwitteruser" onclick="shareOnTwitter(this.href);return false;"><img alt="Tweet this!" src="http://twitter-badges.s3.amazonaws.com/t_small-a.png"></a>
The parameters are explained in the tweet button documentation linked above. If the user clicks the link, the shareOnTwitter function will be called with the link's href attribute, which will open a nice popup window that uses Twitters intent page for tweeting.
See that I use a placeholder %%shareUrl%% in the url. We will use jQuery and the JavaScript replace function to insert the actual url:
function setTwitterShareUrl(url) {
$('#shareOnTwitter').attr('href', $('#shareOnTwitter').attr('href').replace(/%%shareUrl%%/,url));
}If you want to change the url more than one time, you might want to use the link in a template element and call the replace() function simply on the html. Then replace the old share link attribute with the new one.
Saturday, March 19, 2011
burny|net - My own personal website
The last days I spent parts of the spare time I should have spent learning maths into creating a new personal homepage, including a German blog!
You can reach it at http//www.burnynet.de/.
Don't be afraid, I will continue blogging here, too. But my mother tongue just leaves me more freedom to express what I think. A blog is like a public diary, so in consequence it is mainly for my personal record - but too for entertaining you of course :)
burny|net is not German only. I created this page mainly for the purpose to have a central place which bundles all my projects and virtual identities into one website. Plus, as you aready might have seen, Combo.fm has its home there, too :)
I hope at least my dear german readers will visit my homepage from time to time - it is work in progress and an RSS feed will come, of course, but really worth visiting. Just check out my newest blog entry there, I guess you will have a lot to laugh (even those who use Google Translate ;) ).
You can reach it at http//www.burnynet.de/.
Don't be afraid, I will continue blogging here, too. But my mother tongue just leaves me more freedom to express what I think. A blog is like a public diary, so in consequence it is mainly for my personal record - but too for entertaining you of course :)
burny|net is not German only. I created this page mainly for the purpose to have a central place which bundles all my projects and virtual identities into one website. Plus, as you aready might have seen, Combo.fm has its home there, too :)
I hope at least my dear german readers will visit my homepage from time to time - it is work in progress and an RSS feed will come, of course, but really worth visiting. Just check out my newest blog entry there, I guess you will have a lot to laugh (even those who use Google Translate ;) ).
Tuesday, March 15, 2011
Combo.fm improves your listening experience on last.fm
History
Nearly a year ago I wrote about the radio query language and wrote a Java application called Combo.fm as a proof of concept.Naturally, at least as far as I'm concerned, proof of concept projects are not maintained very well and buggy and the Java application was no exception. It just had some major backdraws regarding usablitly, portability and layout which made it a no-fun project.
So about two weeks ago I got the idea to re-write the whole thing from scratch using pure HTML, CSS 3, and JavasScript. I did some investigations and as I am a curious guy I tried some new stuff like jQuery, Felix Brun's Javascript Last.fm API and the 960 grid system. They are both awesome in and of themselves, but in combination they can create a quite nice look and feel.
The result was overwhelming and the project drastically improved my Javascript and CSS knowledge. No wonder Google lets their employees spend 20% of their working time on own projects - at this point they are doing something right.
The new Combo.fm
Enough talking, just see yourself:
I added last.fm's new mix radio and also the friends radio. Using cutting edge HTML 5, Combo.fm should work with all major browsers like Google Chrome, Mozialla Firefox and reqkonq.
As I am a person with lots of ideas, the current version is, lets say: A tiny step for me, but a huge one for the last.fm community. And now replace "step" with "beer" ;)
Its current features include:
- Listen to similar artists, tags, your library, mix radio, recommendations, neighbours and the friends radio
- Combine stations as you like by connecting them with and, or and not
- Mainstream-ness: Set how much mainstream your music should be
- Set song repetition rate on a per-hour basis
- Enable or disable discovery mode
Planned:
- Sharing stations over social networks like Twitter and (maybe) Facebook
- Shout your station urls - directly from Combo.fm
- Far in the future: Last.fm player on Combo.fm which displays Combo.fm station's name properly#
Notice: Combined radio stations are still in beta stage. There might be bugs and trouble and I personally ask not to abuse it. Thank you :)
This project needs your support!
Currently the problem is that especially the new Combo.fm is largely unknown. So:
Link it! Tweet it! Like it! Share it! Put in your forums signature! Join the project!
Spread the word!
The Last.fm messias has arrived and it has great news to say: You can combine Last.fm's radio stations, in any order and as many as you like!
Special Thanks
To the Last.fm guys. You are doing good and reasonable work! Go on with that!
To all the last.fm moderators who tested Combo.fm and reported bugs.
Skiye for the discussions, chats and testing until the late morning.
Thank you
for using Combo.fm! It means very much to me :)
Tobias Brennecke
The creator of Combo.fm
P.S.: Can I have spam, bacon eggs and spam, but without the spam in it?
Friday, March 11, 2011
KDE: Creating a RocketDock style quick launch bar
Since a few days I've been looking for a KDE replacement of RocketDock, which is basically a quicklaunch bar at the top of the screen.
Today I came up with a nice solution, which isnt a perfect replacement, but enough for what I wanted:
Today I came up with a nice solution, which isnt a perfect replacement, but enough for what I wanted:
Saturday, March 05, 2011
A Spammer who won a prize and two new CD's
As always, it's been a long time since my last post. I didn't pass the test in higher mathmatics, so I have to learn a lot, plus the usual stuff I have to do for working.
I promise to continue the Ireland series and also will report you the new and noteworthy things from the FOSDEM 2011 in Brussels, where I've been with Nik.
This morning I woke up. Pling! New mail on my cell phone. It was a PM notification mail from Last.fm. You might know I'm one of the moderators there. It was something like
Thanks for being so stupid, that really made my day :D I mean, which intelligent human being either codes a bot who sends spam to mods or, if sending the message manually, checks that I'm not a bot.
Please, next time use a big red "PLEASE BAN ME" sign as avatar and the same text as profile name.
Thanks :D
Other news....I bought two new CD's, namely
I promise to continue the Ireland series and also will report you the new and noteworthy things from the FOSDEM 2011 in Brussels, where I've been with Nik.
This morning I woke up. Pling! New mail on my cell phone. It was a PM notification mail from Last.fm. You might know I'm one of the moderators there. It was something like
Maybe this is your golden chance! Just one click to win a prize! Give it a try
- it is free but if you have some luck... :)Dear Spammer!Thanks for being so stupid, that really made my day :D I mean, which intelligent human being either codes a bot who sends spam to mods or, if sending the message manually, checks that I'm not a bot.
Please, next time use a big red "PLEASE BAN ME" sign as avatar and the same text as profile name.
Thanks :D
Other news....I bought two new CD's, namely
- R.E.M. - Around the Sun with Leaving New York on it(13 Tracks, 8 Euro)
- The Doors - The Very Best Of The Doors with e.g. Riders On The Storm and Light My Fire on it(20 Tracks, 20 Euro)
I really love them both although one Euro per track is really an exception I made, because I love "Riders On The Storm" :)
And yes, I still buy CDs! I love it to put them into my CD player and read the inlet while the music is playing and most times the inlet contains lyrics, too, so you can sing the track which is playing currently. Plus you never can get a better audio quality than from CD.
Saturday, February 12, 2011
Ireland day 3: The wonderful barn
The third day I didn't do anything special, I was just soo happy to see Isy again <3
Yesterday's bus trip to Leixlip was nearly painless except the bus had to wait for a traffic accident to be cleaned up. Isy and me had a lot of things to talk about and time passed by too fast! Nina, Zoe and the rest of the family were so friendly and lovely as all the other poeple in Ireland, which is maybe a bit unusal for german poeple, but I was happy :D
When she sent me her letter weeks before, I googled her address and saw a strange building called "The Wonderful Barn" just a footstep away.
So now I liked to see it and went there with her and little Tadgh. He looked really sweet in his buggy and was very happy about the walk for fresh air and a shiny blue sky.
So here it is, the Wonderful Barn:
Yesterday's bus trip to Leixlip was nearly painless except the bus had to wait for a traffic accident to be cleaned up. Isy and me had a lot of things to talk about and time passed by too fast! Nina, Zoe and the rest of the family were so friendly and lovely as all the other poeple in Ireland, which is maybe a bit unusal for german poeple, but I was happy :D
When she sent me her letter weeks before, I googled her address and saw a strange building called "The Wonderful Barn" just a footstep away.
So now I liked to see it and went there with her and little Tadgh. He looked really sweet in his buggy and was very happy about the walk for fresh air and a shiny blue sky.
So here it is, the Wonderful Barn:
Subscribe to:
Posts (Atom)