how to sha1 checksum a file in os x using openssl
openssl dgst -sha1 filenamegoeshere
I don't often talk about the business behind software engineering but recently I have had to talk process a lot more with other stakeholders in projects and below is a summary of what I have started to formalize as a agile-waterfall combination process. Though I agree that a fully agile software devleopment process like scrum, XP etc is probably better and more efficient, it is a hard sell for some clients who are so used to the traditional waterfall process. It is also hard to tell some execs in a client services company to let go of their need to have client "sign-off" on everything. Anyways here is a first stab:
requirements gathering / exploration
requirements document
client priority analysis
functional specifications
effort analysis of line items in functional spec
prototype risky functionality
mood boards for design
content and functionality document (with summarized effort based on knowledge from effort analysis of functional spec and client priority analysis)
(at this point we should know what the client wants for the initial launch of the product based on effort and priority. Things that are too costly and low priority should be put off until post launch)
wireframes
user testing of wireframes (not required)
annotated wireframes with func spec / inform wireframes from func spec and vice versa
design round based on wireframes
user testing of design (not required)
scaffold functionality based on wireframes (this task might be broken into a dozen or more scrum sprints depending on the size of the project)
content entry
user testing of scaffolding (not required)
design round
further user testing of design (not required)
sign off of design
build out full functionality to work with design (again this task might be broken into a dozen or more scrum sprints depending on the size of the project)
content entry
QA
Bug fixes
product launch
post launch feature requirements review and exploration (begin process over again)
Now, what happens if you specify a pattern that doesn't match any file system objects? In the following example, we try to list all the files in /usr/bin that begin with asdf and end with jkl, including potentially the file asdfjkl:
Code Listing 5.5: Another example of the * glob |
$ ls -d /usr/bin/asdf*jkl ls: /usr/bin/asdf*jkl: No such file or directory |
Here's what happened. Normally, when we specify a pattern, that pattern matches one or more files on the underlying file system, and bash replaces the pattern with a space-separated list of all matching objects. However, when the pattern doesn't produce any matches, bash leaves the argument, wild cards and all, as-is. So, then ls can't find the file /usr/bin/asdf*jkl and it gives us an error. The operative rule here is that glob patterns are expanded only if they match objects in the file system. Otherwise they remain as is and are passed literally to the program you're calling.
I don't remember this wildcard syntax ever.
To solve this problem, you can take advantage of Linux' built-in wild card support. This support, also called "globbing" (for historical reasons), allows you to specify multiple files at once by using a wildcat pattern. Bash and other Linux commands will interpret this pattern by looking on disk and finding any files that match it. So, if you had files file1 through file8 in the current working directory, you could remove these files by typing:
Code Listing 5.2: Removing files using shell completion |
$ rm file[1-8] |
Code Listing 4.12: Setting the 'rm -i' aliasalias rm="rm -i"
The default installation of leopard server comes with postfix and a sendmail wrapper for postfix that you can use to send email from php. You have to jump through a few hoops to get it to work though. firstly, sudo nano -w /etc/hostconfig and add the following line: then sudo nano -w /etc/postfix/main.cf, find the myhostname variable (by default it’s host.domain.tld), uncomment it and change it to your domain (if you’re on a machine that doesn’t have a DNS, you can make it a domain that you’re responsible for so that it doesn’t get shut down at the receiving end, but please don’t make it google.com or something like that!) now, open php.ini and look for the sendmail_path variable, uncomment it, make its value sendmail -t -i, save then restart apache. I’m not really sure if this is 100% necessary as there’s a comment above that says this is the default value anyway, but it can’t hurt! now open a terminal window and execute the next couple of commands: finally, create a file called mail.php (or whatever!) and add the following to it:
First you must make sure that you have apache and php installed correctly. you can verify this by creating a phpinfo.php file with contents =phpinfo.php?> and then viewing it at your servers ip address (or domain name) in your client computers web browser. If the phpinfo.php renders correctly then you can move on to the next steps: (taken from: http://jspr.tndy.me/2008/05/php-mail-and-osx-leopard/)
There are 4 files I used for the following: MAILSERVER=-YES-
My machine already had postfix running for some reason. That might have been because I had been playing with sendmail for the hour or so before I found the tutorial above. For that reason I had to "restart sendmail" in order to get it to read in the new main.cf configuration. So I did the following:
sudo postfix reload
however that made sendmail report the following error:
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
SO after a quick google search I found that this can be fixed by performing the following command:
chmod g+s /usr/sbin/postdrop
Then you can:
sudo postfix stop
sudo postfix start
and then for good measure restart apache:
sudo apachectl restart
Finally double check its all working by finishing the tutorial:% sudo postfix start
% tail -f /var/log/mail.logmail(
obviously replace you@yourdomain.com with your email address and me@mydomain.com with a valid email address (domain at least, as some mail servers will bounce your email if the sender’s domain isn’t real). Now navigate to your mail.php file (likely http://localhost/mail.php) and watch your terminal window to see that it’s been sent successfully.
'you@yourdomain.com', // your email address
'Test', // email subject
'This is an email', // email body
"From: Me
);
?>
To update system. Update of the system with all the dependencies that are necessary:
yum update
yum search any-package
yum search httpd
yum info any-package
yum info httpd
yum install any-package
yum install gkrellm
yum remove any-package
yum remove gkrellm
available yum list|less
yum list installed|less
yum list updates|less
yum clean all
yum groupinstall "groupname"
yum install gkrellm*
yum list something
yum list mozilla
yum provides filename
yum provides /usr/bin/mozilla
yum list recent
yum --enablerepo=reponame install packagename
yum --enablerepo=dag install j2re
yum grouplist
yum groupinstall "groupname"
yum groupinstall "GNOME Desktop Environment"
yum groupupdate "GNOME Desktop Environment"