imagemagick and typo3 on mac osx
February 24th, 2007
I will cut right to the chase on this. After researching and trying several different methods of enabling imagemagick in typo3 on my mac, there was only one package that worked completely. The package imagemagick-6.1.7.pkg.tar.gz provided by Marc Liyanage. Just download the pacakage, extract it, run it, and it will install everything in /usr/local/bin/ just like it should! At the time that I was hunting, the pages of his site were not responding, but I found the important page in a google cache.
Here are some other things that I tried. These did not work for me, in case you are considering some of these same methods.
- Using DarwinPorts to install GraphicsMagick
- Using DarwinPorts to install ImageMagick
- Using the Image Magick downloadable binary from the ImageMagick web site
- Compiling ImageMagick from source. (I was missing some of pretty important libraries, like JPG, TIFF, etc.)
So, don’t mess around. Just be smart and use the Mac installer from Marc Liyanage.
How to set Connect to your Mac remotely, using VNC and AFP
February 22nd, 2007
I just finished getting this all set up at my house. What I did was the result of pulling some things from a few different sites. They are credited at the bottom of this post. What follows is the process pretty much the way I did it, and it worked!
I’m using the idea of having a constant HOME server, and a floating, connecting from anywhere, SATELLITE computer.
[1] Get set up with dyndns.org or another dynamic DNS server. (or be sure you know your destination IP address). You will need some sort of client to keep the IP updated on the server. My router natively supported dyndns.org, so that’s the service I went with. If your router doesn’t natively support the service that you go with, you’ll need to use a client that runs on your Home computer, to keep your IP address updated in DNS
[2] On the router that handles the internet connection of the Home computer, forward port 22 to the IP address of the Home computer. This is the only port that needs to be open on the router.
On Satellite Mac
[3] create key pair on the Satellite Mac (optional, but for best security)
command-line: (use Terminal)
ssh-keygen -t rsa (answer question for creating a password, then assign a filename)
On the Home Mac:
[4] Allow secure SSH connections
Get your public key from gmail, or however you emailed it to yourself.
In your home directory, at the command-line, create a new directory if it’s not already there: .ssh. move your public key into this new .ssh directory. Rename your public key to “authorized_keys”. So it should be here: /Users/MYHOMEUSERNAME/.ssh/authorized_keys
and lastly, at the command-line:
cd ~
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
edit /etc/sshd_config
Essential - make sure the following is not commented out:
AlowTcpForwarding yesOptional - preventing SSH logins via password, requiring login only via the key pair - Make sure the following two lines are uncommented:
PasswordAuthentication no
UsePAM no
Start (or stop and start) SSH. On the Sharing preferences pane, it is “Remote Login”.
[5] Set up OSX VNC (or Vine Server)
The important thing here is, under the Sharing tab of Vine Server, select “Only allow local connections (require SSH)”
Also, for convenience, you may, under the Connection tab, remove the password. I set the Display Number to Auto.
Now everything is set up. The rest of this is the everyday process of using the setup.
On the Remote Mac:
[1] create a VNC tunnel to the Home Mac. (for Screen sharing)
at the command-line:
ssh -i /Users/MYREMOTEUSERNAME/.ssh/privatekey -L 5900:localhost:5900 MYHOMEUSERNAME@MYHOMEMAC.dyndns.org
(answer with the password for your private key)
[2] Connect to Home Mac by using a VNC client to connect to localhost, port 5900.
[3] Create an AFP tunnel to the Home Mac. (for File sharing)
ssh -i /Users/MYREMOTEUSERNAME/.ssh/privatekey -L 5480:localhost:548 MYHOMEUSERNAME@MYHOMEMAC.dyndns.org
[4] Mount a volume from your Home computer by using the finder menu and using Go -> Connect to Server. Enter afp://localhost:5480 into the field.
Final Notes
I believe there are quite a few ways to streamline this process. There are multiple VNC client apps. Maybe even more than one VNC server apps. The diveintomark.org video tutorial, mentioned below, shows a way to not have to enter your private key password every time you connect.
Credits: (thanks for the help, guys!)
http://macosx.miraworld.tv/ssh/
http://howto.diveintomark.org/remote-mac/
My Mac Software
February 19th, 2007
I’ve been using a Mac desktop for several months now, and I’m really happy with it. I’m about to set up a MacBook in a configuration similar to the desktop, so I thought I’d list the apps that I’m using the most. I know there’s a “transfer files and settings” utility, but I don’t have the required firewire cable, and I want to pick and choose which files and apps to bring over, so I’m just going to move things one at a time.
I’d be interested to find out what apps you use too. So feel free to leave a comment listing the apps you can’t live without.
- In the Dock
- Path Finder
- Quicksilver
- Activity Monitor
- Stickies
- Skype
- iChat
- Thunderbird
- iTunes
- Safari
- Camino
- Firefox
- Adblock Plus
- Adblock Filterset.G Updater
- ColorZilla
- del.icio.us Bookmarks
- replaces Foxmarks
- DOM Inspector
- Duplicate Tab
- Greasemonkey
- del.icio.us >> ma.gnolia
- quickcamp
- Live HTTP Headers
- View Source Chart
- Web Developer
- Xray (Flash debugger)
- Flash
- Fireworks
- Dreamweaver
- TextMate
- Eclipse (PHPIDE)
- FDT
- Subclipse
- Eclipse (Laszlo IDE)
- NeoOffice
- Terminal
- Cyberduck
- Freemind
- Timeslice
- Parallels
- winxp
- IE 7
- MM Studio 8
- Adobe Flex
- Enterprise Architect
- Quickbooks
- MS Office
- FLV Player
- Firefox
- BrickServer Admin Program
- Riva FLV Encoder
- PDF Creator
- AVG Antivirus
- winxp tester
- IE 6
- Firefox
- plain install
- ubuntu
- plain install
- Also
- Final Cut
- Final Cut
- Motion
- Sountrack
- LiveType
- Compressor
- DVD Studio
- DVD Player
- MAMP
- Gimp
- Inkscape
- Google Sketchup
- Utilities
- Application Enhancer
- Menufela
- Default Apps
- MZoom
- NuFile
- OnyX
- VirtueDesktops
- Not Frequently used
- Audacity
- Celtx
- Chicken of the VNC
- Chmox
- Flare
- gDisk
- Gimp
- Google Notifier
- MPEG Streamclip
- MySQL Tools
- NovaMind
- Nvu
- OpenLaszlo Server
- Opera
- Sunrise Browser
- svnX
- VLC
How do I invoice for good planning?
December 12th, 2006
I’ve been reading lately (The Parable of the Two Programmers, and in Info World) that good planning can be more important than the implementation of the plans. I think there’s a lot of truth to that. The better the plans, the easier the implementation. If the plans are hair-brained, it’ll take a genius to make the plans work. Generally, does an increase of time spent planning result in a decrease of time spent implementing? Probably so, to a point. And it most likely also results in a higher quality result.
So, now to my main issue. Most clients only like to pay for you do DO something, not to THINK about doing something. If you create a better solution, you should be paid better, right? Even if it takes less implementation time, but more planning time? It might be one thing in a full-time environment, but it seems more difficult to work effectively in a freelance position. In order to accomplish a challenging goal, a process must be observed. There must be the discovery of needs; research regarding environment, resources, standard methods; planning how to fit together existing tools and create custom results. Only after that can you start the “real” work of creating/implementing the produced thing. And the better you did in phase one (preparation), the easier phase two (implementation) will be.
I’m speaking mainly from the background of programming and web development, but I think this could apply in many cases.
I’ve read that freelancers should sell value rather than time. I’d sure like to collect the thoughts of others on this. I tried googling “how to bill for good planning” but that didn’t turn up anything useful.
Enter this in SETUP:
plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >
Doing this will clear all that extra CSS you get, but will also have some negative effects.
quote from http://bugs.typo3.org/view.php?id=1636:
The css styles from the integrated cron_cssstyledcontent are vital for positioning of the elements, so this cannot be a “reference” implementation: without it, no image positioning would work, many users would be frustrated. A second reason to have this in TypoScript is that it makes use of some constants that can be set through the constant editor (border color, margins, etc), so that the generated css includes this information dynamically. These constants also are well known and provide a “smoother” transition from table-based styles to the css-styled-approach, without having to adapt any css-styles on your site.
th_mailformplus in typo3 - quick notes on how to set it up
June 26th, 2006
1) create a template file for your form, messages, and emails, based on example_form/mailformplus_demo.html
2) add a mailformplus record to a page
3) fill in send-to, subject, send-from, required-fields
3b) most importantly, attach the template file
3c) redirect-to-this-page seems not to work.
4) add a mailform plugin to the page (as content). No config needed on it.
5) add typoscript to template record:
plugin.tx_thmailformplus_pi1.emailHeader = Content-Type: text/html\r\n
plugin.tx_thmailformplus_pi1.emailParameter = -f server@host.example.com
typo3 versioning
June 15th, 2006
I have just done some initial research into how to use typo3’s versioning api, especially in regards to previously existing extensions. Here is what I’ve found, in summary.
To add versioning capabilities to an existing table of an extension.
ext_tables.php:
$TCA[”user_localdev_stores”] = Array (
“ctrl” => Array (
…
‘versioningWS’ => TRUE,
‘origUid’ => ‘t3_origuid’,
…
ext_tables.sql: (right after the cruser_id line)
CREATE TABLE user_localdev_stores (
…
t3ver_oid int(11) DEFAULT ‘0′ NOT NULL,
t3ver_id int(11) DEFAULT ‘0′ NOT NULL,
t3ver_wsid int(11) DEFAULT ‘0′ NOT NULL,
t3ver_label varchar(30) DEFAULT ‘’ NOT NULL,
t3ver_state tinyint(4) DEFAULT ‘0′ NOT NULL,
t3ver_stage tinyint(4) DEFAULT ‘0′ NOT NULL,
t3ver_count int(11) DEFAULT ‘0′ NOT NULL,
t3ver_tstamp int(11) DEFAULT ‘0′ NOT NULL,
t3_origuid int(11) DEFAULT ‘0′ NOT NULL,
…
that’s it. make those two adjustments, and your records will now have that nifty “v” versioning icon.
2)
Now, if you want your extension to DO things with versioning, such as create a new version of a record automatically, e.g. when a FE user submits a form, here are some classes to reference:
t3lib_BEfunc->selectVersionsOfRecord() and others in t3lib_BEfunc
t3lib_page->versionOL() and others in t3lib_page
t3lib_TCEmain->insertNewCopyVersion()
!! t3lib_TCEmain->versionizeRecord() and others in t3lib_TCEmain
t3lib_TCEmain->insertDB($table,$id,$fieldArray,$newVersion=FALSE,$suggestedUid=0,$dontSetNewIdIndex=FALSE)
t3lib_TStemplate->versionOL() ??
t3lib_userAuthGroup
It looks like TCEmain is a class that I need to spend some time in!
Four life skills everyone should develop
April 30th, 2006
Listening
Don’t just have your own thoughts. Learn what other people think too. And don’t stop there. Learn WHY they think that way. What is their background? What led them to think this way? What are the benefits of thinking this way? Don’t interrupt. You’ll have plenty of time to express yourself. Take the time to hear what this other person is saying.
A great way to build someone up, is to listen to them with your full attention. And work to understand what they’re saying. Ask clarifying questions… “Do you mean red like a Ferrarri, or red like a plum?” OK, that was a dumb example, but hopefully you get the point. A person is more willing to hear you, if you have taken the effort to really listen to and understand them.
Thinking
Processing. Process things. Decide what YOU think. Why do you think that? Is that your own conclusion, or did someone else persuade you to believe this?
You just really need to think for yourself. If you let someone else think for you, you’ll end up letting many people think for you. Yes you should listen and understand and be very mindful of your trusted advisors and friends. But in the end, you are the only one who decides what you think. It’s easy to go through the motions of whatever lifestyle you’re in. But how many times do you feel like you really have to think through something before you know what you think about it? I think it’s healthy to do that. I know there are different personality types, some that naturally make quick, instinctive decisions, and others that like to mull things over for weeks. But I’m not really talking about decision-making here. I’m talking mainly about knowing what you think, rather than what you’ve been told to think.
Time Management
This is one thing that I’m probably unduly obsessed with. I log most of my time, every day. Even right now, on my timekeeper, it says “blogging.”
Being aware of how I spend my time, helps me to spend my time more wisely. I, like many people, feel this frustration of just not having enough time to do everything I want to do. Or do you constantly feel tired because you’ve stayed up too late and had to get up early again?
Become attentive to what you’re doing, when you start doing it, when you stop doing it. It doesn’t matter if it’s working, chit-chatting, reading, sleeping, having a beer with some friends, or praying deeply to God. These can all be valid things.
The whole point of time management is to enable you to do the things that you really want to do. That brings up the question that is sometimes harder to answer. What do you really want to do? So that is step one in time management. Identifying your goals, values, mission. Step two is identifying all the action steps that support those goals and values, and organizing those actions into some sort of a time framework. As you look at how you spend your time, the prevailing question should be “do my actions today, yesterday, and tomorrow, support my core values and mission, and my goals?”
Being in control of your time also helps keep you rested, and able to engage more fully in the things that you do.
Of course, there are many circumstances in life that take our control of time away from us. Some times there’s just no way to get the proper amount of sleep. Some times certain things just have to go on the back burner.
But the point here is that developing some time management skills can enable you get get more done, and be more selective about what you do. It’s a skill that can add quality to your life.
Encouraging Other People
Wow, this is (for me) the biggie of the group. I have for a long time considered myself to not be gifted in encouragement. And really, I’m not. I’m analytical. My attention naturally gravitates to things that need to be worked on, fixed, corrected. So I decided I wasn’t going to try to be encouraging. I would work at being a good programmer and worker instead. But there are so many benefits of becoming more encouraging. It’s an investment in those around you. It’s greater connectedness, and really knowing those that you are encouraging.
If someone is good at something, or if they have just succeeded at something that they’re good at, it’s very easy to assume that they are very comfortable with that thing. That they know they’re good, that they feel good about their successes.
But many people, don’t even see their own successes or strengths. I think it’s very human and natural to focus on our own weaknesses and discount our strengths. If you’re good at something, it’s very easy to find someone else who is better than you, thus you downplay your strength. I guess that’s why topics such as self-image and self-esteem are such big issues.
So, you may see someone, and they may appear confident. They may not say much. But you can be pretty sure that they’re well aware of most of their own faults. They may not be aware of their strengths. Or maybe they don’t feel like what they’ve done, or who they are, is valuable, for whatever reason.
OK, so how do I encourage other people? From my experience, not many people do this. It’s hard to find examples. You have to look pretty hard really.
- So, the first thing is, I think, to find and identify people and other sources (books, movies, etc. but real life people are the best) that encourage or inspire you. These are things that make you want to do what’s right, even though it’s difficult or painful. These are people that help you see the beauty of life regardless of the circumstance. Keeping these influences closeby, in your daily routine, will give the concept and vocabulary that you need to be an encourager.
- Highlight someone’s strengths to them. “You have such a great eye for design!” And be sincere. Even if you don’t sound sincere, say it anyway. You can work on the sincere “tone” later.
- Praise somebody even when they’re not around. When word gets back to that person, they’ll get a real boost!
- Recognize a person’s accomplishments and work, even if it’s outside of their special giftings. Doing the dishes and mowing the yard get to be pretty routine. It’s so nice to receive a sincere word of appreciation.
David’s Armor, when fighting Goliath
April 29th, 2006
When David (of the Bible) asked King Saul for permission to fight Goliath, Saul dressed David in some traditional battle armor. There were several problems with all that armor. David wasn’t accustomed to wearing ANY armor. The armor was too HEAVY for David. And it got in David’s WAY. David couldn’t use the armor. He was better off using and wearing what he was accustomed to.
Saul’s armor represents PROTECTION and FEAR. There’s nothing wrong with protection. We’re supposed to be careful. Don’t be stupid! And there’s even a healthy level of fear that is good. Where we should NOT go, however, is to the point where our live is controlled by fear. How can I be any good to anybody if my main guiding thought is the protection of what I think I have?
Isreal was gripped in fear and doubt at this point in time. The armor, which is the result of this fear, and is intended to protect the wearer, only got in the way.
Sometimes, instead of thinking about how to protect yourself from injury and hurt, you need to stop looking inward; stop thinking about yourself so much. Instead, look at the actual task and goals at hand. Maybe there is some risk. Maybe your whole life is on the line! But are your protective measures holding you back from achiving the task?? Shedding your armor exposes you. It makes you more vulnerable. But it makes you more agile and capable too. So let God be your armor, and go and do what you know (deep down inside) is right.
David and Goliath
April 24th, 2006
Getting un-stuck.
That seems to be a theme of this story. Israel was stuck in an impasse with the Philistines. For forty days they had a daily standoff. Goliath and the other Philistines would come and taunt the Israelites.
I found it impressive that David (up to now, mainly a shepherd and musician) made the CHOICE to fight Goliath. Nobody asked him to. Everybody thought he was nuts for even trying. Yet David felt he MUST do this, and he had complete confidence that he could win.
So, WHY did David feel so compelled to take on this challenge? One thought is that this is the place where Israel was stuck. They were stuck as a nation. If they didn’t win this fight, they would be slaves to the Philistines. They FEARED the Philistines because of their size and strength. David saw this stuckness (is that a word) and could not stand it.
Where are YOU stuck? What is YOUR “Goliath?”
What helped David overcome Goliath?
- God was with him, and David relied on God.
- David was in the HABIT of relying on God.
- David was in the habit of rescuing his animals out of the mouths of wild animals. And large ones! Bears, Lions. Thus, David was in the habit of tackling (and killing) these large wild animals.
So basically, David used skills that he was familiar with, and that he had honed in his daily work. What things are you GOOD at, that you’re in the HABIT of doing? Maybe these can help you overcome your Goliath?