Wednesday, March 11, 2015
Apps Script in the classroom
Over the past few years weve seen lots of Apps Script adoption within the EDU community. Educators need lightweight systems that integrate with the Google Apps they already use. Empowered by a cloud-hosted and simple to use platform, non-programmers have been able to create powerful scripts that have a real impact on the lives of their students. In honor of World Teachers Day were highlighting some popular scripts educators have created and other materials teachers can use to get started.
Earlier this year we sat down with Andrew Stillman, Program Officer for Digital Instruction at New Visions for Public Schools and co-founder of youpd.org. We discussed about how he uses Apps Script to build solutions for the New York City school system. Hes the author of many popular scripts in the Script Gallery, including formMule, doctopus, and autocrat, which he uses to create powerful systems that tie together Google Forms, Spreadsheets, Docs and GMail in a way that teachers and administrators can maintain and enhance.
Flubaroo is another popular script among teachers, as it extends the usability of Google Forms for online assignments. After students have submitted their responses this script scores their answers against an answer key, generates histograms of the classs performance, and sends out personalized emails to each student with their grades.
Even more exciting, however, is that teachers have been writing their own scripts to solve problems and make their lives easier. For example, Adelphi University professor Lee Stemkoski wrote a small script that he uses to populate a Google Calendar with the topics for each lecture hell give during the semester. In just 30 lines of code he was able to complete a long, monotonous task with the click of a button.
Teachers looking to get a better idea of how Apps Script works and what it can be used for should watch our video Google Apps EDU Fireside Chat: An Introduction to Apps Script. In it we cover the basic functionality and use cases supported, and even do some live coding to show how easy it is to get started. More than 20 million students, faculty and staff worldwide use Google Apps for Education, so if you build something interesting and worth sharing, consider publishing to the Chrome Web Store.
Eric Koleda profile Eric is a Developer Programs Engineer based in NYC on the Google Apps Script team. Hes previously worked with the AdWords API and enterprise content management software. |
Monday, March 2, 2015
Open a New Tab
For those of you who are a fan of my Thursday Tips, I am sorry to say t hat this is the last one I can think of! However, this does leave me some time to start a new regular feature: Fonts on the First! Stay tuned this Monday, April 1st for my first collection of seasonal fonts for personal and commercial use!
Friday, February 27, 2015
How to See How Many Email Followers You Have and Who They Are Giveaway Announcement!
First things first, here is the tutorial. The winner on the poll this week was another blogger tutorial... how to see how many email followers you have and see who they are!
Here is the poll:
Now onto the tutorial!
For next weeks poll, Ill be adding the option to change the colors, features or special effects of a shape, picture, or text box in PowerPoint... even if those shapes/pictures are on different slides!
Now... for the giveaway announcement!!! For all of my lovely followers, check back in tomorrow to see some new products and a chance to win them all!
Sunday, February 15, 2015
Flat iPad 5 iPad Mini PSD
Free Download Flat iPad 5 & iPad Mini PSD. Flat iPad Champagne color. Enjoy!
Type : PSD
Category : Mockups
License : Free
Author : Dribbble
HandyTools Bat to Exe Converter
Check-out this latest find that I got, a .bat to .exe converter! Check it out in this link
http://www.f2ko.de/programs.php?lang=en&pid=b2e
Ill post a simple tutorial on how to use it later!
Free Business Card Template
Free Download Business Card Template PSD. Anyway here is a free Photoshop file of a print ready business card template. Enjoy!
Type : PSD
Category : Cards
License : Free
Author : Psdstyle
Best Ways to Deal with Bad Links
Bad links are something that is going to damage your websites SEO. That is why it is a good idea to get rid of them. But, how do you do it? And, to what extent should these links be removed? Are all bad links so bad? Below you will find the answer to these questions and some top advice about how to get rid of bad links. There are four bad link varieties described in this article, but they are in no particular order.
Also Read: Best Way to Easily Find and Remove Broken Links from your Website or Blog
Also Read: The 5 Best Ways to Build Quality Backlinks for Your Website or Blog
What is SEO?
SEO stands for Search Engine Optimization, and it is a process that makes your website more search engine friendly. The search engines cannot read and comprehend what is on your website, they have to use clues in order to guess what the content is all about. Backlinks are used as clues, as are internal links. Backlinks are also used as a way of judging a website’s popularity.Bad link 1 - A backlink from a black-hat website
The most common version of this was the backlink that came from a link farm. This is a website that was built simply to upload content for the sake of adding a link to it. This is deemed as one of many type of black-hat website, and a link from here is bad news.How to deal with it
Try to have the backlink removed from the website. Do all that you can in order to remove the backlink? If you cannot, then copy your content and put in on a new URL. Then, remove the URL that the backlink points to. This breaks the link between your website and the black-hat website.
Bad link 2 - A backlink from black-hat methods
One of the most common ways this happens is when a spam bot places a link onto a number of comment sections. In many cases, the blog master will notice the spam and remove it.How to deal with it
If the blog master does not recognize or remove the spam link, then request that the spam link be moved. Some websites and blogs allow you to report spam, so you can simply report that it exists and the web master will remove it for you. Use a backlink checker to locate all of the backlinks that were spammed. If you cannot remove them all, then do as you did with bad link number one and discontinue the URL that they point towards.
Also Read: Tips on How to Have Better SEO Results with Link Building
Also Read: How to Find the Websites or Blogs that are Copying your Content?
Bad link 3 - An internal link that leads nowhere
This is known as a broken link, and they happen quite often for a number of reasons. They are not too bad in small numbers, but Google will start to penalize websites that have too many.How to deal with it
If you notice a lot of broken links, then you need to start being more meticulous when you start new pages, remove pages, and make updates to your website. Use a link checker to see how many of your internal links are broken. All you have to do is either fix the link so that it points to a working page, or remove the link if it no longer serves any purpose. The problem will then be resolved the next time that the search engines crawl your website.
Bad link 4 - An internal link that points to another URL that is not online
This happens quite a bit. It is where you link to another website page, but then the destination URL is deleted or the website goes offline, etc. Just link broken internal links, it does not matter if you only have a few of these. But, if you have lots, or if they happen on a regular occasions then Google may penalize you. It lowers your websites usability, which is one reason why you are penalized. Imagine if you have a list of products that you link to, and yet only 60% of the links work, it is going to be frustrating for your user (hence your website usability rating drops).Broken links that point to external websites are also a signature of a website that is selling backlinks or that has been hacked, which is another reason why you may be penalized.
Also Read: The 3 Basic Things You Should Know Before Creating a Blog to Become a Successful Blogger
How to deal with it
When you use a tool to check your internal links, they often show you if your external links are broken too. Go to the website of the broken link to see if it is still online. They may have messed around with the URL, or deleted the page completely. If you cannot fix the link, then you should delete it from your website.
About Author:
The article is provided by Sonia Jackson. If you have any problems with your accounting homework she’s ready to help you.
Free Pricing Tables 2in1 PSD
Type : PSD
Category : Web Elements
License : Free
Author : Behance
PSD Iphone 5S Side View
Free Download PSD Iphone 5S Side View. See attachment for a free psd, with right and left views for each 3 color. Enjoy!
Type : PSD
Category : Mockups
License : Free
Author : Dribbble
C Program for Implementation of Merge Sort
Sorted array is :");
HowTo ActivePerl cmd exe Monitor UPDATED
create a cmd.exe (command line) process that you can manipulate (write on its handle) and monitor (read on its handle) so that you can create programs that rely on the output of other programs without waiting for it to terminate. :)
How does it work:
1. open2 will create a cmd.exe process
2. Glib::Timeout will constantly calls the repeat_call sub
- i did not use Gtk2::Helper because I am having problem with reading the output of the cmd.exe, I need to either move the mouse on the window for it to trigger the update, if anybody can help me, please comment.
3. pressing the button DIR will send a "dir" command to the cmd.exe process
4. pressing button TIME only prints "the current time"
5. the repeat_call sub will then read the unread output of the command line and push all the output to @queue array
6. action_call sub will then read 1 line from the @queue array and prints the result. action_call sub is called constantly even when the array is empty.
7. the @queue array makes sure that you will get the correct chronology of the output.
Below is the sample code I manage to whip up with lots and lots of help from the very nice and good MONKies of the www.perlmonks.org community! Check out our conversations at http://perlmonks.org/?node_id=1064595
Sample Code:
#!/usr/bin/perl -w
use strict;
use Gtk2 -init;
use Gtk2::Helper;
use Data::Dumper;
use FileHandle;
use IPC::Open2;
use Win32API::File;
use Win32::API;
my @queue;
{
my $api;
die "PeekNamedPipe"
if ! ($api= Win32::API->Import("kernel32", "
BOOL PeekNamedPipe(
HANDLE hNamedPipe,
LPVOID lpBuffer,
DWORD nBufferSize,
LPDWORD lpBytesRead,
LPDWORD lpTotalBytesAvail,
LPDWORD lpBytesLeftThisMessage
);"));
}
my $wfh = FileHandle->new();
my $rfh = FileHandle->new();
open2($rfh,$wfh,"C:\Windows\System32\cmd.exe");
my $hnd = Win32API::File::FdGetOsFHandle($rfh->fileno());
if($hnd == Win32API::File::INVALID_HANDLE_VALUE()){ die "bad hnd"; }
my $tag = Glib::Timeout->add(10,&repeat_call);
my $window = Gtk2::Window->new();
$window->signal_connect("destroy",sub{Gtk2->main_quit();});
my $hbox = Gtk2::VBox->new();
$window->add($hbox);
my $button = Gtk2::Button->new("DIR");
$button->signal_connect(clicked=>sub{
print $wfh "dir
";
});
$hbox->pack_start($button,0,0,0);
$button = Gtk2::Button->new("TIME");
$button->signal_connect(clicked=>sub{
print $wfh "time /t
";
});
$hbox->pack_start($button,0,0,0);
$window->show_all();
Gtk2->main();
sub repeat_call {
my $bAvail = 0;
my $ret = 0;
my $buffer;
$bAvail = "x00" x 4;
$ret = PeekNamedPipe($hnd,undef,0,undef,$bAvail,undef);
if(!$ret) {
my $err = Win32::GetLastError();
die "PNP failed $err $^E";
}
$bAvail = unpack(L, $bAvail) . "
";
if($bAvail > 0) {
sysread($rfh,$buffer,$bAvail);
chomp($buffer);
my (@q) = split(/
/,$buffer);
foreach my $qq (@q){
chomp($qq);
push @queue, $qq;
}
}
action_call();
while (Gtk2->events_pending()) {Gtk2->main_iteration();}
return 1;
}
sub action_call {
my $count = @queue;
if($count){
my $line = shift(@queue);
print $line . "
";
}
}
Note:
If you have a better method please share, anybody can comment! :)
Free PSD Mobile Screen MockUp
Free Download PSD Mobile Screen MockUp. Ive been working this weekend in different ways of showing screen mock up, after some tries, i got this. Enjoy!
Type : PSD
Category : Mockups
License : Free
Author : Freegoodiesfordesigners
Saturday, February 14, 2015
IOS vs Android Difference and Comparison Infographic
Also Read: Top 100 Android Apps 2014
Also Read: iCloud - How to Backup iPhone Data
IOS vs Android Infographic
Clean Simple Pricing Table PSD
Free Download Clean & Simple Pricing Table PSD. Download our Friday’s Freebie, Clean & Simple Pricing Table brought to you by Webdesigneraid’s Team. Enjoy!
Type : PSD
Category : Web Elements
License : Free
Author : Webdesigneraid
Turbo C for Windows 8 64 bit
Also Read: GCC Compiler: Download Code::Blocks 12.11 a Free C/C++ IDE
Size: 10.1 MB
OS: Windows Vista / Vista 64 bit / 7 / 7 64 bit / 8 / 8 64 bit
- Download Turbo C++ for Windows 8 64 bit -
printf scanf and comments in C with example
scanf() in C
#include<stdio.h>
void main()
{
int a,b,c;
printf("Enter two values to do multiplication");
scanf("%d%d",&a,&b);
c=a*b;
printf("Your answer is %d",c);
}
Why do we use ampersand operator (&)?
C Program to Calculate Simple Interest
/*Program to calculate simple interest
TheCrazyProgrammer date 21/12/14*/
#include<stdio.h>
void main()
{
int p,n; //Here p is principle amount and n is number of years
float r,si; //Here r is rate of interest and si is simple interest
printf("Enter the values of p,n and r");
scanf("%d%d%f",&p,&n,&r);
si=(p*n*r)/100;
printf("Simple interest is %f",si);
}
Comments in C
C allows two types of comments
Virtual DJ pro v7 4 full version with All Sound Effects
Info:
VirtualDJ is the hottest AUDIO and VIDEO mixing software, targeting DJs from the bedroom, mobile, and professional superstars like Carl Cox.
With VirtualDJs breakthrough BeatLock engine, songs will always stay in beat, and the DJ works their mixes incredibly faster than they ever could.
The automatic seamless loop engine and synchronized sampler lets the DJ perform astounding remixes live, with no preparation at all. The visual representation and the cues allow a DJ to clearly see the song structure, and never be surprised by a break. The vinyl controls will let you scratch like on a real turntable, except that with the beatlock engine your scratches will never end out of the beat.
Add to that the infinite number of cue points a DJ can save for each song and large collection of wonderful automatically beat-synchronized effects.
And with VirtualDJs large collection of skin interfaces to suit everybody from the beginner to the professional DJ, the possibility to record the DJs mix to then burn to CDs, to broadcasting on the Internet and/or the DJs own radio station, to use headphones to preview the song, or use an external mixer to perform in a club; VirtualDJ is a DJs ULTIMATE mix software.
Lastly, enter the new era of DJs mixing video enhanced songs (DVD, DivX, MPEG...) which can be sent to monitors, TVs, a projector for display on a giant screen.
VirtualDJ brings all that and more to the DJ in the most easy-to-use way and at the most affordable price for the ULTIMATE DJ MIX EXPERIENCE Read more
Features:
up to 99 independent zero-latency players with:
Standard controls (play, pause, stop, cue)
Pitch control with Master Tempo (from -100% to +100%)
3 band equalizer High, Mid, and Low with Kill and +/-30db gain
Independant key control
Resonant filter
One-click beat matching and synchronization (FAME algorithm)
BeatLock engine for keeping songs in-sync and in-time
Dynamic beat-matching visualizer
Automatic beat-matched crossfading
Automatic BPM and KEY calculation
Automatic pitch matching
Automatic audio gain matching
Real scratch simulation
Automatic seamless and beat-aware LOOP functionality
Synchronized sampler with 12 instant record and playback slots
Time-Stretch and Master Tempo Pitch algorithms
Automatic first beat and last beat detection
Automatic 4/4 phase detection
Infinite number of cue points per song saved for instant recall each time the song is loaded
Beat-aware effect plugins (included: beatgrid, flippin doubles, vocal remover, frequency filter, flanger, backspin, brake, etc...)
VST effects compatibility (PC version Only)
Video mix with windowed or FULL SCREEN TV output using 2nd video output
Karaoke CDG+MP3 and/or ZIP support
FreeFrame and custom video effects
Infinite number of video effects applied simultaneously
DJ-specific video transition plugins
Song database engine with easy-to-use search feature
CoverFlow or text-only song browsing
Compatible with iTunes playlists (iTunes DRM files not supported)
MP3 ID3 Tag compatibility
User-defined automatic filter folders
Automatic Hot-Swap of external hard drives
Ready-to-burn recording of a DJs mix to CD
Broadcast on the Internet
CD to MP3 encoder
Multi-channel sound card, dual-sound card or Y-splitter output for real-time monitoring or external mixer use
ASIO soundcard compatibility
CoreAudio soundcard compatibility
Fully customizable skin engine and shortcut macro engine
VDJScript: powerful macro language used in skins, shortcuts, or controller mapping
Compatibility and customizable mapping with most external MIDI and HID controllers (more than 80 included, many more downloadable)
Optional automatic playlist mixing: VirtualDJ recognizes the style of the music (techno, hip hop, lounge) and adapts the mix accordingly
ContentUnlimited: search and play any song from our subscription plans with more than 15 million audio tracks, thousands of high quality video and karaoke files
LiveFeedback: get live recommendations based on what you play and the feedback from millions of other DJs around the world
System requirements:
MINIMUM system requirements:
Intel® Pentium® 4 or AMD Athlon™ XP
1024x768 resolution
DirectX compatible soundcard
512MB RAM
50MB free on the hard drive
RECOMENDED system requirements:
Intel® Core™ 2 or AMD Athlon™ X2
Microsoft® Windows 7 Professional (or newer)
1280x1024 resolution (or higher)
Multi-channel DirectX compatible soundcard
1024MB RAM
200MB free on the hard drive
Additional requirements for Video mixing:
2048MB (2GB) RAM
ATI™ or NVIDIA® video card w/256MB of Dedicated DDR3 RAM
Video card must support dual-screen output
Supported Operating System:
MINIMUM: Microsoft® Windows XP SP3 or newer
RECOMMENDED: Microsoft® Windows 7 Professional 32-bit
Microsoft® Windows 95, 98, ME, or older are not supported
click to begin
60 MB
Free One Page PSD Template
Free Download One Page Template PSD. Layered well organized Photoshop file. Excellent for personal and corporate web site. Enjoy!
Type : PSD
Category : Web Templates
License : Free
Author : Outlinez
Free PSD iMac Mockup
Free Download PSD iMac Mockup. I made it for a dark background so it probably works best on a dark bg. Enjoy!
Type : PSD
Category : Mockups
License : Free
Author : Dribbble
C program to convert given binary number into decimal number
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
long int i,n,x=0,a;
clrscr();
printf("Enter any Binary number: ");
scanf("%ld",&n);
printf("
The Decimal conversion of %ld is ",n);
for(i=0;n!=0;++i)
{
a=n%10;
x=(a)*(pow(2,i))+x;
n=n/10;
}
printf("%ld",x);
getch();
}
Friday, February 13, 2015
Free Personal Site PSD
Free Download Website Template PSD. I would like to not only show you your new site, as well as give PSD file. Enjoy!
Type : PSD
Category : Web Templates
License : Free
Author : Dribbble
Columns Grand total in Table component of Pentaho CDE
Table component has no direct feature of adding column totals as of this post written date(July 2nd 2013)....
Here is the pentaho community & data tables shared java script to find the Summation of columns in Table component.
Write below code in Draw Function of Table Component.
function f() {
var grandTotalRow = "<tfoot><tr><td>Total</td>";
for(i=1;i<4;i++) {
var total=0;
var rows = $(# + this.htmlObject + tbody tr);
rows.each(function() {
var cellVal = parseFloat($(td:eq(+i+), this).text().replace(,,));
if(!isNaN(cellVal)){
total+=cellVal;
}
});
grandTotalRow += "<td>"+total.toFixed(2);+"</td>";
}
grandTotalRow += "</tr></tfoot>";
if($(#+this.htmlObject+ tfoot).length===0)
$(#+this.htmlObject).find(table).append(grandTotalRow);
}
Sample output:
References :
https://www.datatables.net/forums/discussion/17132/summary-footer-row
http://forums.pentaho.com/showthread.php?94187-Table-Component-Grand-total
Example :
https://metrics.mozilla.com/data/content/pentaho-cdf-dd/Render?solution=metrics2&path=%2FgetInvolved&file=getInvolved.wcdf
Functions in C Programming Part 3
So far we have learnt about the simplest use of functions in C. In serious C programming functions are not used in that way. We have to make them flexible so that we can customize the results as per our requirements. To make generic function we have to pass some values to them. These values are also called parameters or arguments. Based on these parameter our function should return the value to the calling functions.
To make things a bit clear, we want to make such functions which can communicate to its calling function. And it should return the results as per the customization.
Till now we have used the functions like printf() and scanf() in which unknowingly we have passed some arguments like variable names to print it on the screen. We have to obtain similar results in our function. So today I will tell you about passing the values to the functions.
Passing Values to Funtions
Lets understand this concept through a program.
#include<stdio.h>
int multi(int,int);
void main()
{
int x,y,mul;
printf("Enter two values to multiply them
");
scanf("%d%d",&x,&y);
mul=multi(x,y);
printf("Answer is %d",mul);
}
int multi(int a,int b)
{
int ans;
ans=a*b;
return(ans);
}
Output
1. In the statement above main() function I have declared the function multi() by writing the instruction int multi(int , int);
int: It is return type. It means which type of value the function should return to the calling function. In this function I have declared that it will return integer value.
multi: It is the name of the function. You can give any name to this function (valid identifier).
(int,int): These are the number of arguments that I will take from the calling functions. I have declared the data type of two arguments as integer. Here I am taking only two arguments, you can take any number of arguments.
2. It is compulsory to declare the function before using it. So that compiler should understand that we will define some custom functions in it.
3. In the first three statements of main() function I have declared some variables and taken some values in it from the user.
4. Now I have passed two parameters or arguments to the my function multi() with the statement mul=multi(x, y);
Here, multi is the name of the function, (x, y) is the arguments that I am passing to the multi() function. These should be integers because as I have declared in the definition of multi() function that I will receive two integer values in it. mul is the variable which will store the value returned by multi() function.
5. Now the control goes to multi() function and the values of variables x and y will automatically be copied in the a and b variables.
6. Now the multiplication takes place inside the multi() function and the result will be stored in ans integer variable.
7. In the last statement I am returning the value stored in ans variable to the calling function i.e. main(). It is done by using the statement return(ans);. Here return is a keyword that returns a single value. It can be also written as return ans.
8. After returning the value the control will again come back to main(). You must remember that as the return statement is encountered the control immediately come back to calling function.
9. Now in last I am printing the answer using printf() function.
I would recommend you to go through the above at least twice to make your basic concepts clear. It is very necessary to understand this concept before proceeding to the further tutorials. If you are finding difficulty in understanding anything then you can ask your question by commenting below.