In the last few days, I've attracted some weird spam—well, weird in the sense that it's not about Lindsay Lohan or (insert your favourite female celebrity here) sex tapes.
One was from an "AndrewBoldman" with an email address at a domain cndnsfive.cn. I initially approved it but now have "unapproved" it (to use Habari's terminology). I have now received a comment by one KathyBlackyard with email at domain ds4ns1ns2.cn. That makes me suspicious... of both of them.
Anyone know about this sort of comment spam?
Does anyone else think ebay Australia's new summary pages and searching are awful?
I don't have screenshot so I can't illustrate the difference. However, take a look the musical instruments summary page. The "sub-categories" used to be listed with the number of items on offer in each. That was useful because if one noticed that the number of items had fallen, I might decide that there were few, if any, new items to look at. Now I have to open the listings to see the total number of items.
Certain "search" pages have tools to narrow the number of items based on criteria related to the category. This is good. However, the "new" search tools allow the user to choose only one criterion, or to open a "choose more" panel (via an AJAX call). The whole thing is now a lot slower and requires many more page loads than used to be the case.
You'd think ebay would want to reduce the number of page loads per user. After all, fewer page loads means less stress on the servers (or more users before a server crashes).
For example, I'm looking for a new (well, new for me) laptop. Here's the laptop search page. Take a look at the left sidebar with the search tools. Wouldn't it be great if you could select multiple criteria right on that page instead of doing multiple page loads or clicking "Choose more" and then having to click through an AJAX-loaded interface to select your search criteria?
As with everything on the internet, your mileage may vary. I think it sucks.
I went to a Pro Tools 8 demo at JMC Academy on 8 April. It was run by Digi techster Brent Heber.
There are lots of improvements over Pro Tools 7:
MIDI Editor:
- Multiple tracks in one view—events are colour-coded
- Editing looped or duplicated MIDI segments alters all iterations
- MIDI editor has a score editor mode
- print mode for editing printed scores
- can export Sibelius (.sib) files, but can only read MIDI files—WTF?
- Vacuum—monophonic, dual oscillator synth. Has about half a dozen overdrive controls for distorted everything!
- Xpand now responds to up to four MIDI channels
- Boom—a grid-based beat box editor like the old TR808 sequencer
- Mini Grand—sample-based piano with a 900MB library and reverb effect
- DB33—a Hammond-style organ with a cabinet effect that can take an external input
- Structure sample player now allows one to drag and drop regions from audio track playlists. Different versions (free or paid) have different features
- all the usual DigiRack plugs with a true stereo EQ3,a new version of Sansamp, new algorithms in D-Verb
- some plugs previously available for money are now free: DFi and Maxim
- Eleven—guitar simulator. Different versions (free or paid) have different numbers of amps and tones
- Loop recording takes can be in one file (as before) or in separate playlists (new preference setting)
- If in separate playlists, those playlists can be displayed in the edit window below the "main" playlist
- Can copy selection of region in comp playlist to main playlist
My re-write of the Stageplan app is going well, despite the fact that I have little time to do it. So I'm posting a demo here. It uses Raphael 0.71. I had some difficulties with this, but have solved them, albeit somewhat inelegantly.
Click on an item and drag it onto the "stage" area. When you do, a slider control appears. It allows you to rotate the object. When multiple objects are on the stage, clicking on any one of them selects the item shows its slider control. When you click on the stage, a selected item is deselected and its slider disappears.
I've added an "amplifier" object. I should also add a DI box and a keyboard as these are regularly specified by students in their stageplans. Other items, such as the drumkit and piano, tend to be static (as they are difficult to move). The latter can probably be added to the stage as partly opaque objects.
Here's the demo.
The next step is to figure out how to save objects on the server so that stageplans can be recalled, viewed and edited. Bolt on an authentication system and it'll be done!
It's been some time since I worked on the application that would allow performance students to draw stage plans for their performances. As I mentioned previously, I'm using Raphael, a Javascript drawing library which uses SVG or VML.
There have been several revisions of Raphael since I last worked on the app, so when I upgraded I found that I could no longer clone image objects. The reason turned out to be that calling myImage.attr("href") no longer returns the URL of the source image. There is now no easy way to do this. Dimitry or one of the other contributors has added a "src" attribute which is easily set (for changing the image source of an object) but not retrieved. Since my cloning method relies on retrieving this value, I was stuck.
When I looked at the Raphael source code, I figured out a way of doing it, but it's clumsy:
myImage.node.getAttributeNS(myImage.svg.xlink, "href");
The app works like this: If you click on a tool, the tool is cloned as an "item". If you let go of the mouse button while it's still over the "palette", the clone is deleted. When you drag the item onto the stage, a slider for controlling its rotation appears. Clicking on the stage "deselects" the item and its slider disappears. Clicking on an item shows its slider with the slider thumb showing the previous degree of rotation. Moving the slider's thumb rotates the item. Clicking and dragging the item moves it around the stage.
I took the opportunity to refactor the code and rewrite almost all of it from scratch. There is now an object for each tool and for each item created, as well as the slider which controls the rotation of the selected object. It's not very nice OO, as there are explicit references to the "palette" and "stage" in Tool and Item methods, particularly for assigning event handlers to items. However, for a reasonably experienced PHP programmer (with a smattering of assembly code, Basic, Pascal and C on the way there), Javascript's lambda functions and closures and the consequent effects on variable scope seem quite weird anyway, so I'm not going to lose any sleep over it!
In a day or two, I'll post a demo of the work done so far.