From the website: Chocolatey NuGet is a Machine Package Manager, somewhat like apt-get, but built with windows in mind.
You can even build your own packages and submit them. I really like the concept and can see myself using this technology as a free alternative to Microsoft System Center.
Website: http://chocolatey.org/
Github Page: https://github.com/chocolatey/chocolatey/wiki
Thursday, September 13, 2012
Monday, September 10, 2012
AsteriskNOW 2.0.2 64-bit WAV to MP3
I recently revamped our PBX and installed AsteriskNOW 2.0.2 64-bit (http://www.asterisk.org/downloads). There were lots of tutorials online dealing with setup and i was able to get the server and 15 Polycom 501 handsets setup in about 3 days. Because i am often traveling or away from my desk for long periods of time I rely heavily on the voicemail to email feature. The problem was that the .wav files were not opening on my Android Phone. After doing some research i found out that the file was in an odd format (wav|gsm). I had two options at this point: I could either pay a couple bucks for an android app that would play this format or i would reconfigure my server to use another format like mp3 for free.
Being a self proclaimed saver and always looking for a challenge, I decided to search the internet for tutorials. I found a great tutorial outlining the process found here: http://pcaddicts.ca/rc/2011/06/26/asterisknow-freepbx-mp3-voicemail/.
As i started through the process i quickly realized that this tutorial was written for an x86 setup and not an x64 setup. Below is the steps i used on my x64 CentOS 5.8 final AsteriskNOW 2.0.2 64-bit setup.
1) Login into your box
2) Goto your home directory
cd /home/
3) Download the lastest version of lame from here http://pkgs.repoforge.org/lame/
wget http://pkgs.repoforge.org/lame/lame-3.97-1.el5.rf.x86_64.rpm
4) install rpm
rpm -Uvh lame-3.97-1.el5.rf.x86_64.rpm
5) Create the following script as /usr/sbin/sendmp3voicemail.pl
nano /usr/sbin/sendmp3voicemail.pl
#!/usr/bin/perl
6) Make the script executable
chmod 775 /usr/sbin/sendmp3voicemail.pl
7)Change default voicemail format to uncompressed WAV (which will be converted to MP3) and set mailcmd script.
FreePBX -> Voicemail Admin -> Settings
Changes:
format= wav
mailcmd= /usr/sbin/sendmp3voicemail.pl
8) Restart Asterisk and test
service asterisk restart
Being a self proclaimed saver and always looking for a challenge, I decided to search the internet for tutorials. I found a great tutorial outlining the process found here: http://pcaddicts.ca/rc/2011/06/26/asterisknow-freepbx-mp3-voicemail/.
As i started through the process i quickly realized that this tutorial was written for an x86 setup and not an x64 setup. Below is the steps i used on my x64 CentOS 5.8 final AsteriskNOW 2.0.2 64-bit setup.
1) Login into your box
2) Goto your home directory
cd /home/
3) Download the lastest version of lame from here http://pkgs.repoforge.org/lame/
wget http://pkgs.repoforge.org/lame/lame-3.97-1.el5.rf.x86_64.rpm
4) install rpm
rpm -Uvh lame-3.97-1.el5.rf.x86_64.rpm
5) Create the following script as /usr/sbin/sendmp3voicemail.pl
nano /usr/sbin/sendmp3voicemail.pl
#!/usr/bin/perl
open(VOICEMAIL,"|/usr/sbin/sendmail -t");
open(LAMEDEC,"|/usr/bin/dos2unix|/usr/bin/base64 -di|/usr/bin/lame --quiet --preset voice - /var/spool/asterisk/tmp/vmout.$$.mp3");
open(VM,">/var/spool/asterisk/tmp/vmout.debug.txt");
my $inaudio = 0;
loop: while(<>){
if(/^\.$/){
last loop;
}
if(/^Content-Type: audio\/x-wav/i){
$inaudio = 1;
}
if($inaudio){
while(s/^(Content-.*)wav(.*)$/$1mp3$2/gi){}
if(/^\n$/){
iloop: while(<>){
print LAMEDEC $_;
if(/^\n$/){
last iloop;
}
}
close(LAMEDEC);
print VOICEMAIL "\n";
print VM "\n";
open(B64,"/usr/bin/base64 /var/spool/asterisk/tmp/vmout.$$.mp3|");
while(){
print VOICEMAIL $_;
print VM $_;
}
close(B64);
print VOICEMAIL "\n";
print VM "\n";
$inaudio = 0;
}
}
print VOICEMAIL $_;
print VM $_;
}
print VOICEMAIL "\.";
print VM "\.";
close(VOICEMAIL);
close(VM);
#CLEAN UP THE TEMP FILES CREATED
#This has to be done in a separate cron type job
#because unlinking at the end of this script is too fast,
#the message has not even gotten piped to send mail yet
6) Make the script executable
chmod 775 /usr/sbin/sendmp3voicemail.pl
7)Change default voicemail format to uncompressed WAV (which will be converted to MP3) and set mailcmd script.
FreePBX -> Voicemail Admin -> Settings
Changes:
format= wav
mailcmd= /usr/sbin/sendmp3voicemail.pl
8) Restart Asterisk and test
service asterisk restart
Thursday, September 6, 2012
Thoughts about article "Time to Give Java the Boot?"
I started reading an article titled "Time to Give Java the Boot?" found here:
http://www.pcworld.com/article/261843/time_to_give_java_the_boot.html
I almost stopped reading this article once they made the following statement: "The Mac operating system has been near-bulletproof to vulnerabilities...".
As most system admins know, the only reason that the Mac operating system has been "near-bulletproof" is because until recently they didn't have enough market share to matter to virus/malware authors. Now that they do, this perception is changing. Apple itself has had to remove statements like "It doesn't get PC viruses" from their website because it actually does get viruses... see http://www.pcmag.com/article2/0,2817,2406275,00.asp.
I am not an Apple hater. I use my ipad almost daily but it is statements like this that make people complacent about their security and leave them vulnerable to attack. If technical writes at pcworld believe the apple marketing hype then i can only image what the general public must think.
As far as the point of the article, i agree that java is becoming less important for end users and i believe browser based technologies like HTML 5 will eventually replace java on the desktop but on the server JAVA and the JVM are here to stay.
http://www.pcworld.com/article/261843/time_to_give_java_the_boot.html
I almost stopped reading this article once they made the following statement: "The Mac operating system has been near-bulletproof to vulnerabilities...".
As most system admins know, the only reason that the Mac operating system has been "near-bulletproof" is because until recently they didn't have enough market share to matter to virus/malware authors. Now that they do, this perception is changing. Apple itself has had to remove statements like "It doesn't get PC viruses" from their website because it actually does get viruses... see http://www.pcmag.com/article2/0,2817,2406275,00.asp.
I am not an Apple hater. I use my ipad almost daily but it is statements like this that make people complacent about their security and leave them vulnerable to attack. If technical writes at pcworld believe the apple marketing hype then i can only image what the general public must think.
As far as the point of the article, i agree that java is becoming less important for end users and i believe browser based technologies like HTML 5 will eventually replace java on the desktop but on the server JAVA and the JVM are here to stay.
Wednesday, August 22, 2012
uncommon.js
A good friend of mine named Mike Jeffery has created a new javascript tool called uncommon.js. Currently no other tool lets you build a script without having all of the dependencies at package time and so Mike created one for a project our company is working on. If you need such a tool please check out https://github.com/mjeffery/uncommon. This tool is still in alpha so be nice about bugs :)
More info:
Modern javascript libraries like Backbone and ember.js often require lower-level libraries that are very common, heavyweight, or use shared-state configuration. For example: underscore or jQuery. The developers want to provide a single, prebuilt script but won't, can't, or shouldn't include the necessary libraries. uncommon is an alternative to the complicated and/or project specific tools used for packaging these scripts without their runtime dependencies.
With uncommon you can write and organize your library or application as simple CommonJS modules and then compile them into a single script. uncommoncan import dependencies from the global scope and expose them as modules; allowing your code to depend on shared libraries or legacy scripts that may already be loaded on the page. 'uncommon' can also export your module as a global symbol so legacy or inline scripts can use it without any loaders or modification. Projects configured for use with 'uncommon' are compatible with other CommonJS runtimes and package managers (such as npm).
More info:
Modern javascript libraries like Backbone and ember.js often require lower-level libraries that are very common, heavyweight, or use shared-state configuration. For example: underscore or jQuery. The developers want to provide a single, prebuilt script but won't, can't, or shouldn't include the necessary libraries. uncommon is an alternative to the complicated and/or project specific tools used for packaging these scripts without their runtime dependencies.
Tuesday, July 31, 2012
The Internet Map
http://internet-map.net
From the site:
From the site:
The map of the Internet
Like any other map, The Internet map is a scheme displaying objects’ relative position; but unlike real maps (e.g. the map of the Earth) or virtual maps (e.g. the map of Mordor), the objects shown on it are not aligned on a surface. Mathematically speaking, The Internet map is a bi-dimensional presentation of links between websites on the Internet. Every site is a circle on the map, and its size is determined by website traffic, the larger the amount of traffic, the bigger the circle. Users’ switching between websites forms links, and the stronger the link, the closer the websites tend to arrange themselves to each other.
Wednesday, July 25, 2012
Ubuntu 12.04 & VMWARE 5 tools
I found this blog to be very helpful when installing vmware tools on ubuntu vm's.
http://ghosttx.com/2012/03/how-to-install-vmware-tools-v4-on-ubuntu-11-10-server/
http://ghosttx.com/2012/03/how-to-install-vmware-tools-v4-on-ubuntu-11-10-server/
Tuesday, July 24, 2012
The Mythical Man-Month: Essays on Software Engineering
Over the past couple months i have been reading through the book The Mythical Man-Month by Fred Brooks. It was originally written in 1975 but many of the concepts still apply today. I have been apart of projects which have fallen into some of the traps talked about in the book. Below are some quotes (some paraphrased) from the book (one or two from my experience) i think everyone in senior management should think about before starting a large scale software development project:
- Never build when you can buy
- The programming project converges more slowly the nearer one gets to the end - plan for it
- Good cooking takes time; some tasks cannot be hurried without spoiling the result
- All programmers are optimists and are typically bad estimators
- Men and months are not interchangeable (in my own words: you can not take 9 women and make a baby in 1 month just like you can't double your programming staff and expect to cut the project in half)
- Estimating is hard due to the fact that that programmers are building something that has never been built before. If it has been built before then you should be buying it off the self...
- Because programmers are uncertain about our scheduling estimates, they often lack the courage to defend them stubbornly against management and customer pressure.
- Brooks's Law: Adding manpower to a late software project makes it later.
- Adding manpower to a software project increases the total effort necessary in three ways: the work and disruption of re partitioning itself, training new people and added intercommunication.
- 1 good programmer is worth 10 mediocre ones
Subscribe to:
Posts (Atom)
-
While working on a project I was using a MsSQL 2012 database for my persistence layer but wanted to use a SQLITE in memory database for my u...
-
I recently became the project manager for a fully integrated CMS and eCommerce solution. After reviewing possible options, I selected Orch...
-
Redmine Install Process -- Download and install turnkey linux's redmine appliance http://www.turnkeylinux.org/redmine -- install up...