Posted by Michael Alfaro on May 11, 2012
Needed this for a client project when the regular way wasn’t working. Source here: http://httpd.apache.org/docs/2.0/howto/auth.html
“Here’s the basics of password protecting a directory on your server.
You’ll need to create a password file. This file should be placed somewhere not accessible from the web. This is so that folks cannot download the password file. For example, if your documents are served out of /usr/local/apache/htdocs you might want to put the password file(s) in /usr/local/apache/passwd.
To create the file, use the htpasswd utility that came with Apache. This will be located in the bin directory of wherever you installed Apache. To create the file, type:
htpasswd -c /usr/local/apache/passwd/passwords rbowen
htpasswd will ask you for the password, and then ask you to type it again to confirm it:
# htpasswd -c /usr/local/apache/passwd/passwords rbowen
New password: mypassword
Re-type new password: mypassword
Adding password for user rbowen
If htpasswd is not in your path, of course you’ll have to type the full path to the file to get it to run. On my server, it’s located at /usr/local/apache/bin/htpasswd
Next, you’ll need to configure the server to request a password and tell the server which users are allowed access. You can do this either by editing the httpd.conf file or using an .htaccess file. For example, if you wish to protect the directory /usr/local/apache/htdocs/secret, you can use the following directives, either placed in the file /usr/local/apache/htdocs/secret/.htaccess, or placed in httpd.conf inside a <Directory /usr/local/apache/apache/htdocs/secret> section.
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
Let’s examine each of those directives individually. The AuthType directive selects that method that is used to authenticate the user. The most common method is Basic, and this is the method implemented by mod_auth. It is important to be aware, however, that Basic authentication sends the password from the client to the server unencrypted. This method should therefore not be used for highly sensitive data. Apache supports one other authentication method: AuthType Digest. This method is implemented by mod_auth_digest and is much more secure. Only the most recent versions of clients are known to support Digest authentication.
The AuthName directive sets the Realm to be used in the authentication. The realm serves two major functions. First, the client often presents this information to the user as part of the password dialog box. Second, it is used by the client to determine what password to send for a given authenticated area.
So, for example, once a client has authenticated in the "Restricted Files" area, it will automatically retry the same password for any area on the same server that is marked with the "Restricted Files" Realm. Therefore, you can prevent a user from being prompted more than once for a password by letting multiple restricted areas share the same realm. Of course, for security reasons, the client will always need to ask again for the password whenever the hostname of the server changes.
The AuthUserFile directive sets the path to the password file that we just created with htpasswd. If you have a large number of users, it can be quite slow to search through a plain text file to authenticate the user on each request. Apache also has the ability to store user information in fast database files. The mod_auth_dbm module provides the AuthDBMUserFile directive. These files can be created and manipulated with the dbmmanage program. Many other types of authentication options are available from third party modules in the Apache Modules Database.
Finally, the Require directive provides the authorization part of the process by setting the user that is allowed to access this region of the server. In the next section, we discuss various ways to use the Require directive.”
Topics: development, technology, website curation
Posted by Michael Alfaro on May 11, 2012
Thanks to Tim Carter from Pedrera on getting me this info: http://www.pedrera.com/blog/expressionengine-on-rackspace-cloud/
Other links that helped me: https://help.ubuntu.com/11.10/serverguide/ftp-server.html
http://www.howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server/
5. Install FTP Server
I used vsftpd (https://help.ubuntu.com/10.10/serverguide/C/ftp-server.html), but you can use whatever you prefer. Be sure to follow FTP software documentation to ensure proper security!
sudo apt-get install vsftpd
6. Set the permissions on the web directory
The user created in step 1 (Rackspace Server Setup) should have their home directory set to /var/www. Use this command:
sudo usermod -d /var/www yourusername
Now set this user as the owner:
sudo chown yourusername /var/www sudo chgrp yourusername /var/www -Rv
Topics: development, internet, technology, website curation
Posted by Michael Alfaro on May 8, 2012
Got this forwarded to me by Riti, thought it deserved some shine on our blog, thank you Jessica Hagy, for writing this: http://www.forbes.com/sites/jessicahagy/2011/11/30/how-to-be-interesting/
How to be interesting (in 10 stupid-simple steps):

1.Go exploring.
Explore ideas, places, and opinions. The inside of the echo chamber is where all the boring people hang out.

2. Share what you discover.
And be generous when you do. Not everybody went exploring with you. Let them live vicariously through your adventures.

3. Do something. Anything.
Dance. Talk. Build. Network. Play. Help. Create. It doesn’t matter what you do, as long as you’re doing it. Sitting around and complaining is not an acceptable form of ‘something,’ in case you were wondering.

4. Embrace your innate weirdness.
No one is normal. Everyone has quirks and insights unique to themselves. Don’t hide these things—they are what make you interesting.

5. Have a cause.
If you don’t give a damn about anything, no one will give a damn about you.
Page 2 of 2

6. Minimize the swagger.
Egos get in the way of ideas. If your arrogance is more obvious than your expertise, you are someone other people avoid.

7. Give it a shot.
Try it out. Play around with a new idea. Do something strange. If you never leave your comfort zone, you won’t grow.

8. Hop off the bandwagon.
If everyone else is doing it, you’re already late to the party. Do your own thing, and others will hop onto the spiffy wagon you built yourself. Besides, it’s more fun to drive than it is to get pulled around.

9. Grow a pair.
Bravery is needed to have contrary opinions and to take unexpected paths. If you’re not courageous, you’re going to be hanging around the water cooler, talking about the guy who actually is.

10. Ignore the scolds.
Boring is safe, and you will be told to behave yourself. The scolds could have, would have, should have. But they didn’t. And they resent you for your adventures.
Topics: fun, humor, inspiration, life, technology
Posted by Michael Alfaro on May 7, 2012
Found the need for this on our Weatherwiseapp.com site, and wanted to share. Original source here: http://joezack.com/index.php/2008/10/20/mysql-capitalize-function/
CREATE FUNCTION CAP_FIRST (input VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(input);
SET input = LOWER(input);
SET i = 0;
WHILE (i < len) DO
IF (MID(input,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET input = CONCAT(
LEFT(input,i),
UPPER(MID(input,i + 1,1)),
RIGHT(input,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN input;
END;
So running the following code…
SELECT CAP_FIRST(
'this is totally like @ TEST 1 right!'
)
Returns the string “This Is Totally Like @ Test 1 Right!”
Topics: development, technology, website curation
Posted by Pinaki Kathiari on May 4, 2012

Weatherwise Featured on Gizmodo.com
Last week after we were interviewed with the Google development team, Weatherwise was featured on Gizmodo.com as the app of the week.
It’s hard to make weather interesting. But this app puts the usual data into a pretty package, with handsome skins and animation.
Thank you Gizmodo, we just marked “Get mentioned on Gizmodo.com” off our life to-do list!
Topics: Android, iPhone, weatherwise
Posted by Nicole DiMeglio on April 24, 2012
It’s not uncommon for people working in the IT industry, or any area for that matter, to want to hold onto something that sets them apart from their colleagues. There will always be Information Technology professionals who prefer to keep their knowledge to themselves. With the job market what it is today, it’s likely that those who are intentionally hoarding information do so because they believe it keeps them from becoming expendable and secures their position within the company. Although there are pros and cons to hoarding information, most would agree that sharing information with colleagues is beneficial to the growth and value of both a company and an individual.
Why People Might Hoard Information
There are a couple of reasons why a person would feel like they need to hold onto information that only they know. One of the main reasons is because they feel insecure. The employee might feel uncertain about the quality of their work or their job security so they feel it is important to hold onto a personal skill that they possess in order to remain competitive in the company. Others may just feel the need to hide information from their peers in order to feed their own egos. On one extreme side of hoarding you make yourself important because you are the bottleneck. People always have to go through you as a gateway because you are the gatekeeper. Everything is very tightly controlled by that person.
Detriments to Refusing Knowledge
While there are few cases where hoarding information helps the individual, most of the time this type of behavior actually lessens their value. When encountering a situation where a colleague is unwilling to share, co-workers often find ways around them because it is apparent that they are not really a team player. Also, by sharing your knowledge you put people in the position to support you as you move up in the company. Without learning from or sharing with your peers there is little room for growth and improvement. As a result, a hoarder might become stuck in the same position for a long time.
Advantages of Sharing

Michael, Sergio & Riti Collaborating at the Development Scrum
Now that the disadvantages have been discussed it is important to know the some of the reasons why a collaborative work environment is beneficial to a company and an individual.
- Having everyone contribute to the team creates an overall more productive work place and increases morale.
- When employees learn efficient ways of completing tasks it allows more time to discuss work with clients and make sure all of their needs are being met.
- Teaching others new skills ensures that everyone is on the same page and everything runs smoothly.
- By sharing everything you’re enabling your group to help the company grow.
- You make yourself important in that aspect by being the subject matter expert.
- People will always come to you when they get stuck with tasks that are related to what you do.
- Those who share information are usually open to new technologies and are willing to change quickly and try new ideas. This creates a productive working environment and facilitates a positive learning experience for those working in a group setting.
From Hoarder to Team-Player
Let’s say the person didn’t show tell-tale signs they’re a hoarder. There are a couple of ways to approach this situation if hoarding becomes a problem within a company.
- Offer an incentive for those who can bring new documented information to the table.
- Promote team collaboration or rotation of work when being grouped with a hoarder
- Expose hoarders to things that could make their jobs easier
- Encourage employees to think about approaching their tasks differently if they are stuck in an archaic way of doing things.
- Send colleagues links and information to simplify their process so that it saves time. Now they will have extra time to work on other important tasks.
- If you see that someone is unintentionally hoarding information because they are just too busy with work, bring in support, and get things documented
- Communicate that it is beneficial to one’s career to share knowledge
So, what are your thoughts?
Local Wisdom incorporates the sharing of knowledge among the team into our corporate structure. We emphasize the importance, advantages, and benefits of sharing on both the company and each person’s career. So, if everyone seems to benefit from working in a collaborative environment, why does hoarding information remain a problem in some companies? Have you experienced working with a person who is reluctant or refuses to share information? How was your situation handled? We’d love to hear from you. Please leave a comment below.
Special thanks to Michael Alfaro and Sergio Sain for their insight and anecdotes.
Topics: business, development, internal communication, life, process, project management
Posted by Michael Alfaro on April 17, 2012
Had to figure out which Application pool was linked to which w3wp.exe in Task Manager. Here’s the details to get the Process ID you need:
“If you need to identify which application pool is associated with a particular w3wp.exe process, open an Administrative Command Prompt, switch into the %windir%\System32\inetsrv folder (cd %windir%\System32\inetsrv) and run appcmd list wp. This will show the process identifier (PID) of the w3wp.exe process in quotes. You can match that PID with the PID available in Task Manager.”
That will give you the PID which you can reference in the Task Manager:

Original source: http://learn.iis.net/page.aspx/1211/troubleshooting-high-cpu-in-an-iis-7x-application-pool/
Topics: development, internet, technology, website curation
Posted by Shawn Venkat on April 11, 2012

Two weekends ago Mike and I had the awesome job of judging the local Hack Princeton competition. For those of you who aren’t familiar with this type of event, also known as a Hack-a-thon or HackFest, these competitions bring together some of the brightest minds in the development arena. The typical hackathon is an event where programmers, designers, and software developers come together to collaborate on software or hardware-related projects to create new products or improve existing programs. Though the Hack Princeton event spanned over three days, some hackathons can last up to one week. Most hackathons have a common thread like a specific programming language or an API. However, for this recent Hack Princeton, there were two tracks offered: one for software,and the other for hardware.
If you know how we operate at Local Wisdom, being a part of this event was right up our alley. Not only did we get to judge the competition but we were able to work with the teams to help them develop and improve upon their ideas. Events like this are especially important in our industry because they bring innovation to the table and allow us to look at and solve problems in ways that we might not have initially considered. Additionally, these events give participants the opportunity to explore what’s cool to them. Most of the products have a fun factor associated with them and some were problem solvers. Regardless, this type of prototyping is impressive and will help drive entrepreneurial opportunities in the US.

The event started on Friday where the teams met to talk about their project and their goals. Projects included ideas like Fridge Cop, a device that measures the amount of CO2 in a refrigerator and alerts the user when food in the fridge has expired, and Now Tutor Me that uses websites like Yelp to link students with tutors. On Saturday everyone regrouped to work on the prototypes of the ideas we talked about earlier. The teams worked throughout the day, furiously coding and engineering their projects to work out any kinks or bugs. Mid-day the teams consulted with mentors who arrived to provide expert advice and direction.
The awesome part about Saturday was not only working with these teams, but seeing their sketched designs and concepts come to life. One of the best projects we saw this weekend was Phonar, an augmented reality app to help the user find people in a crowded area. Another great project that really stood out was Join Me, a hardware creation that places an iPhone on a robotic vehicle to simulate your presence at a meeting or function. Essentially, it’s Facetime on wheels.s to look at and solve problems in ways that we might not have initially considered. Additionally, these events give participants the opportunity to explore what’s cool to them. Most of the products have a fun factor associated with them and some were problem solvers. Regardless, this type of prototyping is impressive and will help drive entrepreneurial opportunities in the US.
With little sleep to go on, the teams finalized their projects before the final demos started at 3:00 PM. Judging for this competition was extremely hard because the teams had such unique and innovative projects. Overall, Phonar took home the grand prize because besides being useful and unique, we could see that the app had true potential in the real world. On top of that, the demo worked in an auditorium that had no cell service!
One thing that stayed with us throughout the hackathon was meeting with the students on Saturday. This gave us a brief insight into what they’re working on and the technologies they’re using. We introduced ourselves and Local Wisdom and were able to share tools used on their side and ours. We noticed that there were some underlying trends that came out during the competition such as using free web technologies to build and create apps that are unique. We also noticed that the hardware competition was huge! A lot of teams had hardware projects and we think the robotic teams at the high school level are having an effect in getting kids to continue that in college.
This wasn’t our first hackathon and will definitely not be our last. If you’re interested in learning more about these events or participating in one, come check out the Rutgers Hackfest that we’re judging the weekend of April 21st. Hope to see you there!
Posted by John Ridgeway on April 3, 2012
I am pleased to announce that Local Wisdom is a proud sponsor of the April 10 BMA-NJ (Business Marketing Association) event, B2B Social Media Symposium. With the rapid developments in the digital industry come the different ways in which businesses can market and reach out to current and prospective customers and audiences. Most of us have personal Facebook pages, LinkedIn pages, and Twitter handles, some have even ventured into the area of Google+, but how do we leverage these resources to aid our business objectives, especially when it comes to B2B marketing?
The BMA-NJ Social Media Symposium presents real-life case studies that highlight how companies have enhanced their marketing programs by successfully integrating a social media component. The event also provides top-notch information from representatives at Google, LinkedIn and Twitter that can help businesses get a leg up on their competition through the use of social media tools.
Here at Local Wisdom we understand the necessity of social media, especially with regard to B2B marketing. In fact, MarketingSherpa (2010) found that approximately 69% of B2B marketers are shifting their budgets to include social media in their marketing strategies. We also curate several internal and external social platforms for our clients: The JNJBTW Blog, the Kilmer House Blog, and the Johnson & Johnson YouTube Channel are a few. The BMA is always a good place to learn best practices and integrate our leanings into our clients’ objectives. Staying valuable is how we sustain our long-term relationships and the BMA helps us to achieve that.
We are excited to be a part of this fantastic event and encourage others to join us and take away actionable ideas that will help to solve multiple marketing problems.
We look forward to seeing you there!
Posted by Melissa Penta on April 2, 2012
Our team ran across some odd issues with custom CSS fonts in the safari browser on the iPad and iPhone. Some of the curvy letters (such as G, C and S) would show up as a thinner font weight then the rest of the letters. We tried various CSS fixes only to come up empty handed. We were using the standard font-face CSS:
@font-face { font-family:FontName; src:url('Font.otf'); }
After much frustration, we finally found a solution that turned this:

Into this:

What did we do? Simple! Convert the .OTF font to a .TTF font. There are various free converters online that will do this for you, just look up font converter.
One thing I did notice is that TTF may not look as nice on the desktop browser so, like we did, you may want to target based on desktop or mobile CSS.
Topics: development, iPad, iPhone, mobile