Thursday, December 27, 2012

Hear hear: On the us' unregulated Internet telecom monopoly

Captive Audience: Power of telecom, cable industry is growing

BroadbandOpinion: In the first of three excerpts from "Captive Audience: The Telecom Industry and Monopoly Power in the New Gilded Age," author Susan Crawford examines the growing power of the telecom industry.

Tuesday, December 25, 2012

Find: Sending this holiday e-card will teach you how to write a little HTML

Sending this holiday e-card will teach you how to write a little HTML

codecademy holiday card screenshot

Codecademy is the most well known and well funded of the startups which sprouted over the last year and half offering innovative ways for normal folks to learn how to program. It attracted investors like Kleiner Perkins and Union Square Ventures, as well as high profile users like New York Mayor Michael Bloomberg. It was this writer's New Year's resolution last year, though sadly I stopped my coding practice after just a few weeks. Today the company is offering a new product themed for the holidays. Pick one of six holiday e-cards and the service will teach you how to create it yourself with a tutorial in HTML and CSS. You can tweak the existing "code cards" or create one from scratch with the help of a few prepared ingredients....

Find: Web Served, part 5: A blog of your own

On using wordpress. 

Web Served, part 5: A blog of your own

We've got a Web server. We've got SSL/TLS. We've got PHP. We've got a database. Now, finally, it's time to do something with them: we're going to set up self-hosted WordPress, one of the Internet's most popular blogging platforms.

Certainly, WordPress isn't the only choice. There are many blogging platforms out there, ranging from big and full-featured content management systems (like WordPress, Drupal, or Joomla) to static site generators like Jekyll (and its customized variant Octopress, which I use on my own blog). However, WordPress is extremely popular, and it also has a wealth of themes and plugins available with which you can customize its behavior. So, because it's the platform that first comes to mind when people think of "blogging," we're going for it.

Disclosure, and a word on security

This isn't the first time I've talked about setting up WordPress. Some parts of this article will be taken from my previous blog post on the subject, though the instructions here will contain a number of improvements.

Sunday, December 16, 2012

Find: Web Served, part 4: Get your database on

Web Served, part 4: Get your database on

For new readers just joining us, this is the fourth in a series of articles on getting your hands dirty by setting up a personal Web server and some popular Web applications. We've chosen a Linux server and Nginx as our operating system and Web server, respectively; we've given it the capability to serve encrypted pages; and we've added the capability to serve PHP content via PHP-FPM. Most popular Web apps, though, require a database to store some or all of their content, and so the next step is to get one spun up.

But which database? There are many, and every single one of them has its advantages and disadvantages. Ultimately we're going to go with the MySQL-compatible replacement MariaDB, but understanding why we're selecting this is important.

To SQL or NoSQL, that is the question

In most cases these days, when someone says "database" they're talking about a relational database, which is a collection of different sets of data, organized into tables. An individual record in a database is stored as a row in a table of similar records—for example, a table in a business's database might contain all of that business's customers, with each record consisting of the customer's first name, last name, and a customer identification number. Another table in this database might contain the states where the customers live, with each row consisting of a customer's ID number and the state associated with it. A third table might contain all the items every customer has ordered in the past, with each record consisting of a unique order number, the ID of the customer who ordered it, and the date of the order. In each example, the rows of the table are the records, and the columns of the table are the fields each record is made of.

Saturday, December 15, 2012

Spotted: Node Summit - The Evolution of Javascript

Node Summit: The Evolution of Javascript

Hear about the evolution of Javascript from a panel of experts who have taken it from an idea to where it stands today, and learn what is on the horizon for the little scripting language that became one of the most popular programming languages in the world.

Thursday, December 13, 2012

Project: Library Visualization

Group: Tanya Reeve, Elisha Owen, Allison Hamann, Khalia Braswell, Haleigh Andrew

The Skimmer project, or “All Things N.C. State,” included adding and rewriting code in order to add features as well as optimize existing code.


The main features that we added are:

An additional color scheme 
The new color scheme consists of red and white bubbles.

Sound effects
An additional option was added to the sidebar for sound effects. These sound effects are heard when bubbles two or more bubbles collide.

A “Pointer Bubble”
This bubble is an additional bubble that follows the user’s mouse, allowing for a more interactive environment. Users can user the pointer bubble to repel other bubbles, or on the tablet version, repel bubbles with one finger while attracting them with another.

“Drag and Drop” Bubbles 
A drag and drop feature was also added. This allows viewers to move bubbles around the screen, adding to the overall interactive nature of the bubbles.

We not only added new features, but also improved existing features. Changes were also made to:
Sidebar reorganization
The sidebar was reorganized to reflect the new features that were added as well as some features that our clients did not want, such as the keyword search and toggle between vibrant colors and vibrant images. We also added the option for turning the pointer bubble and sound effects on and off.

Prevent duplicate images
In the original version, bubbles with different keywords would be linked to the same article and therefore producing bubbles with duplicate images. Having these duplicate images reduced the visual appeal of the bubbles, so we created a check that only allows one image with a particular URL. Also, image bubbles are now separate from their corresponding keyword bubble, allowing the viewer to see more relative keywords.

Improve Runnability
We also improved the overall runtime of the project. This was done by attempting to optimize the code as well as fixing some errors involving how the code requests images. Additionally, the code was optimized for tablets to allow users to interact with bubbles using multitouch.

Increased interactivity within tablets
Not only was the code optimized for tablets, but the project running on a tablet provides an additional feature. The multitouch input of a tablet allowed us to create different bubble reactions depending on whether the touch was the first or second touch. On the first touch, bubbles are repelled while with the second touch, bubbles are attracted. Even though there is no specific “purpose” for this feature, it greatly increases viewer interactivity with the bubbles.

Future suggestions
While our project may look nice on the front end, the code on the backend is extremely unorganized due to the previous developers and designers. As a result of this chaos, the web application uses an extreme amount of memory and processing power while running. Although this may be acceptable for now, a useful project in the future would be to refactor the code completely, allowing it to conform to Javascript coding standards.

Project: NC 10 Percent

Group memebers: Francis Dominno, Joshua Nichols, John Poe, Joseph Costin, Alan Master
NC 10 Percent looks to connect people with locally grown food vendors in North Carolina.
this website collects locations and contact information for each vendor.  visitors to the site can search by distance or by county.  the search results are then broken down into category by eating out farmers and other such types of vendors. in the future NC 10 Percent plans to move into the mobile market and create a more user friendly experience.
working site:  here

voice thread: here 

list of files changed:
NC ten percent\htdocs\genXMLPartnersDetail.php
NC ten percent\htdocs\genXMLPartnersDetail1.php
NC ten percent\htdocs\genXMLParnersDetailHelper.php
NC ten percent\htdocs\partners.php
NC ten percent\htdocs\partners_detail.php
NC ten percent\htdocs\partners_detail1.php
NC ten percent\htdocs\partners_detail2.php
NC ten percent\htdocs\utilities.php
NC ten percent\htdocs\css\layout.css
NC ten percent\htdocs\css\jquery-ui-1.8.7.custom.min.js
NC ten percent\htdocs\css\jquery.slideto.min.js
NC ten percent\htdocs\test\genXMLPartnersDetail.php
NC ten percent\htdocs\test\genXMLPartnersDetail1.php
NC ten percent\htdocs\test\genXMLParnersDetailHelper.php
NC ten percent\htdocs\test\partners.php
NC ten percent\htdocs\test\partners_detail.php
NC ten percent\htdocs\test\partners_detail1.php
NC ten percent\htdocs\test\partners_detail2.php
NC ten percent\htdocs\test\utilities.php
NC ten percent\htdocs\test\css\layout.css
NC ten percent\htdocs\test\css\jquery-ui-1.8.7.custom.min.js
NC ten percent\htdocs\test\css\jquery.slideto.min.js

Project: Sustainable Gardens

Our group was tasked with assisting NCSU's Urban Horticulture department in promoting environmental landscaping via an online greeting card application.  The greeting card app will serve as a vehicle to deliver informative material that spreads the word on themes including native plants, growing food, sustainable landscaping, beneficial insects, garden pests, etc.  Equally, the app enables users to directly email a decorative card with a specified greeting (i.e. Happy Birthday, Congratulations, etc.).
The user of our app should be able to first select the predefined greeting of the card they would like to send.  The app will then display a series of images that are correspondingly themed for the associated greeting for the user to select.  For example, the Happy Valentines Day card will have images such as the "Hearts a' Busting" flower and the Merry Christmas card will have images such as the American Holly.  Each image also contains a descriptive paragraph of text that will be included in the greeting card to help promote that specific idea or concept.  After the user has chosen the greeting and image, they should be able to enter their recipient and a personalized message included in the email.  Lastly, the app should directly mail the card to the user's recipient and include a footer that links back to the NCSU Urban horticulture page.  To protect against spamming, our app implements a Captcha for encryption before the email is sent.   
Additionally, we have added extra functionality to allow our client to modify the greeting card application to her liking.  Using an encrypted online form, the client can update new images to a specified greeting, modify or delete an existing image, and add or modify an associated description to an image.  The client can also add a new defined greeting for selection and its corresponding images & descriptions.  
Ultimately, our app serves two purposes: to promote the client's message on environmental landscaping, as well as provide a beneficial greeting card service to the users.
Team: Sung Hwang, Charles Coble, Kenneth Glenn, and Pareen Patel

Project: WSGreenways

    Our group, WSGreenways, was tasked with handling some upgrades to the mobile website for the City of Winston-Salem's greenways. The site offerend links to google maps of the greenways, some basic information on each greenway, and a tab for events happening at the greenways. The goal of WSGreenways was to create a mobile site that had content more geared toward a user at the greenways, or on the go.

    The original website was hardcoded HTML, with little room for updating or upgrading functionality. Our first, and probably hardest task, was updating the web page to a more robust system. We changed the webpages to use php, hosted on an apache server and utilizing a mySQL database. The database is used to store values relating the events and to store the information on the greenways. The PHP allows us to access these database elements to display on the site, as well as helping create a form for submitting issues, and displaying current weather, and the forecast for today and tomorrow.

    The original site listed accessibility info for each greenway in a separate tab, which we moved to the information tab to reduce redundancy. We also added pictures of each individual greenway to its respective page.

    The report issues page sends an email to the city of Winston-Salem with the problem, and also has a mobile link for calling the city if there is a more pressing matter, or if it is more convenient for the user.

    Some things we would like to have completed were real time GPS tracking translated into the report issues page. We also wanted to have automated driving directions to each greenway from someone's current location. Instead there is just entrance info under each greenway. Some of the greenways can be difficult to get to, and are not easily accessed from major roads. Trying to map it without proper information would be haphazard, especially considering some of the latest tech news regarding people getting lost in huge parks due to faulty mapping software. With the new back end of the site, it can be more easily updated to do these types of things in the future, if Winston-Salem chooses to. 

Screencast Demo
WSGreenways Github

Team: Harendra Patel, Lai Tran, Lance McDonald, Andrew Felsher, Kyle Wrenn

Project: Real Estate Management

     George Properties is a property management company that handles the more complicated and expensive aspects of property management for their clients. We were brought on to help create a website for the company that helps advertise their prices and services to potential clients as well as actually providing services to the company's present clients.
     Our goal was to create a framework and design that looked professional and catered to the needs of both the owner and his clients. We designed the navigational layout and set up the pages that the company would eventually populate with content. Outside of that, we also added some functionality for their existing clients. We added a contact page, a service request form, and created listings of available properties. We also did some small scale work on the mobile display to ensure that the site looked reasonable on mobile devices.
     Overall, our main objective was to create a manageable product for the company moving forward. We needed to create something that was readable, understandable, and repeatable for our client, who had very little html experience. We spent a large amount of time in post production walking our client through the site and making sure he understood what was happening and that he was happy with the direction the site had taken.
   As the project drew to a close, we discovered some potential pieces that could be added in the future. Eventually, the owner wants to be able to receive job applications through the site. Also, the mobile display is need of further work in order to be more appealing to customers.


Team Real Estate : Anthony Ursetto, Dorian Bullerwell, Brian Martin, Christopher Jones, Eric Richardson
Main GitHub Page

Activate Good Gallery

Our client, Activate Good, currently uses Flickr to upload and organize photos onto the web. While they had a functioning company website, they were looking for a way to integrate Flickr’s display functionalities into their website in a clean and concise way while maintaining the administrative tools and interface Flickr provides. The main features they were interested in with Flickr were the ability to upload photos, give them titles, and sort them into galleries.

To maintain the current work flow and make the transition easy for Activate Good, we choose to work with the Flickr API to create a web application that wraps around Flickr’s code base. As a result of our work, Activate Good’s team is able to continue using Flickr as before, but with a clean public display written within their website that they have full control over.

We used PHP to create the front overview of albums a user can choose from. Once he or she chooses an album to view, our web application uses a mix of PHP and jQuery to load photos into a viewer without the need to refresh the page. The page only initially loads thumbnails reducing the strain on the viewer’s browser, and it swaps out the full-sized images as they click through thumbnails. The design is fully scalable so that it will not break with larger or smaller album sizes. We asked friends to test our site and used feedback to make improvements to the user interface, such as adding hover effects to make the site feel more alive.

Any information that Activate Good’s team changes on Flickr is made immediately visible on the wrapper web application we created. This includes organization into sets on Flickr, the ordering of photos, the ordering of sets, set titles, set primary photos, and photo titles.

We developed while closely following the existing web developer’s site structure so that it was easy for him to change details if necessary in the future. Everything is well documented. All of our styling is limited to a cascading style sheet that he can seamlessly append to his existing style sheets with a single reference changing in our HTML code.

We met with Activate Good’s staff this week to walk them through the process of using our application, and they were very satisfied with the result. As a result of this new photo gallery, the public will have a more personal attachment to the non-profit organization. Activate Good’s staff hopes that this will encourage greater participation and improve funding efforts. They are enthusiastic about working with this application in the future.

Flickr that demo pulls from:

Wednesday, December 12, 2012

Project: Mobile Search Library.

        Mobile Library Search is a NCSU mobile web that allows user to search and get the basic information of the current books and medias in library inventory. Our task is to improve the mobile interface for searching the library's catalog to to support "faceted" search, essentially menu-driven refined search.

         Basically, this is a mobile web, very similar to a web app. This mobile web allows user searching the library database and displays the results. Everytime user performs a search, there is an API call that sent to the live search service. The live search service then reads the API and returns a XML file that contains the results information. The mobile web will process XML file and display results to user.      
         For this project, we completed many works: adding refine search, changing interface and layout, correcting some limitations, and adding additional option for user's conveniences.Generally, we finished the initial plan to improve this mobile web.
New version

         However there are things that could be improved in future: quick option performing an "on-the-fly search"; improving the mobile web to be able to work on more devices; display only a few of the sub-filter options while giving the option to expand the list further; optimize choice of provided filter list; and more.

Links to Voicethread and GitHub repo:

Team Mobile Library Search CSC342:

Taylor Hickey  Daniel Narmi
James Beavers Tomer Shvueli Danh Huynh

Tuesday, December 11, 2012

Announcements: visitors during our final presentations (updated)


Currently scheduled as visiting us during final presentations are:
  • Ravi Devarajan, SAS
  • Alan Cox, David Motsinger & Lee Eason, WebAssign (updated to include Lee)
  • Cory Lown, NCSU Digital Library Initiatives 
  • Tom Miller, NCSU Entrepreneurship Initiative 
I'll let you know if more decide to come.



Announcement: screencasting tools


Just added some pointers to screencasting tools on the site here.



Monday, December 10, 2012

Reminder about projects


See you all at 8a Thursday for final. 

As a reminder, you can find pointers about what we're looking for in presentations here:

Also, grow to turn in your projects here:

Best, Ben 

Sunday, December 9, 2012

Find: Russia, China, and other nations draft proposal to give ITU greater influence over the internet

Individual countries with control of their domain naming?

Russia, China, and other nations draft proposal to give ITU greater influence over the internet

WCIT conference

A proposal introduced Friday at the World Conference on International Telecommunications would lend the ITU and its member states greater control over the internet. Changes outlined in the document would transfer many duties related to the web's backend — IP address and domain name allocation, for example — away from ICANN. Instead, that power would be placed in the hands of individual governments. A leaked copy posted on WCITLeaks reveals that Russia, a longtime proponent of such ideas, has also rallied the support of the United Arab Emirates, China, Saudi Arabia, Algeria, Sudan, and Egypt in drafting the document.

"Member states have the right to manage all naming, numbering, addressing and identification resources used for...

Tuesday, December 4, 2012

Announcement: last day for course evaluation!

Hey folks,

This is the last day to do online course evaluation! Please do take the time to evaluate this course, it really helps make the course experience better for your fellow students.



Monday, December 3, 2012

Spotted: Node Summit - The Importance of Cross Platform

Node Summit: The Importance of Cross Platform

Joyent's Ryan Dahl, Microsoft's Gianugo Rabellino and Rackspace's Paul Querna discuss why Node.js is so important for the future of cross platform application development.

Sunday, December 2, 2012

Find: Good idea - Music Hack Day project maps out lyrics to Johnny Cash's 'I've Been Everywhere' in realtime

Music Hack Day project maps out lyrics to Johnny Cash's 'I've Been Everywhere' in realtime

Cash I've Been Everywhere

In 1996, the legendary Johnny Cash recorded "I've Been Everywhere," putting his signature on an old-time country classic. The song, which rattles off dozens of locations throughout North America, was an appropriate fit a musician that toured rigorously throughout his storied career. Now through the magic of Google Maps, you can listen to the song while each one of those destinations is labeled with a Johnny Cash pin — all in realtime before your own eyes. Developer Iain Mullan whipped the project together for Music Hack Day London 2012 using MusixMatch (for lyrics), Toma HK and his own programming know-how. In all, mapping out "I've Been Everywhere"'s itinerary results in 112515 miles of travel. Cash undoubtedly crossed through many of...