tag:blogger.com,1999:blog-43877500112736466842024-03-04T23:58:55.009-08:00Colorful TechI just began working in one of the weirdest, most slightly amazing young tech companies around. What you see here is part of my work and part of my passion.
Let's get this party started ::Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-4387750011273646684.post-13690348469998422792009-04-13T00:44:00.000-07:002009-04-13T01:26:01.035-07:00Timesaver: PHP and SSH2 (libssh2) - Installing or UpgradingTo install or upgrade <span style="font-weight: bold;">PHP (5.x)</span> with recent versions of <span style="font-weight: bold;">libssh2</span> (now <span style="font-weight: bold;">1.1</span>) from source (rather than through PECL):<br /><ul><li>Make sure you have <span style="font-weight: bold;">OpenSSL</span> (0.9.8g or more recent) installed</li><li>Download <span style="font-weight: bold;">libssh2</span> from <a href="http://sourceforge.net/projects/libssh2/">http://sourceforge.net/projects/libssh2/</a></li><li>Extract and run ./configure with your choice of arguments: examples: --with-libssl-prefix=/usr/local/ssl --with-openssl</li><li>Make and install libssh2</li><li>Download the libssh2 language bindings (now 0.11.0 )for PHP from <a href="http://pecl.php.net/package/ssh2">http://pecl.php.net</a><a href="http://pecl.php.net/package/ssh2">/package/ssh2</a></li><li>Extract. In the root directory of the extracted folder, type phpize (or full path if you have more than one php install)</li><li>Then the familiar: <span style="font-weight: bold;">./configure</span> && <span style="font-weight: bold;">make</span></li><li>Copy the modules/<span style="font-weight: bold;">ssh2.so</span> file to your PHP extensions directory<br /></li></ul>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-34999206761335428712009-04-12T09:00:00.000-07:002009-04-12T09:57:07.745-07:00Timesaver: [ configure: error: Cannot use an external APR with the bundled APR-util ]If you are upgrading Apache to a version 2.2.x (from 2.2.3 up), you might run into this error early on:<br /><br /><blockquote>configure: error: Cannot use an external APR with the bundled APR-util</blockquote><br /><br /><span style="font-weight: bold;">Solution</span>:<br /><br /><blockquote>Add <span style="font-weight: bold; font-style: italic;">--with-included-apr</span> as a parameter to ./configure</blockquote>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-78128557453946495542009-03-21T14:35:00.001-07:002009-03-21T14:49:03.955-07:00Faxing with Asterisk 1.6.1 (Receiving Faxes) - TimesaverIf you're trying to get Asterisk 1.6.1 to receive faxes these steps might be all you need for a simple setup:<br /><ul><li>Make sure you have <span style="font-weight: bold;">udptl.conf</span> in place, and make sure you're aware of the ports configured there<br /></li><li>Make sure your <span style="font-weight: bold;">firewall</span> will accept udp connections on the ranges you set in udptl.conf</li><li>sip.conf: In the [general] context: <span style="font-weight: bold;">t38pt_udptl = yes</span></li><li>sip.conf: In the [general] context: <span style="font-weight: bold;">t38pt_rtp=no</span></li><li>sip.conf: In the [general] context: <span style="font-weight: bold;">t38pt_tcp=no</span></li><li>sip.conf: In the peer configuration: <span style="font-weight: bold;">t38pt_udptl=yes</span><br /></li><li>sip.conf: In the peer configuration: you might need to set <span style="font-weight: bold;">canreinvite=yes</span> , especially if you're sure there is no NAT involved. If NAT is involved or might be involved, try <span style="font-weight: bold;">nat=yes</span> and <span style="font-weight: bold;">canreinvite=no</span> (or <span style="font-weight: bold;">canreinvite=nonat</span>)</li><li>In your dialplan use the <span style="font-weight: bold;">ReceiveFAX</span> application instead of rxfax<br /></li></ul>If these settings look contradictory or confusing, take page from the book of working with actively developed software: <span style="font-weight: bold;">Sometimes it just works</span>.Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-14671434924631118072009-03-12T18:02:00.000-07:002009-03-21T14:49:24.437-07:00Asterisk 1.6.1 + OpenSSL: Save your hair! TimesaverWhile compiling Asterisk 1.6.1 from source, if you come across a "no such File or directory" compile error (through chan_sip.c and tcptls.h) try using the ASTCFLAGS instead of or in addition to CFLAGS.<br /><br />This error is most likely to show up if:<br /><ul><li>./configure runs fine, even with --with-ssl=/usr/local/ssl (or your path)</li><li>openssl is installed in a non-standard path (common when compiled from source)</li><li>you know that ssl.h and err.h exist on your system -- asterisk's build simply doesn't find it during make (arguably not asterisk's job)<br /></li></ul><span style="font-style: italic;">If ssl.h and err.h are under /usr/local/ssl/include/ssl.h and /usr/local/ssl/include/err.h, respectively, this might get Asterisk compiling when other methods don't:</span><br /><br /><blockquote><strong>ASTCFLAGS="-I/usr/local/ssl/include" CFLAGS="-I/usr/local/ssl/include" /usr/local/bin/make</strong></blockquote>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-89554762899954984122009-03-12T16:07:00.000-07:002009-03-12T16:15:42.793-07:00Faxing with Asterisk 1.6.1 and SpanDSP<span style="font-weight: bold;">Overview:</span><br /><blockquote>If you're familiar with Digium's Asterisk 1.4x or 1.2x, your fax solution might have included the extremely useful SpanDSP library. Getting a vanilla install of Asterisk from source to "installed" with <span style="font-weight: bold;">SpanDSP required a patch and separate downloads ... that is, until recently</span>.</blockquote><br /><br /><span style="font-weight: bold;">Good News:</span><br /><blockquote>Recent versions of Asterisk in the 1.6x line include a combined app_fax support and work with recent versions of SpanDSP.</blockquote><br /><span style="font-weight: bold;">So...</span><br />If you're looking for a place to download app_rxfax.c or app_txfax.c (no longer available from soft-switch.org) and you're using Asterisk 1.6.x, consider getting a recent version of <a href="http://www.soft-switch.org/">SpanDSP</a>. For many installs, this will be enough.Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-22431296078306858602009-03-04T10:33:00.000-08:002009-03-04T11:49:35.883-08:00March Beta-watchAfter a talk with a long-time associate and web expert about business direction, brewing startups, and security, I walked away with a couple of interesting sites:<br /><br /><br /><blockquote><span style="font-weight: bold;"><a href="http://www.groupable.com/">Groupable</a></span><span style="font-weight: bold;"> </span>- which helps groups (even tiny, esoteric groups) to find sponsors, is in beta and moving quickly. I haven't been following the site progress closely, but it looks promising.<br /><br />It is more functional than many in the beta stage. The real tests for Groupable will be to:<br /><ol><li>Clearly communicate what they can do for a Sponsor or Group</li><li>Get Sponsors to sign up</li><li>Give Sponsors easy, relevant ways to find Groups</li></ol><br />It looks like it's well on its way. I see a lot of potential for student groups, support groups, little league teams, and networking groups especially. Not every group would consider finding outside funding or support for activities provisions, and Groupable might help some of those succeed where they wouldn't have.<br /></blockquote><br /><br /><blockquote><a style="font-weight: bold;" href="http://www.tipmeoff.com/">TipMeOff</a> - which seems to be a classifieds site, in the vein of Craigslist. The interface is messy, though I see some useful features rare in free classifieds:<br /><ol><li>6 Photos per post (as opposed to 4, or none, in some cases)</li><li>Anonymized e-mail or Web-based messaging to reply to posts<br /></li><li>Multiple languages, although right now only the location names are localized</li><li>Multiple locations post, global and local (you can post your ad to multiple locations anywhere in the world, but this won't be useful until TipMeOff gets its interface together)</li><li>Ads don't expire (for now! I expect this to change if TipMeOff wants to keep its content relevant)</li></ol>For most people, the ugliness of the site will be a turn-off. For generalist-nerds, it just might be a fun ride.</blockquote>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-68877494812056616312009-03-04T10:24:00.000-08:002009-03-04T10:32:58.419-08:002008? Somebody light a match! 2009: Much, much better...The latter half of 2008 was a real challenge.<br />In so many ways.<br /><br />While I still think the company I started working for (after so many positive years consulting independently) is the best I've ever worked for, there were a few times last year that gave me pause. All in all, we pulled together to resolve impacts many of you will find familiar:<br /><br /><ul><li>Clients with "disappered" budgets</li><li>Projects frozen due to "significant changes in client standing or management"</li><li>Staff changes due to major life changes, family matters, or a need to move</li></ul><br />Almost through the first quarter of 2009, we're looking forward to the Spring! We found opportunity in 2008's adversities, and smoother times are ahead.Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-56298570414562527662008-09-04T14:03:00.000-07:002008-09-04T14:08:54.031-07:00Chrome :: Aw, Snap!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIKNpzjI4XukP9XhyylokilVxel0RSxEUi7smWtXphDZ5xlokzoQtmWvEceSD5Nd6TwI3xe4XJMPXZkHttOaqvIxUBqVbAKB-yJuwVMZRxFX1eMr6nIc-ep15F8BPesN23FtEuTulnq4/s1600-h/20080904-colorfultech-chrome-awwsnap-image.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIKNpzjI4XukP9XhyylokilVxel0RSxEUi7smWtXphDZ5xlokzoQtmWvEceSD5Nd6TwI3xe4XJMPXZkHttOaqvIxUBqVbAKB-yJuwVMZRxFX1eMr6nIc-ep15F8BPesN23FtEuTulnq4/s400/20080904-colorfultech-chrome-awwsnap-image.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5242275352186473394" /></a><br /><div>Chrome's message reads:</div><br /><br /><div>"Aw, Snap! Something went wrong while displaying this webpage. To continue, press Reload or go to another page"<br /></div><br /><br /><div>Apparently, some caught errors in rendering will display this playful message.</div>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-38221607965375062652008-09-04T00:08:00.000-07:002008-09-04T14:03:54.153-07:00Google Chrome :: Easter Egg, Crash, and more<span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="text-decoration: underline;">Easter Egg</span></span>:<div><ul><li>Type <span class="Apple-style-span" style="font-weight: bold;"><blockquote>about:internets</blockquote></span> into the location / address bar for blast from the past...</li></ul></div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="text-decoration: underline;">Useful bits</span></span>:</div><div><br /></div><div> Type any of the following to tinker, prod, or poke at the underbelly of Chrome:</div><div><ul><li>about:memory<br /></li><li>about:stats</li><li>about:network</li><li>about:histograms</li><li>about:dns</li><li>about:cache</li><li>about:plugins</li><li>about:version</li><li>about:objects</li><li>about:chrome-nativeui</li><li>view-cache:[URL]<br /></li><li>view-source:[URL]</li></ul></div><div><br /></div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="text-decoration: underline;">The Bomb</span></span>:</div><div><br /></div><div>Any of the following is likely to crash the current version of Chrome:</div><div><ul><li><span class="Apple-style-span" style="font-weight: bold;">Percent Crash</span>. Clicking a link like this: <span class="Apple-style-span" style=" white-space: pre-wrap; font-family:-webkit-monospace;font-size:13px;"><blockquote><a href="evil:%">Evil link</a></blockquote>or, for that matter, any other target of the form "<span class="Apple-style-span" style="font-style: italic;">something:%</span>"</span></li><li><span class="Apple-style-span" style=" white-space: pre-wrap;font-family:-webkit-monospace;font-size:13px;">Typing <span class="Apple-style-span" style="font-weight: bold;">evil:%</span> or <span class="Apple-style-span" style="font-weight: bold;">something:%</span> into the address / search bar</span></li></ul><div><span class="Apple-style-span" style=" white-space: pre-wrap;font-family:-webkit-monospace;font-size:13px;"><br /></span></div><div><span class="Apple-style-span" style=" white-space: pre-wrap;font-family:-webkit-monospace;font-size:13px;">Credits:</span></div><div><ul><li><span class="Apple-style-span" style=" white-space: pre-wrap; font-family:-webkit-monospace;font-size:13px;"><a href="http://lifehacker.com/5045136/google-chromes-aboutinternets-easter-egg">http://lifehacker.com/5045136/google-chromes-aboutinternets-easter-egg</a></span><br /></li></ul></div></div>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-40591011362209584072008-09-03T12:59:00.001-07:002008-09-03T13:45:49.820-07:00Google Chrome, Mozilla Firefox, Microsoft Internet Explorer - A Showdown<div>At work we're always staying abreast of tech developments, especially disruptive technologies. Google's release of Chrome might prove disruptive, as its rapid initial wave of browser market share consumption suggests.</div><div><br /></div><div>In advising our clients and planning for future development, we consider:</div><div><br /></div><div><br /></div>Chrome, a Newcomer: Pacman™ style<div><ul><li>Quick to Launch</li><li>Quick to Load Sites</li><li>Sends URL information to Google</li><li>No Private Browsing Mode</li><li>Open Source....Eventually, but not yet</li><li>Glitchily new</li><li>More resilient to crashes</li><li>Child of Google: deep reach, deep pockets</li><li>Not supported by many operating Systems</li></ul><div>Mozilla Firefox: Rebel with a cause</div><div><ul><li>Launched the first significant blow to IE's browser dominance since that dominance was established</li><li>Many diehard fans of the browser and Mozilla</li><li>Many more "flexible" and "early adopter" users, may be more susceptible to Google Chrome's "wares" and more likely to give Chrome a try soon.</li><li>No Private Browsing Mode<br /></li><li>Widely supported across many operating systems</li></ul><div>Microsoft Internet Explorer: "Everything that has a beginning...."<br /></div><div><ul><li>Default Browser for Microsoft Windows Operating Systems</li><li>Most popular browser, apparently</li><li>Tends to mimmick other browsers' successes, rather than innovate</li><li>Many users hesitant to try other browsers or give up what's familiar</li><li>Previously had biggest reach by default through the Microsoft Connection. Now with Chrome through Google...well, we'll see.</li><li>No Private Browsing Mode<br /></li><li>Supported on roughly ..2.. Operating Systems<span class="Apple-tab-span" style="white-space:pre"> </span></li></ul><div>Others...</div><div><ul><li>Opera was an early innovator with tabbed browsing and a lighter-weight, more flexible browser -- but lacked exposure/reach to take off. That, and for a time they tried to charge for their browser. Ooops!</li><li>Safari supports a private browsing mode that its more popular counterparts have been slow to take on. However, Safari also lacks reach and uniqueness to make a dent in the browser market.</li></ul><div><br /></div><div>For now, even though entire communities long-ago left Internet Explorer for Firefox, IE is still king and queen of web browsing. However, as each generation becomes more engaged in tech, long-lived dynasties on browsers that innovate as an afterthought...won't be feasible. </div><div><br /></div><div>Business-wise, it makes sense to be IE compatible <span class="Apple-style-span" style="font-style: italic;">OR ELSE</span>;</div><div>Community-wise, we'd do well to encourage adoption of Firefox and maybe even Chrome. In the Web these days, usage (and even simply viewing) == voting.</div></div></div></div></div>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-29574902191821892242008-08-27T16:52:00.000-07:002009-04-01T09:27:13.255-07:00The Dao of Online SecurityAfter a recent series of meetings regarding security, I decided to create and regularly update this post about online security and how to stay safe online:<br /><br /><ul><li><span style="font-weight: bold;">Use an Encrypted Proxy when using unencrypted Wi-Fi</span>.<br />Each time you connect your PDA or laptop to a wireless network that doesn't support encryption (such as AES, WPA, or the obsolete WEP), you expose your passwords, logins, chats, and web browsing to any eavesdropper within radio range.</li><li><span style="font-weight: bold;">Use encryption when accessing e-mail</span>.<br />Some providers support encryption for SMTP, IMAP, and POP3 connections (sometimes and variously called SMTPS, IMAPS, POP3S, SIMAP, and more), which is mostly relevant when using an e-mail client such as Mozilla Thunderbird, Microsoft Outlook, Agendus, or Eudora. When accessing webmail, choose the SSL or TLS option (<span style="font-style: italic;">https://</span> rather than <span style="font-style: italic;">http://</span>). Taking these methods helps to avoid eavesdropping by others on your network, others using your ISP, others within Wi-Fi range, and even others on networks between your computer and your e-mail provider's systems.</li><li><span style="font-weight: bold;">Use encryption when logging into websites</span>.<br />Whenever the option is available, choose "secure login" or "SSL Login" to enter your username and password through an <span style="font-style: italic;">https://</span> web address rather than an <span style="font-style: italic;">http://</span> web address.</li><li><span style="font-weight: bold;">Turn off bluetooth when not in use</span>. Some systems can be compromised through Bluetooth, often through a buggy implementation.<span style="font-weight: bold;"></span><br /></li></ul>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-67999064361377491812008-08-20T17:10:00.000-07:002008-08-20T17:23:22.075-07:00RSS and Atom Syndication GaloreThis week we've developed standards for RSS and Atom Syndication across all internal sites and projects.<br /><br />It will take several weeks yet to implement the standards, and it was interesting learning along the way:<br /><br /><span style="font-weight: bold;">Regarding the choice and difference between Atom and RSS</span>:<br /><br />We opted to use Atom universally, since Atom is much more versatile, and both formats are widely supported. Some features we plan to use in the near future aren't supported by RSS, even though much of the web uses "RSS" non-technically to refer to both standards, effectively.<br /><br />For developers looking to implement an RSS or Atom feed, these resources were useful in our search:<br /><br /><ul><li>Feedcreator: ( <a href="http://feedcreator.org/">http://feedcreator.org/</a> ) - a no-nonsense PHP feed creator that supports several formats spanning RSS and Atom</li><li>Autodiscovery: (<a href="http://www.petefreitag.com/item/384.cfm">http://www.petefreitag.com/item/384.cfm</a>) - our man "Friday"! during a quick search, this blogger's entry made a quick distinction between rss autodiscovery (rss+xml) and atom autodiscovery (atom+xml)<br /></li></ul>Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com0tag:blogger.com,1999:blog-4387750011273646684.post-8734281994123128942008-07-26T15:00:00.000-07:002008-07-26T15:35:50.463-07:00Asterisk 1.6 and NVFaxDetectOne of the great things going for VOIP is the freely available Asterisk PBX. Using Asterisk, you can turn your Desktop, Laptop... or PDA... into a featured telephone system with support for voice menus, voicemail, faxing, and many more interesting things.<br /><br />Asterisk recently released an update to the 1.6 line, which already includes support for encrypted SIP and TCP connections. However, one third-party module that provides fax detection over SIP and IAX (basically, Voice Over IP/VOIP traffic), no longer works smoothly with the most recent versions.<br /><br /><span style="font-weight: bold;">At work</span>:<br /><br />At work we help our clients to do a lot of creative things using Asterisk and other systems we custom design. One slowdown to adopting the new versions of Asterisk, is that Newman Telecom's NVFaxDetect hasn't yet been ported for use with new versions of Asterisk. If a port has been created, it isn't easily found through public channels at present.<br /><br />We're now porting our own open-source faxing implementation based on the app_rxfax and app_txfax libraries with spandsp. Here's hoping this development will be preempted by a digium or other community release!Colorful Techhttp://www.blogger.com/profile/11759803792962009403noreply@blogger.com1