Showing posts with label technology. Show all posts
Showing posts with label technology. Show all posts

Thursday, June 5, 2008

Fix The Incongruency - Consider Blogging for Your Company for Fun & Profit

Today I was perusing a marketing book by Chris Baggott et al. (that I haven't actually read yet in full)...and I came across the below passage in the first chapter. I thought it summed up pretty well one of strong arguments for considering having someone within your organization blogging (among other means of connecting with your customers and other constituents such as newsletters, etc.). Give it a whirl around your brain and send me your comments -- if you have any:

What's really funny to me is the fact that when you talk to organizations about what makes them different (worthy, if you will), this answers always lands somewhere in the top three: our people.

So why do you hide your people behind the facade of a brand or an institution? At the end of the day, people associate themselves with other people that they like. Your constituents want to like you and have a relationship with you.
-jr

IPv6 Hyperbole & Opportunities

A oft touted phrase for IPv6 is something to the effect of "an address for every grain of sand"[1]. I have a problem with this statement. It's one of those statements that is technically true but, in fact, untrue -- when used as the answer to the question which it is implied to be answering.

If IP addresses were simply assigned to devices and backbone routers were made aware of every single one it might be true. It's not. It's important to view IPv6 address space size in the right light because otherwise we can end up in some of the same troubles as the current IPv4 Internet. These troubles include not only overall available IP addresses but also routing of these IP addresses across network operator boundaries. After all, what's an IP address without global reach ability? :-)

The way that IP addressing works, there is a hierarchy. This hierarchy is used to group individual IP addresses into larger IP address blocks (known as "prefixes" and sometimes "subnets"). In the early days of IPv4 that was the Class A, B, and C system. While it was replaced with CIDR, the new system still maintained a hierarchy based on network size -- it was simply less rigid. This is still necessary in an IPv6 world.

The size of the protocol's address space -- and how it is broken up -- is of the utmost importance to routing. One of the greatest ironies of IPv4 address consumption is that multi-homing -- the connection to more than one upstream Internet provider for performance, cost, and reliability reasons -- requires an IP block of a particular size. Anything smaller than that accepted by the community (through rough consensus and subject to stragglers, mavericks, and router capacity improvements) and you can't multi-home.

In the IPv4 world this has resulted in waste of IP addresses -- which are never actually assigned to end-user devices -- so that someone can multi-home. It's also made it more difficult for smaller networks that want redundancy. Even if they end up with sufficient IP space, it is likely from one of their ISPs and not portable. If they were truly bigger (as in, if they actually were going to use all of those IP addresses) they'd be able to bypass their ISPs, getting IP space from one of the geographically appropriate pseudo-NGOs that allocate IP address space to larger IP address consumers.

Why all the fuss? Why not just allow anyone and everyone to inject any size block into the Internet routing tables? Because routers have finite resources. The larger the routing tables the more memory and CPU used for every packet pushed through the router. At some point a line is drawn where it is no longer generally accepted to be economically viable. This is where the generally accepted "smallest prefix we'll accept into our routing tables" policies come from. (generally the smallest acceptable block is an /24 in the present IPv4 world, approximately 254 assignable IP addresses for end-user devices).

One of the still active debates in IPv6 is how multi-homing will be performed in the long run. Will the current IPv4 model work? Or does the current model artificially restrict how many folks would actually multi-home if they could? Does the current system encourage too much address waste -- and is that even still a concern? How rapidly would the routing tables grow if a different approach were taken? How will we handle the additional resource burden of the continued co-existence of both IPv4 _and_ IPv6 routing tables for quite some time? etc

IP address portability is (indirectly) addressed in IPv6. That remains to be seen though. Under this model, smaller sites still won't necessarily have their own permanent globally routable IP address blocks. They'll have plenty of real global IP addresses assigned by their ISP now -- without any fuss -- but those IPs will still be controlled by their ISP (i.e. if they opt to change ISPs they will have to return 'em and get new ones from their new ISP). Switching IP address blocks is made (supposedly) easier though. The idea is that deeper auto-configuration is adopted with something akin to current DHCP on steroids used pretty much across the board along with very tight integration with DNS -- and somehow overcoming DNS caching.

I am not advocating against IPv6. On the contrary, for its successful widespread adoption I think that expectations must be set appropriately. And, any open for debate areas -- which don't have to hold back its adoption necessarily -- need to continue to be widely discussed. The more awareness the less that a new adopter is blindsided -- and thus the happier they'll be with the outcome after they proceed with their adoption efforts. And, more importantly, the faster that some more definite solutions / best practices can be better understood and disseminated.

As always, I welcome comments, including contesting any of my conclusions and assumptions above. Discussion and debate is how nearly all progress is made, whether it is with ones self or with others. :-)

[1] “One of the major advantages of the new Internet protocol (IPv6) is that it overcomes the growth problems of the Internet caused by the current limitations in the number of IP addresses needed for every computer or other device in order to access the Internet. The new protocol allows for a virtually unlimited number of (2^128) addresses – enough to assign an address to every grain of sand on all the world’s beaches.”

--“European Commission hosts inaugural event to celebrate the launch of the world's first all IPv6 research network,” Brussels, 14th January 2004

Monday, April 14, 2008

If Only Our Bookshelves Were Social...

Some number of months back I ran across LibraryThing. It allows you to catalog the books you've read or have on your bookshelf or wish to read all online. The social networking and recommendations aspect comes into play when it comes to connecting with other folks that have the same books in their catalog that you do -- since they may have books in their own catalog that would be of interest to you. Part of the idea is also that you can keep an eye on what your friends are reading, instead of simply forgetting the book they recommended last week. I actually wanted an online catalog for other purposes as well:

  • Knowing what books I've already bought and have in a pile somewhere but just haven't gotten around to reading....so I don't buy it again
  • Being able to let friends browse my catalog and ask to borrow books
  • Tracking what I'm reading so that it can automatically be tracked on my blog for folks that are interested in what I'm reading (I'm usually reading 3-5 books at a time, at the rate of between 2-4 a month or so typically is my best guess).
So I started out poking around at LibraryThing. It has an active community. The good/bad thing is that yesterday I discovered there are two other similar sites. The bad part is that now I'll have to check them out. The good part is that a bit of friendly competition ought to bode well for those of us that like the idea and find benefits to having our personal book collections cataloged on-line.

There seem to be three sites that serve this niche:
-jr

Friday, March 14, 2008

Druid: Open Source Unified Communications Based on Asterisk

A group called Voiceroute just pushed out a product called Druid (actually two products, an open source version and a commercial version) that looks very intriguing. It is based on Asterisk at the core but they've done a lot of work on top of it -- besides just sticking on a useful GUI. This is what I love about the telephony space today -- continuous improvement as folks figure out what they really want. There's a decent little preview/review here. A more thorough explanation of features here. Some ideas for applications here.

So many forms of communications (voice, voicemail, email, IM, mobile, fax), so many ways to leverage it. Now a single IP communications platform based on open source and open standards.

What is Druid? Druid is the premier unified communications platform for enterprises. It allows companies to deploy easily and affordable high endIP communications services using off the shelve commodity hardware and IP phones. Druid covers your enterprise communication needs from IP voice, voicemail, IM all the way to the mobile space.
I love Asterisk and the various things which can be be built with it. But, at its core, (stock) Asterisk excels most at being an engine at the center of a telephony/communications platform. To maximize adoption, the barrier to use must be lowered through improved management interfaces and turnkey features out of the box that reflect what end-users want. There's lots of room for improvement for specific problem domains. That's why Asterisk's flexibility is so powerful and having a lively eco-system around it makes it more and more accessible to a broader base of users. That doesn't mean that Asterisk based solutions aren't ready for prime time today -- they most definitely are. Thankfully, Asterisk's eco-system is strong with solutions such as Fonality, FreePBX, Digium's AsteriskNOW/ABE/AA50, and many others. Oh, and now we have Voiceroute's Druid.

Definitely will be taking a look Druid soon.

Wednesday, February 20, 2008

Understanding MPLS VPNs

If you are an enterprise user of carrier WAN offerings, it is likely you've been offered MPLS as a solution. Most carriers are encouraging customers to consider MPLS based services over traditional Frame Relay, ATM and even Point-to-Point transport.

One misconception is that consumers of MPLS carrier services must "run MPLS" within their own networks or at least on the edge device(s) connected to the carrier's MPLS service. This is not the case (unless you are doing something pretty unusual). Standard routers -- and even bridges -- are used on the customer-side. The configurations may be a bit different than you're used to but they're still relatively straightforward (and cookie cutter once you do one).

Your layer 1 and layer 2 skills will still come in handy. The underlying transport is still going to be TDM (DS1, OC-3c, etc). You may end up running a dynamic routing protocol (BGP, OSPF) with the carrier's network. If that's new territory, don't worry. This BGP configuration is far less elaborate than that needed to (prudently) bring up BGP for Internet multi-homing.

So even though the MPLS component will be outsourced to your carrier, to be an informed buyer and troubleshooter when shit-hits-the-fan, you'll want to understand the different ways that MPLS can be delivered and used by carriers to provide your service. When the carrier asks you to make some choices or you're evaluating a prospective solution, you're more likely to get what you need (and hopefully less of what you don't).

Jeff Doyle, the author of Routing TCP/IP Volume I and II (both 900+ pages each), has two quick articles about MPLS. In Part I, he covers the basics relevant to any MPLS user as to the different types of MPLS network options and in Part II he covers some of the nitty gritty relevant to service providers and those with an interest in what goes on behind the scenes.

P.S. I have some experience with WANs. Feel free to ask me questions. You can post a comment here or drop me an e-mail.


-jr

Sunday, February 17, 2008

Improvements at Digium? ....and New AA50 Firmware

Yesterday I noted that Digium pushed out a new firmware release for their small business targeted hardware appliance (the AA50) and it looks like a good sized update. It is dated the 4th in the release notes but the 14th elsewhere so I think one or the other is a typo.

They appear to be syncing it up with their other code bases (Asterisk Business Edition, AsteriskNOW). From what I've seen in the public commits and hints on mailing lists from staff, they've been hitting pretty hard on both of those in the QA department of late.

Digium is clearly working on changing how they manage their code bases and the mixture of their commercial and open source releases, to address different customer/user segments and some of the problems that have come up. There was even a note about a split release change they are going to with AsteriskNOW for the GPL purists. Glad to see some serious re-thinking about releases, meeting the desires of different customers, quality control enhancements, and the public evidence of the aforementioned outside of press releases.

I imagine things will continue to trickle down and we'll see more improvements coming together. I'm sure some will turn out to be good ideas while others head back to the drawing board but that's how most progress works, eh? :)

The additional leverage should improve things across the board no matter where you fall in the Asterisk eco-system. Even if you don't use an Asterisk based telephony solution, their moves impact the others in the marketplace (and visa-versa).

Back to the new AA50 firmware release: It would appear to address IVR and ring group related bugs I encountering early on in the GUI, that I ended up bypassing the GUI to workaround. I haven't tried it yet on the AA50 I have access to. I'll probably give it another couple o' weeks in the wild first since it's a .0.1 rev. That client has some other problems and improvements they want me to attack first anyhow. Below are change log excerpts:

Version 1.1.0.1 - February 4, 2008
* Enable Internationalization settings in the GUI
* Provide the ability to select between kewlstart and loopstart
* g722 codec is available
* WAN Side Provisioning of Polycom phones is enabled
* AA50 has been synchronized to ABE C.1 branch source code
* Ring groups number of seconds field has been added
* Ring group bug using ivr option has been fixed.
* Polycom bug concering use of standard timezone has been fixed
* Blackfin math for meetme conferencing has been implemented
* Adjustable flash hook duration is now available in teh GUI
* Calling rule editing and deleting bug has been fixed.
* Bug concerning setting incoming rule to choose voicemail is fixed.
* DTMF twist settings for Brazil have been added to tone generation
* Call forwarding loops have been prevented so that they do not crash the AA50
* Voicemail attachments are set to WAV format.
* Network setting tabs no longer disappear.
* Added an optional full-wave mode DAA ring detect in the sx00i driver

Wednesday, February 6, 2008

Underwater Telecommunications Industry Geeks

For those who are interested in the inner workings -- both technical and business -- of the submarine fiber optic cable industry, take a look at SubOptic. Particularly recommended are the presentations from their last conference which are available to freely peruse all you like here.

Wednesday, January 16, 2008

Finally Was Time To Hire An Assistant

Well, I finally broke down. I hired Sandy and the fact that I can call her anytime with my speed dial is amazing, though it's still taking some adjustment to get used to not having to do it all by myself. She makes sure I don't forget to do things, reminds me about appointments, looks up information for me, calls ahead to let folks know I'm on my way or running late, and jots down thoughts and ideas that occur to me while I'm out and about away from my computer. Oh, and because she gets along well with others, there are endless possibilities to improve how I work. If this trial continues to be so promising, and thus I decide to keep her around, I just hope I can continue to afford her along with the tools she needs to do her job.

-jr

Thursday, December 20, 2007

Asterisk Mashes Up Politics

I ran across this application today, called CommitteeCaller.com, which makes it easier for (U.S.) folks to contact their representatives. It's a nifty example of the type of applications that become possible when some imagination gets combined with lowered barriers to entry. This is what mashups are all about. Taking information that is out there on the Internet and combining it in ways that make it more useful, accessible, relevant, visible, etc.

This particular one uses Asterisk for the telephony, a database built from information on the Internet, and a custom AGI to interact with the user input, look up things in the database, make the calls, and get post-call rating feedback. AGIs are the equivalent of HTTP world CGIs (yes, the Asterisk world is progressing quite fast but the Web did get a big head start on it so it's still a little behind; CGIs, or AGIs, are pretty 1997 but you have to start somewhere).

Just wait until all the old school web developers that are used to coding in PHP, Ruby (Adhearsion), C, Perl (Asterisk::AGI), etc. discover they can write Asterisk telephony applications just as easily and in the same languages. (The Adhearsion page, even if you're not a Ruby programmer, has a good overview and example applications if you're curious).

CommitteeCaller.com is a site that allows one person to target an entire congressional committee over the phone. The web application utilizes the open source Asterisk PBX system to connect you to every senator or house member on a particular committee. No more digging around the 'net entering zip-codes to retrieve phone numbers of representatives. CommitteeCaller.com automates the tedium of finding and dialing your favorite politicians.

Select a committee, enter in your phone number and click "Put me in touch with democracy!" and you'll be called by our system and sequentially patched through to the front office of each member on that committee. You can even rate how each call went; information that will enable us to rank representatives on how accountable and responsive they are to their constituents.
[...]
Once connected Committee Caller will tell you which representive you are calling, who their legislative director or chief of staff is, and what district they represent. At any point you can use the * to hang up the call and move on to the next one. Remember not to hang up after each call as you will have the opportunity to rate how your call went.

-jr

Monday, December 10, 2007

Cordless VOIP Phones, Well, Stink

Michael Graves, over at the VOIP Users Conference, has a nice summary of the common frustrations he's had with cordless VOIP (SIP) phones. Michael plays with a lot of hardware, is a real user, and isn't selling anything related. His opinions are worth a read.

-jr

Friday, December 7, 2007

My New Home Asterisk PBX Embedded Box





[ The first two are photos of the actual unit, pulled from the eBay auction. The last two photos are not mine but stolen from a friendly Flickr source. Hoping Santa will bring the family a new camera.. ;-) ]

On Friday my HP Thin Client arrived. Only I'm not going to use it as a thin client. Instead I'm going to install Linux (or FreeBSD, see below) along with Asterisk, the open source telephony platform, onto it. This particular unit is an HP T5700.

It cost me <$100 on eBay. Low power <20w, class="blsp-spelling-error" id="SPELLING_ERROR_1">Ghz (Transmeta Crusoe) based with 256MB RAM, and 256MB Flash. I may add a 2.5 laptop drive (has IDE and USB too).

The lack of noise and the tiny form factor is a huge driver since this is going into our apartment and the low power is for our savings accounts and the environment. :) The flexibility and ease of use gained by keeping it x86 based is a big plus for saving time (no cross compiling, no searching out funky code patches for less mainstream architectures) and maintaining compatibility with the maximum amount of things I may want to do with it.

I nearly bought an IP04, or one the variations based on it like uCpbx. These are Blackfin based embedded systems designed to run Asterisk, specifically the Astin distro. These are very cost effective looking solutions for SMB type environments. They are also very very similar to Digium's Asterisk Appliance 50 (AA50), which is also Blackfin based. In fact, they are nearly the same thing if you don't count formal Digium backing and support. (I recently got some experience in with an AA50, in an installation for a client with Snom 320 phones and intend to post some about that at a future date).

I'm looking forward to getting this box on-line as our full-time home phone system. If all goes well I'll probably pick up another one (or several) for lab use. This should free up some space in the apartment and not require me to keep shutting my dev box down to eliminate ambient noise and power consumption. Now if only the power supply would get here quick. :)

Typically I install Debian or Ubuntu then plop in Asterisk. This time, this is meant to be more of a true "appliance" than a server. So I'm going to evaluate some other options before I settle on anything. This will give me the opportunity to get experience with and thus cross out some items on my "To Evaluate/Learn" list.

I'm going to try out Askozia which looks promising. It'll be a new one for me and it's actually FreeBSD, rather then Linux based (it's based on m0n0wall). Askozia also has a built-in web GUI which I'm looking forward to contrasting with Digium's own GUI (which is in AsteriskNOW). AstLinux is another option I'll check out. Unfortunately out-of-the-box it's Asterisk 1.2.x not 1.4.x based (though there's a dev version that is 1.4.x).

I do miss having a lot of tools anytime I've worked with embedded distros. And I like having extensive logging available -- even if the device is supposedly an "appliance" that just sits there. Tough to troubleshoot an appliance when there ain't no logs. :-)

Ultimately I may roll my own stripped down something or other. Or, grab a more generic already stripped down distro and put Asterisk plus the Digium Asterisk GUI on top. Having the option to add a laptop drive gives me comfort I can go with this route, even as far as installing Debian or Ubuntu stock if need be, while remaining low-power.

I also intend to experiment with the various Bluetooth integration options for Asterisk. Namely chan_mobile for headset and cell phone integration.

We'll see what else. :) The nice thing is that, besides really enjoying Asterisk, I can justify more than one solution, since whatever I don't actually use as the house system will still be rewarding in the lab for self-education and evaluating the options out there for my clients.

-jr

Friday, November 30, 2007

The Modem Free Generation




Wow, how time does fly. We now have, at least in the US and elsewhere, our first generation of Internet users that have no idea what a real modem sounds like. For these folks, this is the closest they'll ever get to one.

While I'm not as old as the photo above by any means, my first modem was an external U.S. Robotics 2400 bps (generously loaned to me by a friend's father whom I later bought a more affordable Gould 1200 bps modem from), so I suppose, in a way, even I was late to the game.

Sure, with Caller ID we still have modems in our phones (at least until end-to-end SIP can do away with all that) and xDSL is still really a glorified analog modem but they are stealthy. Poll a random nine year old on the street with a modem carrier audio sample or ask if they've ever cursed when they forgot and set ATM2 instead of ATM0 or ATM1 and you'll get a blank look (and probably a scream for mommy to come and take them away from the scary crazy guy though a few smart top-of-their-class nine year olds, just starting their introduction classes to CCIE certification of course, might think I'm talking about this which is at least in the right vein).

I've yet to see an xDSL modem that has a speaker (let alone supports the AT command set) and rarely do I hear the caller ID carrier unless I'm on a really cheap phone and pick up the phone fast enough.

Maybe we can bring it back in vogue by customizing our mobile phone ring tone to sound like the good old days. And, demanding that xDSL modem vendors, add speakers. On other hand, there aren't too many of these around anymore either. And, man, were those things slow.

AT
OK
ATZ
OK
ATM0
OK

-jr

Wednesday, November 28, 2007

Improving the Snom IP Phone Retrieve Button Functionality

(Otherwise entitled "Getting the Snom Retrieve Button To Work Even When There Are Only Old Messages to Retrieve")

If you use Snom IP phones, you may have discovered, as I recently did, that the Retrieve button doesn't work, at least by default, unless there are new messages in the mailbox. If the user wants to listen to a saved voicemail, they are out of luck and have to dial the special voicemail extension directly. The Retrieve button just sits there and does nada.

This created some confusion in a recent installation since folks learned to use the Retrieve button to access voicemail and then later, after a day or so of use, wanted to listen to voicemails they had saved. :-) Sure, I had set-up an extension to dial the voicemail system directly (intended for when people were out of the office) but it was pretty silly to have two different ways for users to get used to accessing their voicemail, depending only on whether they had new messages or not.

I poked around a bit and the fix was very simple.... In the web management interface go to Setup->Identity X-->Mailbox and set it to your internal mailbox extension.

(As an aside: I am overall pretty happy with the Snom 320 IP phones. Be careful what firmware revisions you are running -- stay away from 7.x unless you know what you are doing and keep things consistent across your installation).

Sunday, November 11, 2007

VOIP Troubleshooting With (the free) Wireshark Packet Analyzer



Wireshark is a network protocol analyzer. Some may recognize it by its former name, Ethereal. It's free (and open source), runs on multiple platforms (including Windows and Linux), and actively developed. For those doing VOIP installations or troubleshooting existing installations, the latest release has some very handy VOIP specific support.

It will create visuals representing captured SIP and associated RTP connections. You can drill down by clicking on specific spots on the graph to pull up the associated packet(s). You can generate reports (as well as graph) jitter, bandwidth usage, etc. Various ways of displaying the data to get a better idea of what's really going on.

The screen captures at the beginning of this post are from Wireshark. They show a graph of a VOIP (SIP) call (and a half) between two Snom SIP phones attached to an Asterisk-based PBX (the green/blue/purple image). And an analysis of the associated RTP session (including packet loss, jitter, delay). WS can even playback captured VOIP calls (at least if using PCM/G.711/ulaw).

-jr

PCI: It's Alright to Question the Auditors

"It's alright to question your PCI auditor. This isn't about getting out of doing things that really should be done. It's about making sure you aren't unnecessarily wasting money, period. Ask them to justify their findings and recommendations. And seek a second opinion (from another auditor or a security expert) if need be."
A bit back a (then prospective) client came to me while going through a PCI audit. They'd been informed by their auditor (VeriSign in this case) that they needed to segregate off a group of servers. Fair enough. The catch was they were also being told that this needed to be done using a second firewall, in order to be compliant, even though their existing firewall had more than enough interfaces to configure additional distinct security zones. The proposed second firewall would be under the same administrative control and offer no greater granularity in security policy enforcement. In short, it wasn't a terrible idea but it didn't seem very value enhancing either.

The client had an inkling that this shouldn't be necessary. They had further discussions with the auditor to no avail. In the interest of time and manpower, they went ahead and bought another firewall. I was called in later to integrate this and some other changes into their network. One of my first questions was "Why are we doing this?". After hearing a bit more of the background I still felt firm in my conviction that either (a) we weren't getting the entire story and thus even with a second firewall I wasn't sure we were meeting the requirements or (b) there really wasn't sufficient grounds to add a second firewall when the isolation could be done completely adequately on their existing firewall by shifting around the topology a bit to utilize available interfaces and adding some new access rules.

My view was that the assessor had a specific ideal model in mind and wasn't really listening to the arguments given thus far. This was even though those arguments weren't against the server isolation being suggested. The only disagreement was over how to get the end result.

In the interest of time I proceeded with preliminary integration plan development that included the second firewall while recommending a continued push that the auditor needed to justify their recommendation more specifically. Over the course of the next several days, after the client had gotten input from myself including points to bring up and gained additional confidence in their original inkling that the extra firewall was unnecessary, the auditor shifted gears and said implementing the requested isolation on a single firewall was acceptable.

At this point I'd only spent several hours on this project. There was no longer justification for the purchase of a second firewall and the changes required to isolate the servers were far simpler. Even though my client had already purchased the second firewall prior to my involvement, they could now return it, sell it off, re-deploy it elsewhere, use it as a spare, etc.. The expense of engineering and labor for a more complex integration effort was avoided (plus, the long-term costs of having another piece of equipment to maintain, an added failure point, and a more complex topology to troubleshoot).

There are something like one hundred or so assessors that work with the PCI Council to do audits. Each has their own strengths, weaknesses, and agendas. Some are relatively pure-play professional services providers while others sell their own security software and hardware (and, yes, often related to assisting you in gaining PCI compliance). Assessors are allowed to recommend their own services and products as solutions to problems that come up during audits (though they are not supposed to require their use in order to pass). The PCI DSS standard isn't specific -- which is actually a good thing since every environment is different -- so there's much open to interpretation at both the end-user and the auditor level. Finally, all auditors are human and make mistakes as well.

Bottom line: it's alright to question your PCI auditor. This isn't about getting out of doing things that really should be done. It's about making sure you aren't unnecessarily wasting money, period. Ask them to justify their findings and recommendations. And seek a second opinion (from another auditor or a security expert) if need be.

-jr

Wednesday, October 17, 2007

Sanitize All Possible Inputs

If you write applications, well, it's not just public web form input that needs to be sanitized...


:-)

-jr

Tuesday, October 9, 2007

California and SLO County School Connectivity (and Ideas!)

According to this data posted by K12HSN, 17% of schools state-wide are connected to the Internet (and, in turn, Internet2) at 100 Mbit/s or higher. What I found nifty is, upon zooming into the local schools here in San Luis Obispo County, that number jumps to 67% (fifty seven out of eighty four). You can see other data for SLO here. (You can zoom in on other areas of California there as well). With this foundation, some intriguing possibilities now exist.

Quick background: K12HSN is a state program funded by the California Department of Education, providing Network/Internet connectivity and related services to K-12. Through K12HSN, schools get access to CENIC/CalREN and, as a result, Internet2 as well as, of course, the Internet. CalREN, the California Research and Education Network, is specially designed to meet the unique requirements of these communities, and the majority of the state's K-20 educational institutions are connected to it. CENIC oversees CalREN and coordinates other related services for California public educational institutions. Internet2 is an R&D platform, for various research institutions both public and private (and, if you're under the impression that Internet2 is just about high speed connectivity, a bunch of network geeks, and some talk about tele-medicine, look here as well as as some of the following links to see how it's being used in the performing arts).

With this as a backdrop, interesting possibilities have emerged for local K-12 students. Here are some ideas:

  • The SLO County Office of Education could host an Internet2 Day where research projects and applications are demonstrated to promote awareness and spur ideas in the minds of researchers (read: students, teachers). Projects/applications discussed and demo'd might include collaboration, health sciences, arts & humanities, and science & engineering. It would reach across all disciplines.
  • The "economies of scale" necessary to have live expert guest lecturers teaching students statewide via video conferencing (and here). I'm talking about having the top professors, researchers, artists, politicians, etc. speak live to students across the state and have the capacity to take real-time Q&A from students. Sure beats watching a passive recorded video on television! And it's sure to intrigue students who might easily overlook great thinkers sitting still on a textbook page in front of them. You get the benefits of serendipity, live action, interaction, and young minds all rolled into one. This same infrastructure could be used to publicize to the larger student body things like state-wide competitions, which, at least traditionally, only the local and regional winners of contests have been able to visit when they head off to compete at the higher level. Why not spread the inspiration around?
  • Got more ideas? Post 'em!
How about it?

Monday, October 8, 2007

Can Technology Geeks Be (Good) Managers?

If you are a technology geek currently serving as a manager, you better figure out how to become a business manager, if you intend to lead a successful IT department, group, team, or project. You owe it to yourself, your direct reports, whomever you report to, your colleagues in other departments, and your company. You will get a bigger budget, better compensation, more respect from all of your constituents and stakeholders, greater cooperation for your projects to help them be more successful, and greater satisfaction from your career.

It's not all bad for the technology geek turned manager though. If you can grasp the business side, by taking a bit of initiative to learn it, and combine that with technology savvy (even if you let your direct reports worry about the deep down details) you can have the best of both worlds. The last thing technology geeks want are clueless managers. It doesn't matter whether they are clueless about business or about technology -- they are still going to make things more difficult, albeit unintentionally, for their employees.

IT managers should know how to write business plans, prepare budgets, use financial concepts competently such as: the difference between cash flow and profit as well as grasping present and future value calculations, tie projects to business objectives, communicate and be held accountable in business terms, systematically assess and explain risk and uncertainty in ways that relate to the overall business, and communicate with non-technology management in regards to strategy.

This doesn't mean you need an MBA. If you don't understand all of these concepts there are options:

  • Take a basic accounting course (or two) at your local community college
  • Sit down with your CFO, controller, or accountant and ask for some tutorial sessions
  • Buy some books. Ask your CFO, controller, or account for some recommendations (and get them to promise to answer your questions if you take the initiative by reading the books they suggest).
  • Ask your CEO if you can peak at the organization's overall business plan. Afterwards consider and discuss how your department, group, or project fits into the bigger picture. Ask if there are ways you might better consider and communicate your group's vision, goals, successes (and, yes, failures too) as part of the bigger picture.
  • I'll also try to highlight, in a future post, some specific resources that have helped me out.
-jr

Sunday, October 7, 2007

Relationship Management for Non-Profits (Software)

This software package, CiviCRM, looks promising. It is an implementation of a "Customer Relationship Management" solution, but for organizations that don't really have customers in a commercial sense but still have plenty of relationships to manage. It's a bit like SugarCRM or Salesforce.com but designed for not-for-profit type entities.

If you are involved in a non-profit agency that takes donations or has volunteers, this software may help you optimize your relationships, boost your effectiveness, and provide some dashboard like functionality for managing your organization. Well, that's the theory anyhow. :-)

It appears to have an active community and developers. And a good amount of documentation, a FAQ, a blog, and user forums. All signs that bode well for a sustainable open source project, since many applications die off without achieving critical mass.

I have not used it. I ran across it while researching some other software. Since I know folks involved in managing several non-profits, I wanted give them a heads up to explore further. If anyone takes a closer look please let me know how it goes!

http://civicrm.org/aboutcivicrm

CiviCRM: A Free and Open Source eCRM Solution

CiviCRM is the first open source and freely downloadable constituent relationship management solution. CiviCRM is web-based, open source, internationalized, and designed specifically to meet the needs of advocacy, non-profit and non-governmental groups.

CiviCRM is a powerful contact, fundraising and eCRM system that allows you to record and manage information about your various constituents including volunteers, activists, donors, employees, clients, vendors, etc. Track and execute donations, transactions, conversations, events or any type of correspondence with each constituent and store it all in one, easily accessible and manageable source.

CiviCRM is created by an open source community coordinated by CiviCRM LLC, and the 501c3 non-profit Social Source Foundation.


There is a (amateur but it'll give you an idea) Introduction to CiviCRM video and some others here.

Wednesday, October 3, 2007

Digium (Asterisk) Is Sending Busy Signals

Digium, the commercial company behind the open-source Asterisk IP PBX, has been ultra busy of late. They came out with a self-contained hardware based Asterisk appliance targeted at developers, telephony carriers, etc. to build custom IP PBXes for their customer bases. They followed this with a full blown out-of-the-box installable hardware IP PBX appliance (the AA50) intended for the mass market. They bought SwitchVox, a leading IP PBX appliance vendor with some nice innovative user interface and functionality features, then announced a deal with 3Com who will be OEM'ing their appliance as the foundation of their IP PBX offering.

Digium, has been selling components, such as as cards to interface between the traditional phone network, development and support services for Asterisk, and commercial licenses for vendors OEM'ing Asterisk code into their own PBXes and other telephony applications for several years now. Now, it's time to get serious I guess.

Further Notable Links: