Re: [slim] Re: Moose 0.05
I just installed it and have been giving it a good thrashing on my laptop (ooh err) Sounds a bit rude! Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Slim Server/Suse Linux 9.3
Can someone add the SuSE script to the Wiki? Done: http://wiki.slimdevices.com/index.cgi?SUSE93StartupScripts Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
RE: [slim] Re: Interesting link in svn trunk
It looks quite flat. With some handy work, I bet you could stick it on the wall. Drool... Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] web interface problem ?
on windows xp when I doblue click on the slimtray the default web browser pops up. sometimes it opens localhost.be instead of localhost. this happens since my first slimserver install (august) and continues up to the lasets beta I tried (20/10). Do you have any idea about this one ? Is there an entry 127.0.0.1 localhost in your hosts file? Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Performance measurements ?
And as I said in an earlier post, the measurements taken here show the _real_ time it takes for the CLI to perform some database query. Sorry, your test tool does not quite do what you say... it does not measure _the_ time it takes, rather, it measures only _a_ single run which by itself *plus* all the perturbing affects of an uncontrolled system, is terribly inaccurate. The numbers reported early demonstrate and support this. A single run of the tool is competing with the rest of the processes running on the system - there are dozens or hundreds of threads also running and competing. Your test tool does not isolate the various affects that perturb measurements, so its the benchmarker's job to defeat such affects. With the earlier results reported being 2-3x out of agreement, it is clear that what is being benchmarked, is not in fact what you believe is being measured. Therefore, drawing any conclusions is not very meaningful, or useful. Numerous background processes, virus scanners, network activity, disk spinup time, low-power to max-power CPU speedup time, swapping, disk cache, hardware interrupts, are factors which need to be eliminated and reduced before conclusions can be drawn. All true, but please bear in mind what this tool actually tries to do. There are quite a few complaints about performance of the server. Performance in this context is something that is perceived, it is not a measurement of top speed. When people complain, they probably just tried to use their SB. During that test, there were all sorts of other processes running, just as you explained. That very experience of performance makes them act and send out a call for help. This tool tries to do exactly that. It is _intended_ to run on a system that is polluted by all sorts of junk. The measurement would not be realistic if there wasn't any real life interference by whatever tries to slow the server down. All we have now is some vague indication of performance. If someone complains the server stalls when I navigate to that menu, then click right, and then press play, it could be very handy to have the queries to the database that correspond to his actions, and have his server (running all the junk that is messing up the machine) to spit out a more tangible value than it is sooo slow. I don't expect the tool to be very accurate in the light of all that is said, but the bottom line is that if someone wants their toy to play a piece of music, and it takes say 1 minute to start the play whereas a normal server should be able to start in about a second, this tool could give a more accurate indication of what the user experiences. If the stats are very poor, maybe people could do some digging into what is making the server so slow. Turn off whatever service they suspect, run a couple more tests (using the same tool with the same queries on the tuned server), and if these new tests show a significant and consistent drop in response time (say, a factor of two or three), then I guess they are on to something. These are just ballpark figures (and very probably a huge ballpark at that), but still the tool could be used to quantify what people see on their messed-up server. It is no different than the server stats that the nightlies can spit out. They too have to be scrutinized with care, and cannot be readily compared to other installs. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Performance measurements ?
I'm sure what they all really mean to say, Niek, is thank you very much for your contribution. :) I know. I was just replying you're welcome, grab a cold one and put your feet up. Cheers, Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Performance measurements ?
Why would 10 titles take more time than 100? Your guess is as good as (or possibly better than) mine. But there is no introduced artifact from the test program that I can see (the very simple source is here: http://media.qwertyboy.org/files/sstime.c). I indicated in an earlier post that the testing methodologies being used here are un-controlled, and the margin of error is too high to have any meaning. Without proper controls put into place, and reduction of all extraneous variables, such tests should be for amusement only. And as I said in an earlier post, the measurements taken here show the _real_ time it takes for the CLI to perform some database query. Yes, the numbers that various installs yield are probably hard to compare amongst each other, but the fact remains that this _is_ the time some defined query takes to return results using the CLI. If the CLI should give similar performance to a Slimpy/SB/SB2 when executing queries (and I'm not knowledgeable to say they do, but I can't see why not), then these numbers give a good indication of how long our beloved hardware has to wait for the server to response. Again, this is _NOT_ meant to show how the server performs in an ideal, controlled environment, this is a down-to-Earth measurement of real life installs. Can someone tell me how these performance measurements differ conceptually from what the graphs show that Triode made that are in the nightlies? Are they also for amusement only? They too give some idea of a real install, and are not meant for an ideal, controlled environment. Now if we could come up with a set of CLI commands that give a good representation of what a real scenario would fire at the database, we would have an objective indication of performance instead of vague statements like it is too slow or whatever. _That_ is what I'm trying to get to. Unless I am totally off base here... Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Slimscrobbler- why should I have it?
Ok, I got it working so far... A Wiki update perhaps? http://wiki.slimdevices.com Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
[slim] Re: Performance measurements ?
I have placed the programs and the source for the Linux version on a regular page on my site. The site itself is under active development, so please bear with me when I have screwed things up again. See: http://media.qwertyboy.org/mono/niek.aspx?Page=SqueezeBox -- Niek Jongerius ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Performance measurements ?
Second pass: [55.391] titles 0 1 Third pass: [66.390] titles 0 1 With a 20% variance, we can see that the testing methodology and environment is very rough. And, with Niek running a P4/2.8 getting [24.201] titles 0 1 and Bill running a P4/3 getting an average of [60.114] titles 0 1 There's an almost 2.5x difference in times running on hardware where hardware specs alone would account roughly for only 10% difference. Hopefully nobody will look at these data points and attempt to draw unwarranted conclusions. Agreed. There are too many variables in the way machines are set up to readily compare output numbers. CPU and RAM are by no means the only variables here. OS, procs running, procs priority, intermediate network (if test prog is run over a network) etc. But bottom line still is that it takes that reported amount of time for the SlimServer to cough up the data requested (assuming the CLI uses comparable ways in getting the data). If Bill is getting 2.5 times worse performance in the same tests as I get, I would assume his setup performs about that factor worse than mine when serving a SqueezeBox. The proggy does nothing fancy (I'll post the source in a minute on my site), it just times the start and end of the CLI command. I have not been very inventive in the queries I posed in my sample input file. It could be that my example commands are somehow not representable for gauging performance. Someone with a better understanding of what actually are reasonable queries could maybe give a few. It's just a matter of editing the input file to test other CLI commands. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Performance measurements ?
You'll have to open port 9090 on the server's firewall Windows firewall is disabled. I am running Sygate Personal Firewall, which lists port 9090 as allowed for perl.exe. I can connect via telnet to localhost 9090, but as soon as I type anything and press return, I get a disconnect with no output. This is the reason sstime will not work either. It does exactly that. If you cannot get a manual telnet to 9090 to work, the test program will fail as well. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Performance measurements ?
Yeah, you really need to be careful about methodology here. If you want to select typical things and get typical response times, you probably need to carefully think out the typical things people do at the user interface and mimic them in the CLI and run them on many different configurations. I doubt many people list the top thousand songs when they're at the remote. If you want to benchmark the code to do before and after studies of code improvements, you need to have one typical machine, benchmark it accurately AND THEN FREEZE IT AND DON'T CHANGE IT. That almost means dedicate it to the benchmarking task and making it a reference system, because you never know when installing Microsoft Office 2007 (heaven help us) or IE 17.2 won't change the way I/O works or how much background activity there is cluttering up the disk. Note that I did not intend this to be a benchmark tool. In a lot of posts on this list people said the performance of their install was insert your favourite speed indication here, which was a very subjective indication. This program simply times a request to the CLI. It should give some idea about what a user would see if using a real SqueezeBox (assuming we use a reasonable set of CLI queries, which I probably don't). There are even some of us desparately switching OSes and tweaking stuff on the same machine and discussing whether ActiveState is faster than compiled Windows or CygWin or whatever. This tool then is able to give _some_ numbers. Again, you cannot compare them 1 on 1 to other installs, but IMHO if one install does someting in 20 seconds, and another one in just 2, there is going to be the same user experience when connecting and using a SqueezeBox. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
RE: [slim] Performance measurements ?
I've put up the source for the Linux version here: http://media.qwertyboy.org/files/sstime.c This source should compile on any modern Linux. Other *nix flavors maybe need a bit of tweaking in header files etc. The Windows source needs some more fiddling, I'll put up a source covering both platforms if there is a need, but I doubt there are many users willing (or have the tools) to compile under Windows. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
[slim] Performance measurements ?
Hi, Lately I am pretty swamped in mail, so forgive me if this issue has already been addressed in another way. In the ongoing discussions about performance issues there is often little hard data, but mostly it's plenty fast, or it's slooow. I have cobbled up a simple C proggy that takes a text file with a few CLI commands, and fires it at the SlimServer, timing how long it takes for the CLI to respond. This data has to be taken for what it is: a very imprecise, but possibly useful ballpark figure about how fast SlimServer responds. By using a text file for the commands, this tool is pretty flexible in what it executes. The command line syntax: sstime SlimServer_IP CLI_port inputfile An example of the contents of an input file: info total artists ? |Artists:|19 info total albums ? |Albums :|18 info total songs ? |Songs :|17 info total genres ? |Genres :|18 titles 0 10 titles 0 100 titles 0 1000 titles 0 1 The first part upto the optional '|' is the CLI command. After the first '|' a comment can be used, and after the second '|' you can specify a char index in the result from which point on the result will be reported. If there is no comment specified, the command executed will be shown in the output (hopefully this makes sense). The output of this file on my laptop (the starting value is the time in seconds it took to execute the command): [0.174] Artists: [241] [0.004] Albums : [666] [0.002] Songs : [6795] [0.003] Genres : [47] [0.088] titles 0 10 [0.369] titles 0 100 [3.868] titles 0 1000 [24.201] titles 0 1 Linux binary (compiled on SuSE 9.3): http://media.qwertyboy.org/files/sstime.bin Windows binary (compiled with Studio .NET, probably requires MS Framework to run, XP and W2K3 should be fine): http://media.qwertyboy.org/files/sstime.exe Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Performance measurements ?
Quite true. I got interesting results (connecting to my server 150km further southwest using SSH :-)): [0.375] Artists: 433 [0.032] Albums : 544 [0.031] Songs : 6543 [0.031] Genres : 50 [20.891] titles 0 10 [16.235] titles 0 100 [29.329] titles 0 1000 [114.393] titles 0 1 Interestingly titles 0 10 was slower than titles 0 100 three out of four times I run the test. (BTW: what does that command actually do?) According to the CLI tech docs, it returns songs (with the first number as the start number, and the second one the maximum number of titles returned, so titles 0 10 gives you the first 10 songs). This is on a Via C3/1GHz/512MB running SME Linux. The output of this file on my laptop (the starting value is the time in seconds it took to execute the command): Maybe you should give some numbers about you configuration (CPU, RAM). This was on a P4 2.8 GHz with 1 GB RAM, running 5 instances of SlimServer. The songs themselves are on an iPod, but that probably doesn't matter for the times reported, as they interact with the database. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Playlist synch with Linux and Windows
ls /usr/playlists/*.m3u | while read -e FNAME do sed -e 's/M:\\/\/usr\/mp3\//g' $FNAME ${FNAME}2 rm -f $FNAME sed -e 's/\\/\//g' ${FNAME}2 $FNAME rm -f ${FNAME}2 done Any suggestions on improvements are welcome A few points: - The '-e' is not necessary (and it even seems syntactically wrong, as it should expect a script file to read). - The first char right after the 's' in the sed command is the field separator. You have it set to '/', which then forces you to escape it when you want to use it as part of the string. If you instead choose a different separator, your sed command will become more readable. - You could use a generic temp file, which makes the code more readable. Result: TMPFILE=/tmp/script.$$ ls /usr/playlists/*.m3u | while read -e FNAME do sed 's|M:\\|/usr/mp3/|g' $FNAME ${TMPFILE} sed 's|\\|/|g' ${TMPFILE} ${FNAME} done rm -f ${TMPFILE} Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
[slim] Re: Different music libraries for different clients
Hi all, An update on this: The solution runs several instances of SlimServer. Each instance listens on a different IP address. For this to work I had to tweak the server a bit. The SlimProto listener doesn't have an option to let it run on one specific IP address (which is available for the HTTP and the CLI ports), so I had to add that bit. Dean corrected me, this option is already available (--playeraddr). So no hacks to the SlimServer code are necessary to run several SS copies on one server. There are several cool things possible with this (once I have put together a simple interface to juggle around these instances): - Offering customized libraries which are part of the master library (the original intent of this hack). - Making use of multi-proc machines to drive several players (but you loose synching up players which use different SS instances). - Setting up two identical instances so you can let one instance scan your library while the other keeps driving your music. Once the scan is done, switch your player(s) to the other instance and presto, new music available with a minimum of annoyance (works especially well if you have the multi-CPU machine so one SS instance doesn't hog all the CPU power). A sort of poor man's threading of SS. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
[slim] Different music libraries for different clients
Hi all, There has been some discussion in various threads about offering different libraries (sets of music files) to different players. For instance, the SB for Dad should not include the music the kids want to hear. I have hacked together a few scripts that allow me to have a master directory of my music, and run several instances of SlimServer which all can point to different parts in the music directory. Beware, this is _not_ a portable solution, it relies heavily on various Linux-specific stuff. The solution runs several instances of SlimServer. Each instance listens on a different IP address. For this to work I had to tweak the server a bit. The SlimProto listener doesn't have an option to let it run on one specific IP address (which is available for the HTTP and the CLI ports), so I had to add that bit (I added a command line option --protoaddr IPaddr). After this worked, I could use the following recipe to create a SlimServer instance (these examples use NR to create instance number NR, and assume the SlimServer software is installed in /usr/local/slimserver): - Create an IP alias on loopback: ifconfig lo:NR 10.0.0.NR - Create a dummy user: useradd -d /home/slimserver/NR slimserver.NR - Create the homedir: mkdir -p /home/slimserver/NR - Set permissions: chown slimserver.NR /home/slimserver/NR - Start server: /usr/local/slimserver/slimserver.pl --daemon --prefsfile /home/slimserver/NR/slimserver.conf --logfile /home/slimserver/NR/slimserver.log --httpaddr 10.0.0.NR --cliaddr 10.0.0.NR --protoaddr 10.0.0.NR This should get you a slimserver on IP address 10.0.0.NR (check with netstat -na). To let a player (SB or SoftSqueeze) access this instance, you need to do a bit of iptables trickery. To give player with IP address PlayerIP access to SlimServer instance NR: - iptables -t nat -A PREROUTING -s PlayerIP -m multiport -p tcp --destination-ports 3483,9000,9090 -j DNAT --to-destination 10.0.0.NR - iptables -t nat -A PREROUTING -s PlayerIP -p udp --destination-port 3483 -j DNAT --to-destination 10.0.0.NR This will forward incoming requests from that specific player to the new SlimServer config. All players that use your server will talk to the same server IP address, so this setup is transparent for the players. Now set up the music for each SlimServer instance. You could do that for instance like so (this example assumes the master music library in /home/music): - mkdir /home/slimserver/NR/music - cd /home/slimserver/NR/music - ln -s /home/music/Beatles 1.dir - ln -s /home/music/Rolling Stones 2.dir - ln -s /home/music/Queen/We will rock you.mp3 3.mp3 - etc. - chown -R slimserver.NR /home/slimserver/NR/music (Remember to use the correct file extension if you are linking to single files, otherwise the SS scan will not recognize it as a valid music file.) Set up a playlists directory as well under /home/slimserver/NR, chown it to slimserver.NR. Now start a browser on the SlimServer machine and point it to http://10.0.0.NR:9000, specify the music and playlists, and away you go. If you want to use the browser on another machine to configure a specific SlimServer instance, you have to add the iptables rules for that client as well (and of course point it to the real IP addy of the SlimServer machine). If necessary, lock down the settings page on the webserver of SS so the kids cannot alter the music directory. Now all that is left is to write a simple frontend to automate creating these SlimServer instances, adding of clients to the SlimServer instances, managing the symlinks for a SS instance etc. Switching a client to use a different part of your library should then be a breeze (handy for parties etc). I leave that part as an exercise to the reader. :-) Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Different music libraries for different clients
Patch! Patch! Yeah, I know. I'm trying to get a version checked out with SVN, but am having some problems with it (it seems to stall). Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Better way to Caller ID?
Does anyone know of caller id solutions that work with Linux? Well, FWIW I run a pretty hacked-up solution. I'm in the Netherlands, and I have ISDN for my phone line. I used a spare ISDN card in my Linux server and hooked it up to the ISDN line. Each incoming call triggers a message on the D channel, and this in turn triggers the device driver of the ISDN card to fire off a syslog message. This then is picked up by a proggie that does a lookup to get from caller ID to name-in-the-phonebook, and this is sent via the CLI to the SlimServer. This probably does not qualify for easy-to-install though... :-) OTOH, it wouldn't be a major undertaking to cobble up a Linux daemon to monitor a serial line for incoming caller ID, and take it from there. I could take this on, but haven't got access to any such serial beast. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Tag organization question
I also use firstname, lastname, but my question to both of you is: Why do you still have CDs on the shelf? Mine are all in boxes in the basement. ;-) I've got my shelves behind glass doors in the living room. Nowadays it's merely decoration I guess (I haven't got anything else collection-wise to display there). Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Odd wireless network problem - any ideas?
Yesterday, I decided to try with WEP turned off and bingo, everything worked. However, turning WEP back on results in Slimserver not being found. I cannot figure this out. The WEP key is correct (it's the one I've been using for the last year and the SB remembered it, so it's not like I've re-entered it incorrectly). The router can see the PC and the laptop with WEP on, but I just cannot get the Slimserver to work. I'm not keen on running with no security. Other than swapping back to the old router firmware, can anyone think of anything else to try? I can't understand why the router firmware would have a WEP problem which only affected the SB. Any ideas? There have been reports of problems using difficult WEP keys. What if you try to use a simpler key (one which only consists of chars on the keyboard) or a shorter one? This obviously weakens the already shaky WEP security, but it might be worth a try. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Tag organization question
I don't use lastname, firstname, as I don't think there's much to be gained by doing so. Ironically (I suppose) I do use lastname, firstname in organizing my CDs on the shelf, but I've never found the two approaches to conflict in my mind. With the CDs on my shelves I treat stage names used by individuals exactly as if they were band names. Same here, CDs on the shelves by last name, the tags on the files by first name. Avoids having to wrap your head around stuff like Sam the Sham and the Pharaos. And besides, it kinda makes me feel good, being on a first name basis with all those famous people in my library. :-) Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: SB2 not powering off when server not present
I planned to have a cron job to shut down the server every night. As someone's already said, the problem here is working out when to do this. However, I'd just go for midnight on weekdays, and maybe 2am on Saturdays. For the rare exceptions, I'd have to remember to disable the cron. Just a tip: alter your cronjob to check for presence of a flag (maybe a specific file). If it isn't there, don't shut down, but only set this flag (create the file). This way, if you want to prevent the server from shutting down on an evening, you just clear the flag (remove the file). The machine won't shut down, but only restores the flag so it will shut down next night again. Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss
Re: [slim] Re: Whole album FLAC files, multi-CD albums and tagging
I practically wrote a bash script to do this but then ran into problems with characters such as '* etc in the filenames - I couldn't work out how to escape them safely. OT and FYI, you were probably looking for set -f, which will stop filename generation due to wildcard constructions *, ? and [. Just add set -f in your script before dealing with the filenames (or start the script with something like #!/bin/bash -f if your *nix supports hashpling). Niek. ___ Discuss mailing list Discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss