Notes from the dungeon: ImageMagick and Redmine 2014-03-23
# abbreviated notes on installing redmine gems with imagemagick on ubuntu 12.04
# some of the following notes came from http://www.underworldproject.org/documentation/LibpngDownload.html
# which is an open source library for subsurface exploration like “magma” (yes, I said “magma”)
tar zxvf libpng-1.6.10.tar.gz
# imagemagik still doesn’t install the gem. Found this on StackOverflow but lost the link:
apt-get install graphicsmagick-libmagick-dev-compat
/rant/ – global variables like PATH are needed. Windows has the registry. In this case for ImageMagick to work with PNGs we need to tell it the home globally defined as PNG_DIR. There are several ways to do this in unix and in Ubuntu/debian. I personally don’t like variables stuck in .bashrc if the variables are really user specific. The .bashrc for your profile is NOT global. And skeleton profile files for unix named user profiles are a one-time thing that you can’t update everyone globally later once their profile is created. GLOBAL_VARS in .profile or .bashrc make (specifically you the network admin) your life convenient. But it’s not all about us. .bashrc variables or custom entries in /etc/hosts suck. Magical profile specific path variables break the python rule of “no magic” which means that in every other way they completely suxor. Let’s be honest – it just tempts you to run applications as root, right? None of us have ever seen that. HmmmmHMMMM? /end-rant/
Better option: profile.d applies to all bash prompts as well as any GUI that gets launched so it is currently my preferred method. (note “preferred methods” for me frequently last either 48 hours or 20 years, one or the other. Educate me if you have a better way.)
In this case we need to specify one variable only. But it will expand so let’s do it the right way. We’ll make a .sh file in /etc/profile.d. In practice I usually put these with my project without execute rights and then sym link them into the /etc/profile.d/ folder with “chmod +x myscript.sh” etc…. But to keep it simple – let’s just make our shell script as follows.
sudo touch redmine_globals.sh
chmod 755 redmine_globals.sh
sudo nano redmine_globals.sh
# for bash put this in the script file
# exit. or call it manually with “source /etc/profile.d/redmine_globals.sh”
PROGRESS? Let’s check it.
NOoooooOOOOOoooo… Alas I still get a fail when I refresh the redmine page on the availability of ImageMagick. Major FAIL. I read a bunch more as it still didn’t work. Found this command and it executes properly.
sudo apt-get install libmagickwand-dev
#but did it work? Hmmmm.
bundle install --without test development
# still no
# Then tried this:
sudo apt-get install imagemagick libmagickwand-dev ruby-rmagick
root@redmine:/var/data/redmine# touch tmp/restart.txt
I have absolutely no need to calculate anything about magma. But it holds a sacred place in my mind and while fighting with RMagik gems I found a few helpful notes on the underworld site (like sub-surface GIS people, not the Mafia. Sheesh.)
Thus I recommend you check out just how far the open source community has come in terms of GIS and ESRI including subsurface water simulation, magma and much more. Check it here: http://www.underworldproject.org/models.html#Magma
how to backup or backup and sync users in gmail using gmvault.
Mac or Linux – although I think on my Mac.
Best to do it in a virtual environment, by which I mean virtualenv
sudo easy_install pip
sudo chown -R venvs/gmvault
#make the virtual environment
# this just gives your regular user access to the directory tree because sudo gets old
sudo chown -R eschipul:wheel venvs
# You should now see (venv) in front of your prompt
# I had downloaded the file, which is hard to find BTW, to my Downloads folder so I had to move it.
mv ~/Downloads/gmvault-v1.8.1-beta-macosx-intel.tar.gz /venvs/gmvault/
tar zxvf gmvault-v1.8.1-beta-macosx-intel.tar.gz
./gmvault sync firstname.lastname@example.org
# you have two options – you can use oauth which I did. Or if you are doing a scheduled sync
# restoring a gmail account looks like this:
./gmvault restore MYNEWfoo.email@example.com
After having recently moved google apps accounts from the domain schipul.com with an alias for our tendenci.com emails, to reverse it to be tendenci.com with aliases from the schipul.com domain, I wanted to help you avoid some pain.
First – there is no easy way to do this. There is a planning doc from google apps, but google apps and google analytics aren’t even on the same page. (Trust me, we got so frustrated that we finally conferenced google in with google and listened to two highly intelligent people contradict each other. #sigh).
I don’t intend this post to be a “how to migrate your google apps domain to a new one” but I can at least hopefully help you on a few particular items. Consider this a “stuff to look out for” post with the usual YMMV caveat.
- There is no “switch” to change primary google apps domains.
- As of January 2014, the only way to do it is to DELETE your primary domain and wait for google to “fully delete it” (whatever that means) and add it back to your new google apps domain. Probably best to keep a primary that isn’t on google.
- Analytics is tied into a gmail, either gmail.com or google apps account. Given you probably don’t want to lose analytics and PPC for 1 to 5 days, move this one a week ahead of time at least. How? Get this.
—– to change google analytics master accounts you have to update each one individually. Really fun for an agency with a few hundred accounts under management. Thus DO THIS FIRST. If I could do it again I’d go with firstname.lastname@example.org and move everything over there instead of waiting out even the removal of an alias from the primary.
- You have to remove the alias domain fully before you can add it as a new google apps domain. This includes removing it as an alias from deleted accounts, which requires restoring the account, removing the alias, deleting the old account again which resets the “up to a week to delete” clock for the deleted account. /~slams head on desk~/
- Removing the alias domain is hard. Searching for the alias won’t show everything. you basically have to check every group, user, resource (shared calendars) etc to see if they have it as an alias. And they probably do because you set it to automatically add that alias to all resources in the domain like google prompts you to do.
First make a backup. More on that below. AFTER backing up the accounts, even if it doesn’t get docs and calendars etc, migrate. Well, sort of.
For us, we used backupify to move our google app accounts content
Side note I also used Backupify to backup my facebook pages before requesting a merge and that was also delayed. However, I believe Backupify rocks, but gmail and facebook don’t make it easy. I couldn’t find a better solution than backupify so they get a tip of the hat from me.
Back to backupify and google apps – it does NOT move the domain or create a new app account, it just moves “most” and “some” and “tries really hard” to move the data. Works fine for the young guns but if you have 15+years of emails it won’t move it all no matter how long you wait.
Out of sequence, but see the next post on backing up your google app emails for deleted accounts or your larger accounts as backupify can’t migrate those. You have to backup and restore. Or backup and don’t restore. A great chance to start over. See next post.
To be the best in the world takes just a bit of obsessiveness. I’m cool with that.
THE PAGANI HUAYRA IS THE FASTEST ROAD CAR EVER AT THE BBC TOP GEAR TEST TRACK
Mr. Horacio Pagani CEO and Chief Designer of Pagani Automobili:
“We are delighted by this result and it makes us proud. We knew the Huayra had a fair chance of being quick but the time scored was beyond our expectations and we give credit also to an amazing drive by the Stig. But, on top of that, we are delighted that the audience has appreciated our efforts in trying to make a car that conveys not only cutting edge technology and state-of-the-art engineering, but also the continued pursuit of making every single piece beautiful and functional at the same time. I would like to thank all our partners, without them it would have been impossible to achieve such an incredible result”.
I especially like the “thank all our partners, without them it would have been impossible to achieve such an incredible result” because that is so true. And yet frequently unspoken in the entrepreneurial community.
NOBODY does it alone. It takes lots of help, and friends, and family, and luck, and timing, and most especially – the stamina to work 80 hour weeks for 10+ years or more. Because if you love what you do, it isn’t work, it’s life. And life is meant to be full of meaning. And when you know that what you do is meaningful, from meaning you find happiness.
Mediocrity is lame. The definition of success is internal and it changes over time. For example….. (sorry, saving that for the next blog post….)
For his entire life, Golson’s had the raw ability to simply throw the ball, never using the laces of the football to guide his mechanics. Left alone by the Irish staff, Whitfield has gotten Golson to change a life-long habit by helping the young quarterback understand why using the laces is important.
“I said, ‘Listen, I understand, it’s remarkable what you do without them, and you’re going to need that, because sometimes you’re going to need that when you’re under the gun.’” Whitfield explained. “Then, we sort of talked about why the strings are there, and they’re there to help us, and they are there to kind of easy things out, and they allow us to do X, Y and Z with the football.”
- Keith Arnold
Brackets editor by Adobe. OK, I assume they purchased it, but it’s under their brand. Link:
After download on the Mac, if on Maverick, it will prevent you from running it. Instead of using Alfred or Spotlight, try instead:
2) Install in apps (click the dmg from the step above)
3) Go to apps, find brackets.app, and hold CTL while you click it. This should bring up the option to “Open” as well. Do that.
On Tendenci development configuration…. Through one of the thousands of sources of input that hit me in a given week between websites, newsletters, other programmers, employees and random people I talk to, it finally clicked with me the significance of Apple switching to SMB.
OK, to back up for non-geeks. Computers talk to each other and devices like printers using common protocols. Microsoft, going back to modifications to DOS has used SMB. (skipping a bunch of history here.) Fast forward to a few weeks ago when Apple released OSX Maverick for free. In the release of Maverick everyone talked about how it was FREE. They are giving away the software counting on us to buy the hardware. OK, I get that.
What they also did was change from their own network protocol, called Apple Filing Protocol, and switched to Microsoft’s protocol SMB. Wait, what? Why?
Well, first Apple made their OSX Server software $50 in the app store. A comparable server software package from Microsoft is $2500. So I purchased a Mac Mini server. Sadly with even 35 users it wasn’t that fast. AFP is slower that SMB I’m told. But they could have improved AFP. Instead Apple made the switch to SMB. This not only speeds up their server but most importantly it allows MACs to connect to local area networks managed by Microsoft Servers without any extra software or tech support needed.
Apple is moving into corporate America folks.
Apple owns the home/consumer market in my opinion, even if I have an android phone our house is full of mostly Macs. 1 or 2 PCs or Linux but mostly Macs. Our company is already fully switched to Macs and Linux and the Cloud. But a lot of companies have not. I’ll leave predictions of Apple’s strategy to break into the Fortune 500 to reporters far more qualified than me.
What I do know as a programmer is that my life just got a LOT easier.
/back to geek speak/ We program on Linux but use Mac laptops. So we are always connecting back and forth which is a pain. And developing locally, on an airplane for example, I need virtual linux machines that run on my local computer. For that I used to use open source Virtual Box by Oracle, but it’s too slow on a Mac IMHO. I tried VMWare Fusion 6 and apparently they have a deal with Apple allowing direct access to the hardware. All is know is that VMware is MUCH faster than virtual box or vagrant. And I’m impatient so I’ll pay the $70 ish for VMWare Fusion.
Previously to share folders between my local computer (Mac) as the host computer running a virtual Linux computer on VMWare (Guest) required me to set up sharing through VMWare. This gets complicated. Your host folders are mapped to /mnt/hgfs/ inside of linux. If you symlink into a project and install software, given it is a symlink that means your files will still install in the /mnt/hgfs/ folder. For example:
Project folder path to virtualenv inside of Linux 12.04 LTS might be:
Linking from VMware Fusion you would create a share perhaps similar to
that pointed to your virtual environment folder.
Because this is a sym link, if you install a virtualenv for example the path maintains the linux path. So a “which python” gets you something in the /mnt/hgfs/shares/projects/ folder instead of the /var/www/projects/mydjangoproject/venv/. This makes portability a problem.
Samba to the rescue. The above method required configuration of the virtual machine through VMWare fusion, which slows down designers. And doesn’t easily port to VirtualBox or Vagrant. You can make magic happen by using Samba:
Installed in the guest OS, for me 12.04 Ubuntu, and setting up your /etc/samba/smb.conf file with something similar to this:
path = /var/www
writable = yes
guest ok = yes
read only = no
Restart you VM and magically in Apple’s Finder you will now see the local VM in your “shared” portion of finder.
Lastly for the programmers out there, do a bit more research before using anything other than NAT on your local for security. You have to configure file sharing security on the Mac host. Samba sharing security via smb.conf. And chmod/chown security on the folders and files inside the linux guest. While it might be tempting to just blow down the house with 755, remember that whoever takes that image might bridge the adapter and…. well, that would be your fault. So be careful out there kids.
Still, loving the fact that my directory structures can be identical, that I can pass off a vmware image to a colleague and it JUST WORKS. Dreamweaver edits, bash, git, whatever. Between SSH and the adobe suite you are now all powerful to make better looking applications using better software. Rock. On.