This problem turned out to be due to the very long relative paths that Visual Studio created to the gsoap-generated files. (continued…)
I just updated my Macbook Pro, removing the Super Drive and adding an SSD, following this awesome, concise and precise video.
It was as good a time as any to refresh everything.
Here’s the result:
And here is the partitioning to get it done:
Here are my highlights (cautionary tales, really) from the experience. I’m not taking the time to do a full writeup, since it was a specific upgrade, not a clean install, but add a comment if you have a specific question for me. (continued…)
A new release of Hang The DJ (v 0.8.2) is available on Sourceforge.
Features:
- mobile client can stream your collection to you on all mobile platforms
- desktop client UI makes it easy to add and remove new DJs and get your songs rated fast
- multiple user and multiple server support makes sharing easy
Send me an email if you want help trying it out.
| c++11 containers | |
|---|---|
| sorted_vector | use when doing lots of unsorted insertions and maintaining constant sort would be expensive |
| map | sorted binary search tree; always sorted by key; you can walk through in sorted order |
| multimap | same as map but allows dupe keys; need for this should be pretty rare |
| unordered_map | hashmap; always sorted by key; additional bucket required for hash collisions; no defined order when walking through |
| unordered_multimap | same as map but allows dupe keys; dupes are obviously in the same bucket, and you can walk just the dupes if needed |
| set multiset unordered_set unordered_multiset |
sets are just like maps, except the key is embedded in the object, great idea but… they are ruined by the constraint that contained items must be const but… then redeemed by mutable You can use mutable on the variable that are not part of the key to remove the const! This changes the constness of the object from binary (completely const) to logical (constness is defined by the developer) so… set is an excellent way to achieve both encapsulation and logical const Final note: using object pointers is the ultimate solution. |
I have a couple of urls that have become quite attractive to spammers as of late, for some stupid reason. Stupid in that most situations involving spam are stupid, as the inefficiencies would make anyone of any intelligence balk at the very concept. But still, many desperate and immoral thugs persist.
My urls that appear to make spambots salivate with misguided hope are those that allow anonymous users to add content that will be later displayed to others. Specifically, there are two:
- anonymous trac ticket creation
- wordpress comments
Both trac and WordPress have fantastic tools that fight spam (Akismet, for one, is priceless). These tools prevent tons of spam on my sites every day. But thanks to mindless bots, the spam, while pretty much always unsuccessful in creating tickets due to Akismet and captcha, can morph into the DOS category. I was getting 5 apache requests every second, 24×7.
I started using mod_evasive to stop the flood, which certainly helped. But it did not break the spambots to the point where they gave up. I was dealing with some seriously inept and overzealous spambotting – I don’t even have heavily trafficked sites. What recourse is left if you just. keep. getting. mindlessly. hammmered!?
I got out the big gun and decided that, in the case of my trac ticket site, it was better to just move the whole damned url. The ticket site is a part of a larger site devoted to my music player project, and valid users should really navigate through the top site anyway. It took me a while to decide this was best. It’s certainly not optimal for supporting a site that might be heavily bookmarked by end users. It’s kind of out of the box thinking. But in my case it was worth the cost.
For trac, it was just a matter of a couple trac.ini and apache config changes, and then changing the referring websites.
trac.ini:
[trac]
base_url = https://mysite.com/mynewurl
apache conf:
WSGIScriptAlias /mynewurl /var/lib/trac/apache/trac.wsgi










