The two things I do every time I upgrade Ubuntu
Every time I upgrade Ubuntu it sets these two things back to the defaults. Here are the "quickest ways" I've found to put everything back to normal. One note, before upgrading, know where you saved your wallpaper image, that'll get blasted away as well.
1. Layout, more specifically the "Gnome Classic" layout. Ubuntu 11.10 ships with the Unity desktop, and GNOME 3 in its repositories, aping the looking of the ‘old’ GNOME desktop is easy. All that’s requires is installing a few extra packages and performing a tweak here and there.
1. Paste the following line into Terminal:
sudo apt-get install gnome-shell
2. Next, log into the ‘GNOME Classic (No Effects)’ session from the Ubuntu login screen.
2. Buttons to the Right: How to move the Minimize, Maximize & Close Buttons to the Right in Ubuntu 11.10 (Oneiric Ocelot)
This is the simplest way i've found to move the buttons
1. To get started, press Ctrl – Alt – T on your keyboard to open Terminal. When it opens, copy and paste the commands below to move it...
2. Paste the following line into Terminal:
gconftool-2 --set "/apps/metacity/general/button_layout" --type string ":minimize,maximize,close"
Enjoy Ubuntu.
ScreenShareRoulette
It's ChatRoulette but no webcams, screen sharing only. It connects the two most important things that make anything popular on the web, those that want to share with those that want to watch/read/etc.
Now go create it. Because i'll never use ChatRoulette, the concept freaks me out, but watching someone navigate their desktop, meh, it just seems safer.
To extend the idea, others can tag your surfing experience for the price of entry. You surf others build your tag cloud, said tag cloud could be used to find, via a sweeet algorithm, those that are into the same sort of things. Sure this could all be done with bookmarking services but the fun with this is the data is crowd-sourced.
Lastly, if ChatRoulette already has this as an option, it has to be screen sharing only, or no go. Drop me a line if they do.
What if Lotusphere used QR Codes for Vendor Bingo?
We all know the game. You get the vendor bingo card in your reg pack with vendor logos on it, you visit the booth's in the product showcase and get them stamped. You return the completed card which enters you into the drawing for an amazing prize.
What if it were updated for 2011? Vendors get a QR Code printed on a card the size of a post card and attendees scan them with their phone's qr code reader. The code takes them to a web page that asks for name and email address the transports them to their mobile bingo card. As they collect the codes at each booth visit the page updates. When they get bingo; visit all participating vendor booths, they are automatically entered into the drawing.
The staff; those managing the vendor bingo campaign, can pick the random winner. The winner's name can be posted through the service. The best part, the attendees have a permanent record of their vendor visits along with their contact information on.their.phones! They can make notes and view the info later after the event.
This is... vendorbingo.com
I am currently looking for interested vendors in taking part in what I believe could generate some buzz in the product showcase floor at Lotusphere and work to drive traffic to the booth.
This idea was way too late to pitch the Lotusphere staff but there is no reason why a handful of vendors can't get together and experiment with an interactive concept that is just now going mainstream. The prize will be a top of the line iPad. The cost to vendors is only $125. I am running this as a break even event. If we don't get enough to cover the cost of the iPad, no one pays.
If you'd like to take it for a test spin, check out the Lotusphere Demo.
If you're intrested in being a part of this please contact me at vendorbingo@collaborancy.com or booth 337
Please help me spread the word to all vendors that are looking to increase booth traffic! vendorbingo.com
The Lazy way of working with XML Namespaces in PhP
Please understand the title of this message, this is a total hack but a good one, one that takes the complex notion of working with XML namespaces and makes it easy. There is a big chance that this will not work for ever application but it may help some in overcoming parsing complex XML.
The concept is quite simple, remove that which is causing the problem by using a string replace. Lets take the parsing of the Twitter Geo location. Make sure when applying this that you've checked to see that replaced value is unique.
Problem Area:
<twitter:geo>
<georss:point>40.3815 -79.8598</georss:point>
</twitter:geo>
Fix: Apply a string replace to the entire XML response, good by troublesome colons.
$response = str_replace("twitter:geo", "twittergeo", $response);
$response = str_replace("twitter:", "", $response);
$response = str_replace("georss:point", "georsspoint", $response);
I encourage you to read on and understand how to do this properly, but if examples are your thing here are a few.
PlanetLotus and the Unexpected Server Rebuild
It all started Wednesday when the dedicated server I have hosting all my websites went down and became totally unreachable. As a rule, if I can't ping it I automatically log into my account with the hosting provider and request a power cycle (server restart).
And then I got this email, moments later from the Network Violations Team...
Regarding your server:
After a review of your hosting account it appears your Virtual Dedicated Server has been compromised. It appears there was a vulnerable setup.php script in PhpMyAdmin. The server was compromised on at an administrative level on or before 10/06/2010, allowing attackers to upload multiple attack tools. These tools resulted in complaints by our abuse department, once notified our security team immediately disabled the process and removed the attack tools. This server must be re provisioned to avoid further issues.
I actually only read or saw one word... "re provisioned" and didn't want to believe what it actually meant. So I dropped a dime and called, fuming.
I was that guy, saying everything I could to get them to reconsider, even escalating it, to no avail, all i wanted was a little more time to get some important files before reformatting. They said no... and then an amazing thing happened.
It turns out, **lack of internal communication saved the day. The server reboot team didn't' get the word from the network violations team, so my server was back on and I was pulling down files faster then you can say efilnikufesin.
I waited it out, the second shut down, and took my time moving all my non-vital domains to a hosted service. My main server goes down a lot. It's really just me supporting it and is a single source of failure so it goes down or, gets 'infected' occasionally. Hardware failures, hacks, stupid mistakes, it happens, a server room I have not.
So the rest of the story, if you're still reading, (I know Andrew is), the hacker exploited the phpMyAdmin setup.php file. I guess it's pretty common, and used it to upload a bunch of hacking tools. The network violations team removed all the tools but shut it down and forced a reprovision because they couldn't be sure they removed them all.
I get it, however the problem I have is, yes, you could say it's my problem, <rant from a Linux novice> a "zero day" issue but my server has Fedora 8 and every time I update the packages they're up to date. Even yesterday I tried, everything's current... the reprovision offering, the "Team" wants me to move to, Fedora 8. So what is stopping the same person from exploiting the same issue? Only time will tell. </rant from a Linux novice>
Email #2 from the Network Violations Team:
We have included the log files as well as a list of the files that appear to be causing the attack. The vulnerability in the phpMyAdmin script allowed the upload of these files. These vulnerabilities are common in open-source PHP applications and it is strongly recommended that you keep all applications updated and patched with the latest security and application upgrades to prevent this from happening again. <plug>If you need assistance upgrading or patching an application we have a pay-per-use administrative service where we will do this for you.</plug>
In order to resolve the current issue the server must be re-provisioned. I reviewed the issue with several peers and admins and there is no other solution that would work.
FOUND ATTACK TOOLS
<removed just in case it helps some one do evil>PHPMYADMIN EXPLOITATION
<removed just in case it helps some one do evil>[etc...]
I've changed around the IP numbers but you get the drift, update your packages, brush you teeth, eat an apple, blah, blah, blah. Until next hack, thanks for reading.
** There could be a small chance, OK, very small chance that the tech I spoke with let the server reboot slide. If so, the guy made my week, and Thank you, cool tech guy, if you ever come across this! (you never know).
Cannot load mcrypt extension. Please check your PHP configuration.
Here is a quick little tip on how to remove the "Cannot load mcrypt extension. Please check your PHP configuration." message from your phpMyAdmin login window on a Fedora 8 Linux Dedicated or maybe even virtual dedicated server at Godaddy.
1. Open a ssh session. Switch to root.
2. Run each line individually (or copy each one and right click on the ssh window (putty)).
yum install libmcrypt
yum install php-mcrypt
yum install php-mhash
I didn't have to restart http but you might want to for grins.
A big nod to wayan on this one, and PS, don't search for GoDaddy images on Google while at work
Travel Mode needed for Posterous
Posterous needs a Travel Mode. We all know that people have been targeted for burglaries based on social media postings. The practice is pretty strightforeward. Someone posts about the vacation they're on and a 'friend' robs them.
This is compounded on Posterous with a public facing blog. I don't feel comfortable posting pictures while I'm on business but really, really want to... so how about a mode that you can turn on 'Traveling'. You can send in pictures and capture the titles, content and times but they're queued until you return and turn the mode back off. Your feed is then updated with all the posts, with the original time stamps.
I realize you can set a future date to have your posts published but it's not intuitive, this would be a blanket mode.
If anyone is reading this from Posterous, I love your platform! If you are not from Posterous, you really must check out their offering for your next blog.
How to get Microsoft SQL Server databases sizes
I found this fantastic script of all places in the comment of someones blog post. It does a great job of laying out all the size detail for all the databases on your sql server.
SELECT DB_NAME(mf.database_id) AS databaseName
,mf.physical_name
,num_of_reads
,num_of_bytes_read
,io_stall_read_ms
,num_of_writes
,num_of_bytes_written
,io_stall_write_ms
,io_stall
,size_on_disk_bytes
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
AND mf.file_id = divfs.file_id
ORDER BY 3 DESC
A great follow on to this is a File Size Calculator to help make scene of the sizes, especially if you're working with large database (i.e., SharePoint
Thanks pinaldave and Jerry Hung.
IE8 dead tabs
This is the second time I've had to resort to the registry to fix what i don't like in Windows 7. This time it's more of a true fix. This addresses 2 of my biggest nits with the new OS, now I can rest.
Problem: You open a new tab in IE8 and all you get is "Connecting..."
Setup: It's happening for me on: IE8 32 or 64 bit edition on 64 bit Windows 7 Enterprise
Solution: Below from David at Microsoft
To disable this feature, go to Start, type “regedit” in the search box, right click the regedit program, and choose Run as Administrator. You may be prompted to continue. In the registry editor click the arrow to expand a selection. Expand, HKEY_CURRENT_USER, then Software, Microsoft, Internet Explorer, and select Main. Check for an option on the right list named “TabProcGrowth”, if it is there double click on the item and set it to either “0” or “1” (see below for details). If it is not there create it by right clicking on the Main folder (in the left list) and selecting New, DWORD (32-bit) Value. “New Value #” should be created on the right, double click on this and set to “0” or “1” as desired (see below). Then right click on it and choose Rename, rename this to “TabProcGrowth”. Restart Internet Explorer for this to take effect.
Setting this to “0” will cause Internet Explorer to crash entirely if a tab crashes.
Setting this to “1” will allow Internet Explorer tabs to crash and recover without completely closing Internet Explorer and might be the better choice.You can find more information about this setting at the following link: https://blogs.msdn.com/askie/archive/2009/03/09/opening-a-new-tab-may-launch-a-new-process-with-internet-explorer-8-0.aspx
Order of CSS Values in Borders, Margins or Padding.
The issue, what direction do each of the values below pad?
padding: 4px 5px 2px 7px;
The short answer is: top, right, bottom and left. TRBL
I can never remember the order of values when setting borders, margins or padding in css. If you have the same problem take a look below:
- one value such as 10px to specify an equal margin on every side
- two values, such as 10px 5px, to specify the top/bottom (first value) and right/left (second value) margin
- three values, such as 10px 5px 2px, to specify the top (first value), right/left (second value) and bottom (third value) margin
- four values, such as 10px 5px 2px 1px to specify the top, right, bottom and left margins respectively
Thanks to: http://htmldog.com/reference/cssproperties/margin/

