Youtube embedded videos in WordPress not working

You’ll notice above that there is a youtube URL on the first line… it hasn’t embedded within the post.

UPDATE 2015-12-10: it’s working now, is it a WordPress 4.4 thing? I have disabled a LOT of plugins for the moment, I’ll come back and revisit this in the next couple of days. I have spent many hours working on this problem over the last few months and having just found I’ve had other issues, I’ll revisit this again

Embed the URL without embed tags
Embed the URL without embed tags

Also, I have just learned today that the youtube style of embedding without embed tags have been extended in WordPress 4.4 to include URLs to your own WordPress site (and possibly others).

Are you finding your http://youtu.be/{videocode} youtube links not embedding correctly or working in WordPress?

The correct format for the link is any one of the following:

http://youtu.be/{videocode}
http://youtube.com/watch?v={videocode}
[ embed]http://youtu.be/{videocode}[/embed ]

(there is a space before the embed in the above one to have it display correctly)

There are three things to watch out for to ensure this works. And if you do each of these, then you don’t need to use the [ embed ] code you see in the third example above. They are:

  1. Ensure the URL is on it’s own line
  2. Ensure you use HTTP in lieu of HTTPS (*1)
  3. Ensure the link does NOT appear on the first DISPLAYED line of the content

*1 : this is not a big one, since it seems most of the time it works, but for some reason it didn’t when I used it on this particular occasion.

I say DISPLAYED because in an effort to fix this, I tried putting a blank line for the first line. The problem persisted. It also didn’t help to include just a full-stop (period) there either.

I do believe it could also be theme related as this theme does not use the different post type options that is present in the newer themes. And from what I did find elsewhere, selecting different options in that meta-box can alter this behaviour. I will probably be changing themes in the coming months as I work further on my own custom theme, but for the time being if I want it to appear on the first line, I will use the appropriate [ embed ] code above (with the space removed!). This was not a problem I found documented anywhere else, so hopefully you have found this useful!

How to STOP the Incessantly Annoying Picasa Web Album Notifications!

GalleryIf you’ve wound up here, then I gather you too can’t stand the annoying Picasa Web Albums notifications on your Android device.

I thought I’d tried EVERYTHING but inevitably they return, and I have several Google accounts and as such, I get one notification for each of them. I have long since turned off all syncing options for photos, and numerous done a FORCE STOPs, yet these notifications persist, time after time after time.

If you’re anything like me, you’ve searched high and low on the Interwebs and tried everything you’ve ever read in every forum post, blog and comments… But theykeep coming back :(

Short of rooting your device and removing the Gallery app, or in some other way mod them from not appearing, here’s how I got rid of them. Continue reading “How to STOP the Incessantly Annoying Picasa Web Album Notifications!”

Ingress Glyphs and Imperfect

“Imperfect” isn’t drawn as it seems. Ever got stuck trying to draw the Imperfect glyph hack in Ingress? I must have got it wrong about half a dozen times before I realised it wasn’t me.

So, how is it done?

I start on the bottom left and then I loop AROUND the middle point to the top right. Then I progress back THROUGH the middle point to the start point, then I finish off the last triangle by going up to the top left and then back in towards the middle.

Continue reading “Ingress Glyphs and Imperfect”

accented characters in osx

selectable accents for the letter 'a'
selectable accents

UPDATE: I upgraded my OS X to Mountain Lion recently and I am not sure if it is as a result of the upgrade, or some other setting change I may have made, but now if I hold down a letter key for a short period, I get a tool-tip style box (right) that then allows me to select the appropriate accent. This doesn’t work for all letters, but it does make it more convenient.

I had a need to be able to print accented characters on certain letters, mainly being vowels, but potentially others as well. Most character sets have a limited set of accents, and most of them only apply to certain letters, and others don’t have the accents I want.

For example I want to print 5 main types of accents, being:

à á ā â ǎ

another example

x̀ x́ x̄ x̂ x̌

I’m using a macbook pro and pages in OSX, although this applies to any application, this is how I did it:

Open up System Preferences >> Personal >> Language and Text >> Input Sources

Once there, add a new keyboard, in this case I added “US Extended”.

Now to add some accents, I need to type the accent first, and then the character, but this only works for some letters (I suppose those that can be normally accented), but as you can see above, I have accented the letter ‘x’. So achieve this you must type the letter first and then [option]+[shift]+[code]. Not too hard, the five I need are:

  • a bar over the letter – ā – [option]+a then type the letter
  • a ‘v’ over the letter – ǎ – [option]+v then the letter
  • a ‘^’ over the letter – â – [option]+^ then the letter
  • a ‘`’ over the letter – à – [option]+` then the letter, and finally
  • a ‘ ́’ over the letter – á – [option]+e then the letter

^ <– is [shift]+6
` <– is the back tick, or key with the tilde (~) on it
́ <– is the quote mark key with single and double quotes [‘,”]

It was that simple :-)

note: I am learning the thai language and it is a very tonal language and inflections on letters are necessary to determine the tone of the word, hence I need this ability. These 5 marks above fit the bill perfectly, although the bar one really isn’t needed, but at least now I have the option of including it, or not including it.

Originally found here: http://tlt.its.psu.edu/suggestions/…

WordPress and “You do not have sufficient permissions to access this page.”

W LOGOUPDATE: It’s amazing the number of hits this page gets, where people get this (or a very similar) error and this has helped them. I’m very glad this helped, but I just want to add, this page is more than 3 years old now and although the logic is simple here, remember it is old and “things” may change (eg, plugin folder name, or how plugins are managed to name just two). I hope this helps you. Good luck

Years ago I hand-coded my first website, and sometimes I still do the odd bit of dabbling like that. But these days there are so many great content management systems (CMS) out there, that really, why bother. I use to use Druple, and I have nothing against that, but a while back now I migrated to WordPress…. All was fine until…

The other day I upgraded using their backend and I lost all permissions. Any guest could use the site as normal, there were no problems there, but I couldn’t login. It took a few days searching on the web (without luck) and eventually, I jumped back into cpanel, and phpmyadmin and started digging.

The solution was a lot simpler than what I had envisioned.

During the update process, one of the plugins caused havoc in the backend, and when trying to display the dashboard, the plugin was breaking privileges. First I had to work out, which plugin it was, and if in fact if it was a plugin that was the cause. As it turned out, it was, and this is how I found it:

1. created a new folder called “old_plugins” *
2. moved all the plugins from the “plugins” folder to the “old_plugins folder” *
3. logged in – sweet – I was allowed and all appears good
4. visit the plugins page (you will get a warning that your plugins have been deactivated since they can’t be found.
5. put the plugins back into their original directory *
6. reactivate each plugin until you find the faulty one. For me it was a google reader plugin for the dashboard, which I never used anyway – so it’s now gone!

Once you find the faulty plugin, you’ll get the permission error again, simply go back to your ftp or file manager (I just used cpanel) and move the faulty plugin out…

* You could probably have just renamed the plugins folder, visited the plugins page, re-renamed the plugins folder, and gone through the reactivation process that way, this is just the way I did it.

also (cross)-posted at wordpress.dav3.net

Reset Error Code 6502 – Cannon MP620

Canon MP620I recently installed a continuous inking system into my Canon MP620 Multi-Purpose printer. It went relatively painlessly, except when restarting. The ink tubes got caught under the housing and jammed the print head against the right hand side of the printer, causing a 6502 Error Code.

I fixed the jam, and restarted the printer, everything seemed to be normal. The printer went through a startup routine, cleaning heads and what-not, but when it finished the error persisted.

I restarted the machine, and still, the error remained. After a bit of googling, I found the solution:

How to RESET the Error code “6502”

1 – Unplug your printer, pausing for effect.

2 – Plug the printer back in and then:
2a – Press AND HOLD the Power button
2b – Press the Stop button twice
2c – Release the Power button
2d – Press the Stop button a further four times (see notes)

notes:
– someone reported you may hear beeping, I did not
– I think the four button press of the stop AFTER releasing the Power button may not be required since once the powerbutton was released, the system immediately went into a startup routine, it didn’t appear to wait for the stop buttons. But who knows, it was there, I did it, and it worked

2 ways to trim youtube videos

I found a page that detailed a way to trim a youtube video. Which incidentally reminded me about tubechop. I read over the page that showed me another way to do it. I liked it because it uses the actual youtube video and inserts start and end tags (the end tag didn’t seem to work for me), where-as tubechop actually takes a copy of the youtube video and hosts it on it’s own servers. And frankly, I know nothing about these people and how long they intend to be around. So if you use it, then one day it just might not be there anymore. I have included both methods for you here anyway.

1) watch the instruction video directly from tubechop:

2) And here is the URL hack for the youtube link (I have highlighted the relevant section):

untrimmed
<object width=”425″ height=”344″><param name=”movie” value=”http://www.youtube.com/v/iGpIT2bVZDw&hl=en&fs=1&rel=0″></param><param name=”allowFullScreen” value=”true”></param><param name=”allowscriptaccess” value=”always”></param><embed src=”http://www.youtube.com/v/iGpIT2bVZDw&hl=en&fs=1&rel=0″ type=”application/x-shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true” width=”425″ height=”344″></embed></object>

trimmed
<object width=”425″ height=”344″><param name=”movie” value=”http://www.youtube.com/v/iGpIT2bVZDw&start=204&end=228&hl=en&fs=1&rel=0″></param><param name=”allowFullScreen” value=”true”></param><param name=”allowscriptaccess” value=”always”></param><embed src=”http://www.youtube.com/v/iGpIT2bVZDw&start=204&end=228&hl=en&fs=1&rel=0″ type=”application/x-shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true” width=”425″ height=”344″></embed></object>

This is the above example, note the big gap from the original start position to the new start position:


(featured on http://q-ontech.blogspot.com/2008/12/how-to-trim-youtube-video.html )

The same video edited in tubechop:

regex expressions for validating email addresses

Whilst doing my usual mindless surfing of the internet, I found this page webmonkey relating to the validation of email addresses. In short, this is what they had to say:


1. Dirt-simple approach
Here’s a regex that only requires a very basic xxxx@yyyy.zzz:
.+\@.+\..+

Upside: Dirt simple.
Downside: Even invalid email addresses like xxxx@yyyy.zzz, or even a@b.c, make it through.

2. Slightly more strict (but still simple) approach
Regular-Expressions.Info provides a basic email validation regex that tries to be a little smarter:
[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}

Upside: Only allows email address-friendly characters, restricts domain extension to only two to four characters.
Downside: It still allows many invalid email addresses, and misses some longer domain extensions (.museum, for example).

3. Specify all the domain extensions approach
Reddit user teye points to his regex, which only allows domain extensions that actually exist:
([a-z0-9][-a-z0-9_\+\.]*[a-z0-9])@([a-z0-9][-a-z0-9\.]*[a-z0-9]\.(arpa|root|aero|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|
name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|
ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg
|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|
eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|
hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kr|
kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|
mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|
pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|
sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|
tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|
zw)|([0-9]{1,3}\.{3}[0-9]{1,3}))

Upside: It doesn’t allow xxxx@yyyy.zzz!
Downside: Upkeep could be tough with this one. You’d have to update any time new domain extensions are announced. In fact, you already would need to add the .me extension.

4. Way complicated approach

A Perl module has a long regular expression based on the standard description of an email address. It’s so long (nearly 6,500 characters!) that I won’t include it here.

Upside: It’s complete.
Downside: It’s way complicated.


Well, they didn’t put it on their page, so I went and found it and put it here for posperity. It’s WAY COOL! :-P

(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
\t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
\t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*

Ubuntu – changing DHCP to Static

Before jumping in and making the changes, do
ifconfig -a
and note down any particular settings which you may need (if you don’t already know them)

Then edit /etc/network/interfaces

change:

iface eth0 inet dhcp

to:

iface eth0 inet static
address 10.0.0.101
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.100

May also need to add nameservers to /etc/resolv.conf, eg:
nameserver 10.0.0.100
nameserver 192.122.108.211

Obviously change to suit your network settings.

Once done, don’t forget to restart the networking interface

sudo /etc/init.d/networking restart

Synergy in OpenSolaris and Ubuntu

I have been tinkering with linux distros for a while now, my favourite (generally) would have to be Ubuntu. It is one of the few that installs quickly and simply on most of my systems here.

A package I also use is Synergy. This is one of the best pieces of software ever developed for multi-desktop computing. Much better than VNC and Remote Desktop, although they each serve their purpose and offer different functionality.

To learn more about Synergy, visit http://synergy2.sourceforge.net/

To learn how to install it in OpenSolaris (I am using preview 2) it is simply a matter of:
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libgcc-3.4.6-sol10-x86-l...
gunzip libgcc-3.4.6-sol10-x86-local.gz
pkgadd -G -d libgcc-3.4.6-sol10-x86-local
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/synergy-1.3.1-sol10-x86-...
gunzip synergy-1.3.1-sol10-x86-local.gz
pkgadd -G -d synergy-1.3.1-sol10-x86-local

You have to make sure that /usr/local/bin is in your path.

tip: I use/prefer BASH, to edit the user path for BASH in OpenSolaris you HAVE to edit the file .bashrc located in your home directory. Editing it anywhere else will have no effect since (in Preview 2) this file explicitly defines the path WITHOUT inheriting the original path. You have been warned (it took me a few hours to find this!)

for ubuntu there is an excellent walkthru here: https://help.ubuntu.com/community/SynergyHowto

note: for the ubuntu install, make sure you have added the universe repositories http://dav3.net/ubuntu/repositories