17 Useful CSS Cheat Sheets of 2017 | With New CSS3 Tags

[Estimated read time: 4 minutes]

CSS is an inseparable part of front-end designers and developers, probably because it’s the only real option to describe the presentation of a document written in a markup language. It saves a lot of work by controlling the layout of multiple webpages all at once.

Along with HTML and XHTML, the Cascading Stye Sheets can be applied to any XML document such as XUL, SVG, XML, and one can use it to render speech or other media. In most cases, browser support for CSS has never been a concern once you learn CSS. However, it’s is quite difficult for designers to remember all CSS properties and values.

To address this issue and increase productivity, most developers use cheat sheets. They are just a quick reference that helps you double check the snippet of code you’ve doubts about. To make your life easier, we are presenting some of the most useful CSS cheat sheets that will definitely help you get all the necessary elements at a glance. Since they all are freely available, you don’t need to pay anything. 

17. CSS Layout Cheat Sheet

This is a brief cheat sheet divided into 3 sections – layout mechanics, centering elements and common code. It is available on a single webpage in HTML format.

16. WordPress CSS Cheat Sheet For Beginners

The thing that makes WordPress so popular is its customizability. It lets you target very specific aspects of your website with CSS. On this page, you will find WordPress cheat sheet for default body class styles, post, format, menu, widget, common form and WISIWYG editor style.

15. Animations and Effects

This webpage includes transforms, transitions, animations, filters and target. All properties are well-described along with their syntax. If you are interested, you can learn several interactions methods and triggering animations and transitions with those interactions.

14. CSS Properties

If you are looking for descriptions and notes of important CSS properties and values, look no further than simple infographics of CSS_properties provided by genautica.

13. CSS Click Chart

CSS click chart provides dozens on example code to manipulate your elements, for example code for box sizing, adding text shadow, keyframe animations, gradients, transforms and much more. It also gives you live demonstration and browser support information.

12. CSS Grid

As the name suggests, its an ultimate CSS grid cheat sheet that allows you to draw (for testing purpose) any number of grids (both columns and rows) of any size.

11. Media Queries

The CSS3 cheat sheet for media query that contains the code for phone, tablet and desktop, with orientation.

10. Flexbox

The Flexbox Layout (flexible box) module offers a more efficient way to lay out, align and distribute space among items present in a container, even if their size is dynamic or not known. This page gives a detail on how to implement these flexible boxes.

9. CSS Shorthand Cheat Sheet

A very brief cheat sheet that shows the parameters of commonly used properties such as border, font, background, example, color, and more. It is available in JPEF format only.

8. CSS CheatSheet

This cheatsheet is packed with detailed information about different CSS modules, including attributes, pseudoclasses, fonts, colors, composition, filter, effects, transitions, animations, transformations, positioning, alignment, and more. It’s available in PDF format.

7. Practical CSS Cheat Sheet

This is a quick reference guide by Toptal. It includes some of the most important selectors, properties, units, syntax and other useful information in brief.

6. Interactive CSS Cheat Sheet

The interactive CSS cheat sheet consists of common codes that you can easily copy and paste in your project. With interactive widgets, you can generate code for styling gradient, text shadow, box, background, fonts, buttons, transform, border and more.

5. CSS3 Animation Cheat Sheet

The is a collection of preset, plug-and-play animations for your next project. To implement this, you have to add the stylesheet on your webpage and apply the predesigned CSS classes to the element you want to animate. That’s all!

4. Mega CSS3 Infographics

printable CSS3 cheat sheet, containing all the properties, selectors types and values in the current specification of W3C. All properties are provided in a different section, available in high-resolution PDF.

3. CSS Almanac

A quick reference guide to many features of CSS, organized alphabetically. Clicking on each element takes you to the new URL, where will you find a detailed information (along with examples) about the element you’ve clicked.

Read: 35 Impressive Ajax and CSS Loaders / Spinners

2. Comprehensive CSS3 Cheat Sheet

This is an ultimate cheat sheet including all important CSS3 tags. It is designed as an eye-catching infographics that is available in both PNG and PDF format.

1. Mega CSS Cheat Sheet

Read: 22 Creative CSS Hover Effects

This a long, detailed CSS cheat sheet of total 29 pages, available in PDF and PNG format. You can treat it as a small book that comes with a neat table of content. All elements like backgrounds, fonts, texts, grid positioning, etc. are organized into different chapters to provide better readability.

via RankRed http://ift.tt/2yZr5g7

Different Approaches To Using Student Blogs And Digital Portfolios

More and more educators are discovering the importance of having their students build some form of digital presence. Blogging is an excellent way for students to create their own online space, but what do you call this?

  • Simply a student blog?
  • Digital portfolio?
  • ePortfolio?
  • Learning showcase?
  • Blogfolio?

When I first started teaching in 2004, each of my grade one/two students had a scrapbook where they would paste their work samples each term. The goals of this process were: documentation, reflection, assessment and sharing with parents.

Often the same goals apply to the online equivalent of this scrapbook. But if we aren’t doing things any differently than 10-15 years ago, why are we bothering with student blogs? Why aren’t we still cutting and pasting in a scrapbook?

When blogs are used as more than substitution, they offer many advantages.

  • Research tells us that student work is of a higher quality when it involves an authentic audience.
  • The opportunity for feedback and discussion through an online presence is greater.
  • There are many skills to do with writing online, using technology, understanding digital citizenship etc. that are not only useful for students to know, but required in most curriculum standards.
  • Influencing your own digital footprints from a young age can be a powerful experience.

This post explores a range of approaches to student blogs and digital portfolios. We have included classroom examples, and encourage you to share your approach to student blogging in the comment section.

When To Set Up Student Blogs?

When I first started blogging in 2008, I didn’t really know what sort of blogging framework would work for me, but along the way I came up with a model that suited the age of the students, our combined experience, our objectives and our equipment.

This digram shows the progression some classes make from class blog to student blogs

The model I adopted was as follows:

  1. I established a class blog and wrote the posts, while teaching the students to write quality comments.
  2. As students became more familiar with blogging, some students start publishing guest posts on the class blog and learned posting skills.
  3. When I was teaching grade two, had limited computers and was new to student blogging, I didn’t think it was practical for all students to have have blogs. Instead, certain students who had demonstrated enthusiasm, parent support and blogging skills, earned their own blog. This added a new layer to the skill set of commenting and posting: maintaining a blog.
  4. When I was teaching grade four, had a one to one netbook program and had experience managing student blogs, I set up blogs for all students, as digital portfolios.

Throughout all four stages, quality commenting and parent participation is taught and encouraged.

Many teachers begin their blogging journey with a class blog and perhaps progress from there. However, you can jump in at any point of this framework.

You might only be comfortable with having a class blog initially. There is certainly nothing wrong with this approach, although keep in mind that aiming to have more student involvement at some point in the future can be advantageous.

At the other end of the spectrum, you might have the confidence, experience and equipment to set up student blogs from day one. Go for it!

Whatever your approach, a class blog always complements a student blogging program. It provides a home base where you can post assignments, showcase student work, publish recounts, communicate to parents, establish community/global connections and more.

How To Set Up Student Blogs

We have many resources in our Edublogs Help Guides that will walk you through the process of setting up student blogs. Sue Waters’ five step guide to setting up student blogs is a good starting place.

One really useful feature on Edublogs, that takes the hassle out of the logistics of student blogs, is called My Class. This is a tool that allows you to:

  • Easily create your student blogs after you’ve set up your class blog
  • Control the privacy of the blogs and control moderation settings
  • Read and/or moderate student posts and/or comments right from your own dashboard (no need to open up 25 tabs in your browser to keep track of what your students are up to)
  • Install a widget to the sidebar of your class blog and student blogs which links to all the student blogs in your class. This means students and readers can easily visit all the blogs, without searching, bookmarking, or adding links individually.

Digital Portfolio Expectations and Frameworks

Many educators refer to their student blogs as digital portfolios.

Academics and thought leaders often debate the meaning of the term digital portfolio. What does this mean? What does it look like?

Perhaps an useful alternative term is ‘blogfolio’ which Silvia Tolisana describes as the glue that can hold it all together in learning. 

Blogfolios are the glue that can hold all curricular content, goals and objectives as well as support school initiatives, observations, assessment and accountability requirements or personal passions, interest and projects together.

Diagram breaking down the concept of blogfolios

For the purpose of this post, we are less concerned with semantics and more concerned with exploring the different frameworks that teachers adopt. Hopefully considering how other teachers approach student blogs will give you some ideas on what would work for you and your students.

I have observed differences in how student blogs work in a variety of areas. There appears to be a spectrum in at least six key areas:

duration privacy content reflection quality control - 6 aspects of student bloggingLet’s break these down and consider where you might sit on each spectrum.

1. Duration

Some student blogs are only active for a year. The student might move up to a non-blogging class and their individual blog remains stagnant. This can be frustrating for teachers who invest time in establishing an effective system for their student blogs. It can also be disappointing for students.

Other institutions think ahead with a whole-school approach. At The Geelong College, which operates their own Edublogs CampusPress platform, there are long term plans.

Director of Teaching and Learning, Adrian Camm, explains the philosophy:

…each student from Year 4 to Year 10 at our College will have a digital portfolio that follows them throughout their time at the College and has a unique identifier accessible on the web.
The ability to export their content easily when finishing Year 12 to be used in the tertiary admission process or in future work endeavors has also been a key point…

Consider: If you’re investing time in establishing student blogs, how can you showcase this to the wider school community and motivate them to establish a school wide plan?

2. Privacy

Should blogs be public or private? This is always a contentious issue.

Ronnie Burt raised some excellent arguments about the advantages of public blogs a few years back, including the power of an authentic audience, ease of access, and the potential for collaboration. Ronnie noted,

If you hide student work behind passwords, then you might as well have them print everything out and hand it in the old-fashioned way. You are losing out on connections, extended dialogues, and the motivating factor of working for an authentic purpose.

In the comment section, there were some well considered opposing views.

J. McNulty argued the consequence of permanence,

Try to imagine that every stammering oral presentation, every 5th grade writing sample and every stick finger drawing you ever made in a classroom was permanently posted online, forever. As a teacher how would you feel if your class of iPad toting students were surfing through your complete “virtual portfolio” while you were trying to assign them an essay?  … Blogging is great but this new information era needs educators who fully appreciate the long term consequences of posting everything publicly.

There is a middle ground. At The Geelong College, students are encouraged to decide for themselves whether their blogs will be public or password protected.

Another option is to create a public blog but password protect certain posts or pages.

Consider: What are the pros and cons of having student blogs as public? Some schools seem to default to the private option if in doubt. Does this mean you’re giving up all the powerful advantages of posting publicly?

3. Content

What will form the content of your student blogs? What will they actually publish?

At one end of the spectrum is total freedom where teachers are less concerned about what the students are writing about, and more concerned about the students simply blogging and finding a voice.

At the other end of the spectrum, some teachers see the blogs as a space that must be in line with the curriculum and demonstrate what is happening in the classroom.

Certainly not always, but sometimes the age of the students influences this issue.

Julie Moore in Tasmania, Australia, teaches grade 2/3. The students begin by contributing to the class blog before some students establish their own blogs. Julie says,

Mostly – the children have a free spin on what they would like to write a post about. It gives them an outlet for writing about their passions/interests, and it then gives me an “in” for feedback and improvements to their writing.

She also finds this approach opens up a very wide range of possibilities to meet certain individual’s requirements.

For example:

Julie understands that the students do require some explicit teaching around blogging. She finds The Student Blogging Challenge a great way to achieve this. In addition, she runs a lunchtime club and a weekly timetabled blogging session.

Heather Alexander in Florida teaches year 9-12 ceramics. Her students use their blogs purely to document and reflect on their own art work, and respond to the curriculum. Teaching the same class multiple times, Heather has come up with a logistal framework to organize the student blogs,

What I have done is name all the students’ blogs with their class period prefacing the name so they appear in order on the page.

Heather encourages students to comment on classmates’ blogs and set up an effective system after finding students were taking too long to find a post to comment on.

I have students work in “peer blog mentor” groups. They self-select a group of 3 -5 peers and then I match their group with a group in another class. I moderate the comments so I can check for accuracy and completion before they are published.

This idea touches on the additional issue of feedback. Who will provide feedback to your student bloggers? Will you set up a peer system like Heather? Or will you personally visit blogs? What are your goals for feedback? Simple encouragement and conversation? Or scaffolding to reach learning goals? All questions to consider.

Can your blogging framework involve set tasks and freedom?

Somewhere in the middle of the freedom/structure debate, is the approach adopted by Adam Geiman, an educator from Pennsylvania. He used the first 30% of the school year to provide structure around tasks for his fourth grade students.

The students were given guidance, yet also had some freedom of choice in how they’d present set tasks. Some would do a Google Doc, while others would present their task as a comic, infographic etc.

For the remaining 70% of the school year, students were given more freedom and many came up with their own ideas on what they wanted to publish. For example, Jackson announced the new school trout, while Brooklyn talked about her new glasses. 

Consider: What are the needs of your students? Are you trying to engage them in the blogging process and help them find a voice? Or are you wanting the blogs to be a vehicle to demonstrate curriculum outcomes? Are these two things mutually exclusive?

4. Reflection

Some form of reflection is often a key feature of digital portfolios or blogfolios.

Educator Jabiz Raisdana, has documented some compelling thoughts on student blogging. He advocates for freedom, stating that:

If you want your students to blog effectively, give them the freedom to experiment and write about what interests them.

Stay away from portfolios and forced reflections on their learning, at least until they get the hang of it.

Wait until they find a voice, find an audience… before you push your agenda of meta-cognition and reflective learning.

Perhaps on the other end of the spectrum is the argument from Matt Renwick in his blog post ‘Think You’re Doing Digital Portfolios? Think again’.

Of course, all of the posted artifacts of student learning are accompanied with reflection, self-assessment, and goal setting for the future.
Otherwise, it’s only sharing content. Nice, but not necessary for students’ education.

Many teachers use a mixed approach

Teacher, Lee Pregnell, from Moonee Ponds, Australia, described how they include some set tasks in their grade 5/6 blogging program. One of these tasks is a weekly 100 Word Challenge response (see student Carah’s example) and a report on a Behind the News article (see student Mariana’s report on dreaming).

While the Behind the News task has some element of reflection, there are other set tasks that involve more meta-cognition. One of these is based around term goals. Check out the example by Alexis to see the format of this reflective entry.

What about our youngest students? How can they reflect?

Using tools like voice recordings can offer students with emerging literacy skills the chance to reflect. Kathy Cassidy is well known for providing all of her six year old students a blog. The students regularly used tools like Book Creator to document their thoughts and learning. Here is Gus reflecting on his writing. 

Another idea is to collate social media posts in a Storify like kindergarten teachers Aviva Dunsiger and Paula Crockett. Short student interviews and reflections offer a rich insight into learning. These innovative teachers have created a special section of their blog called ‘The Daily Shoot’. This is something Aviva has done with students from K-6. It is worth checking out.

Following in her students’ footsteps, Aviva even uses a blog of her own to reflect. What a mighty combination!

Consider: Most teachers agree that some sort of student reflection on learning is powerful. How can you incorporate this into your student blogs without making the process a chore or turn students off the enjoyment of blogging?

5. Quality

Would you like your students to document their learning journeys or their best work? Will your student blogs be process portfolios, showcase portfolios or hybrid portfolios?

This is a tough decision, but also one that can evolve as you go along. It also links back to the public/private debate. Do your students want every evidence of learning as part of their digital footprint?

Again, there is certainly middle ground. George Couros reflects on his dilemma about what end of this spectrum he would sit on: ‘growth’ or ‘best work’.

Since there are benefits in both options, it was tough to decide on one, so we ultimately went with the decision to go with both. The “blog” portion of my digital space allows me to share things that I am learning (like this article I am writing) while also aggregating my best stuff into solitary “pages”.

Consider: Is George’s approach something that could be worth exploring in your own blogging program?

6. Control

Many of these five areas are underpinned by the question of control. Who is in control? The teacher or the students?

Can there be a gradual release of control as the students become older and more experienced?

Perhaps there are some aspects of their blog that even the youngest students can have some control over?

For example:

  • Their title
  • Theme
  • Choice of tool or post format
  • Where they leave comments

Most teachers would agree that it’s important to consider how students can be in charge of their own learning. Digital portfolios and blogging offers a lot of potential for student-centered learning.

The My Class tool also allows you to hand over responsibility as you choose. You can begin by moderating all student posts and comments, and then turn off these settings as appropriate.

Conclusion

Are your student blogs igniting a passion for learning or are they just another chore to be completed?

How can you set up digital portfolios or blogfolios that allow for rich learning, creativity, excitement, deep reflection, collaboration and authenticity?

These are some key questions to ask yourself but in the end, sometimes you just need to throw in the canoe and start paddling.

Figure it out as you go. There is a big blogging community and support behind you.

Don’t let fear or indecision around student blogs freeze you into inaction. Worrying too much about whether you’re ‘doing it right’ can lead to not doing it at all.  At any level, student blogs provide benefits. Embrace them.

We would love to hear your ideas. Please comment and share your thoughts on student blogs. 

Like what you read here? Signup for our free weekly email and we will send you links related to education, blogs, and more.

Subscribe!

via The Edublogger http://ift.tt/2ztBiPz

Today’s news: Real or fake? [Infographic]

Today Students have a blizzard of information at the ready: on devices in their pockets, at school, in their homes, by their bedsides on their wrists… It’s almost a constant information “on” world.

Information and content floods to their eyes and ears in never-ending streams, torrents, downloads, feeds, & casts. How do they determine what is real an what is not. What matters and what doesn’t? Here’s a cheat sheet to help out.


At a time when misinformation and fake news spread like wildfire online, the critical need for media literacy education has never been more pronounced. The evidence is in the data:

  • 80% of middle schoolers mistake sponsored content for real news.
  • 3 in 4 students can’t distinguish between real and fake news on Facebook.
  • Fewer than 1 in 3 students are skeptical of biased news sources.

Students who meet the ISTE Standards for Students are able to critically select, evaluate and synthesize digital resources. That means understanding the difference between real and fake news.

There are several factors students should consider when evaluating the validity of news and resources online. Use the infographic below to help your students understand how to tell them apart.

Click on the infographic to open a printable PDF.

Media-Literacy_Real-News-Infographic_11_2017

Learn more about teaching K-12 students how to evaluate and interpret media messages in the book Media Literacy in the K-12 Classroom by Frank Baker.

via www.iste.org http://ift.tt/2yq5zBQ

The end of the cloud is coming

Viktor Charypar is a Tech Lead at UK-based digital consultancy Red Badger.

We’re facing the end of the cloud. It’s a bold statement, I know, and maybe it even sounds a little mad. But bear with me.

The conventional wisdom about running server applications, be it web apps or mobile app backends, is that the future is in the cloud. Amazon, Google, and Microsoft are adding layers of tools to their cloud offerings to make running server software more and more easy and convenient, so it would seem that hosting your code in AWS, GCP, or Azure is the best you can do — it’s convenient, cheap, easy to fully automate, you can scale elastically … I could keep going. So why am I predicting the end of it all?

A few reasons:

It can’t meet long-term scaling requirements. Building a scalable, reliable, highly available web application, even in the cloud, is pretty difficult. And if you do it right and make your app a huge success, the scale will cost you both money and effort. Even if your business is really successful, you eventually hit the limits of what the cloud, the web itself can do: The compute speed and storage capacity of computers are growing faster than the bandwidth of the networks. Ignoring the net neutrality debate, this may not be a problem for most (apart from Netflix and Amazon) at the moment, but it will be soon. The volumes of data we’re pushing through the network are growing massively as we move from HD, to 4k to 8k, and soon there will be VR datasets to move around.

This is a problem mostly because of the way we’ve organized the web. There are many clients that want to get content and use programs and only a relatively few servers that have those programs and content. When someone posts a funny picture of a cat on Slack, even though I’m sitting next to 20 other people who want to look at that same picture, we all have to download it from the server where it’s hosted, and the server needs to send it 20 times.

As servers move to the cloud, i.e. onto Amazon’s or Google’s computers in Amazon’s or Google’s data centers, the networks close to these places need to have incredible throughput to handle all of this data. There also have to be huge numbers of hard drives that store the data for everyone and CPUs that push it through the network to every single person that wants it. This gets worse with the rise of streaming services.

All of that activity requires a lot of energy and cooling and makes the whole system fairly inefficient, expensive, and bad for the environment.

It’s centralized and vulnerable. The other issue with centrally storing our data and programs is availability and permanence. What if Amazon’s data center gets flooded, hit by an asteroid, or destroyed by a tornado? Or, less drastically, what if it loses power for a while? The data stored on its machines now can’t be accessed temporarily or even gets lost permanently.

We’re generally mitigating this problem by storing data in multiple locations, but that only means more data centers. That may greatly reduce the risk of accidental loss, but how about the data that you really, really care about? Your wedding videos, pictures of your kids growing up, or the important public information sources, like Wikipedia. All of that is now stored in the cloud — on Facebook, in Google Drive, iCloud, or Dropbox and others. What happens to the data when any of these services go out of business or lose funding? And even if they don’t, it is pretty restricting that to access your data, you have to go to their service, and to share it with friends, they have to go through that service too.

It demands trust but offers no guarantees. The only way for your friends to trust that the data they get is the data you sent is by trusting the middleman and their honesty. This is okay in most cases, but websites and networks we use are operated by legal entities registered in nation states, and the governments of these nations have the power to force them to do a lot of things. While most of the time, this is a good thing and is used to help solve crime or remove illegal content from the web, there are also many cases where this power has been abused.

Just a few weeks ago, the Spanish government did everything in its power to stop an independence referendum in the Catalonia region, including blocking information websites telling people where to vote. Blocking inconvenient websites or secretly modifying content on its way to users has long been a standard practice in places like China. While free speech is probably not a high-priority issue for most Westerners, it would be nice to keep the internet as free and open as it was intended to be and have a built-in way of verifying that content you are reading is the content the authors published.

It makes us — and our data — sitting ducks. The really scary side of the highly centralized internet is the accumulation of personal data. Large companies that provide services we all need to use in one way or another are sitting on monumental caches of people’s data — data that gives them enough information about you to predict what you’re going to buy, who you’re going to vote for, when you are likely to buy a house, even how many children you’re likely to have. Information that is more than enough to get a credit card, a loan, or even buy a house in your name.

You may be ok with that. After all, they were trustworthy enough for you to give them your information in the first place, but it’s not them you need to worry about. It’s everyone else. Earlier this year, credit reporting agency Equifax lost data on 140 million of its customers in one of the biggest data breaches in history. That data is now public. We can dismiss this as a once in a decade event that could have been prevented if we’d been more careful, but it is becoming increasingly clear that data breaches like this are very hard to prevent entirely and too dangerous to tolerate. The only way to really prevent them is to not gather the data on that scale in the first place.

So, what will replace the cloud?

An internet powered largely by client-server protocols (like HTTP) and security based on trust in a central authority (like TLS), is flawed and causes problems that are fundamentally either really hard or impossible to solve. It’s time to look for something better — a model where nobody else is storing your personal data, large media files are spread across the entire network, and the whole system is entirely peer-to-peer and serverless (and I don’t mean “serverless” in the cloud-hosted sense here, I mean literally no servers).

I’ve been reading extensively about emerging technologies in this space and have become pretty convinced that peer-to-peer is where we’re inevitably going. Peer-to-peer web technologies are aiming to replace the building blocks of the web we know with protocols and strategies that solve most of the problems I’ve outlined above. Their goal is a completely distributed, permanent, redundant data storage, where each participating client in the network is storing copies of some of the data available in it.

Above: Source: Wikimedia Commons (http://ift.tt/2xzBAaf)

If you’ve heard about BitTorrent, the following should all sound familiar. In BitTorrent, users of the network share large data files split into smaller blocks (each with a unique ID) without the need for any central authority. In order to download a file, all you need is a “magic” number — a hash — a fingerprint of the content. The BitTorrent client will then find peers that have pieces of the file and download them, until you have all the pieces.

The interesting part is how the peers are found. BitTorrent uses a protocol called Kademlia for this. In Kademlia, each peer on the network has a unique ID number, which is of the same length as the unique block IDs. It stores a block with a particular ID on a node whose ID is “closest” to the ID of the block. For random IDs of both blocks and network peers, the distribution of storage should be pretty uniform across the network. There is a benefit, however, to not choosing the block ID randomly and instead using a cryptographic hash — a unique fingerprint of the content of the block itself. The blocks are content-addressable. This also makes it easy to verify the content of the block (by re-calculating and comparing the fingerprint) and provides the guarantee that given a block ID, it is impossible to download any other data than the original.

The other interesting property of using a content hash for addressing is that by embedding the ID of one block in the content of another, you link the two together in a way that can’t be tampered with. If the content of the linked block is changed, its ID would change and the link would be broken. If the embedded link is changed, the ID of the containing block would change as well.

This mechanism of embedding the ID of one block in the content of another makes it possible to create chains of such blocks (like the blockchain powering Bitcoin and other cryptocurrencies) or even more complicated structures, generally known as Directed Acyclic Graphs, or DAGs for short. (This kind of link is called a Merkle link after the inventor Ralph Merkle. So if you hear someone talking about Merkel DAGs, you know roughly what they are.) One common example of a Merkle DAG is git repositories. Git stores the commit history and all directories and files as blocks in a giant Merkle DAG.

And that leads us to another interesting property of distributed storage based on content-addressing: It’s immutable. The content cannot change in place. Instead, new revisions are stored next to existing ones. Blocks that have not changed between revisions get reused, because they have, by definition, the same ID. This also means identical files cannot be duplicated in such a storage system, translating into efficient storage. So on this new web, every unique cat picture will only exist once (although in multiple redundant copies across the swarm).

Protocols like Kademlia together with Merkle chains and Merkle DAGs give us the tools to model file hierarchies and revision timelines and share them in a large scale peer-to-peer network. There are already protocols that use these technologies to build a distributed storage that fits our needs. One that looks very promising is IPFS.

The problem with names and shared things

Ok, so with the above techniques, we can solve quite a few of the problems I outlined at the beginning: We get distributed, highly redundant storage on devices connected to the web that can keep track of the history of files and keep all the versions around for as long as they are needed. This (almost) solves the availability, capacity, permanence, and content verification problem. It also addresses bandwidth problems — peers send data to each other, so there are no major hotspots/bottlenecks.

We will also need a scalable compute resource, but this shouldn’t be too difficult: Everyone’s laptops and phones are now orders of magnitude more powerful than what most apps need (including fairly complex machine learning computations), and compute is generally pretty horizontally scalable. So as long as we can make every device do the work necessary for its user, there shouldn’t be a major problem.

So now that cat image I want to see on Slack can come from one of my coworkers sitting next to me instead of from the Slack servers (and without crossing any oceans in the process). In order to post a cat picture, though, I need to update a channel in place (i.e., the channel will no longer be what it was before my message, it will have changed). This fairly innocuous sounding thing turns out to be the hard part. (Feel free to skip to the next section if this bit gets too technical.)

The hard part: Updating in place

The concept of an entity that changes over time is really just a human idea to give the world some order and stability in our minds. We can also think about such an entity as just an identity — a name — that takes on a series of different values (which are static, immutable) as time progresses (Rich Hickey explains this really well in his talks Are we there yet? and The value of values). This is a much more natural way of modelling information in a computer, with more natural consequences. If I tell you something, I can no longer change what I told you, or make you unlearn it. Facts, e.g. who the President of the United States is, don’t change over time; they just get superseded by other facts referred to by the same name, the same identity. In the git example, a ref (branch or tag) can point to (hold an ID and thus a value of) a different commit at different times, and making a commit replaces the value it currently holds. The Slack channel would also represent an identity whose values over time are growing lists of messages.

The real trouble is, we’re not alone in the channel. Multiple people try to post messages and change the channel, sometimes simultaneously, and someone needs to decide what the result should be.

In centralized systems, such as pretty much all current web apps, there is a single central entity deciding this “update race” and serializing the events. Whichever event reaches it first wins. In a distributed system, however, everyone is an equal, so there needs to be a mechanism that ensures the network reaches a consensus about the “history of the world.”

Consensus is the most difficult problem to solve for a truly distributed web supporting the whole range of applications we are using to today. It doesn’t only affect concurrent updates, but also any other updates that need to happen “in-place” — updates where the “one source of truth” is changing over time. This issue is particularly difficult for databases, but it also affects other key services, like the DNS. Registering a human name for a particular block ID or series of IDs in a decentralized way means everyone involved needs to agree about a name existing and having a particular meaning, otherwise two different users could see two different files under the same name. Content-based addressing solves this for machines (remember a name can only ever point to one particular piece of matching content), but not humans.

A few major strategies exist for dealing with distributed consensus. One of them involves selecting a relatively small “quorum” of managers with a mechanism for electing a “leader” who decides the truth (if you’re interested, look at the Paxos and Raft protocols). All changes then go through the manager. This is essentially a centralized system that can tolerate a loss of the central deciding entity or an interruption (a “partition”) in the network.

Another approach is a proof-of-work based system like Bitcoin blockchain, where consensus is ensured by making peers solve a puzzle in order to write an update (i.e. add a valid block to a Merkle chain). The puzzle is hard to solve but easy to check, and some additional rules exist to resolve a conflict if it still happens. Several other distributed blockchains use a proof-of-stake based consensus while reducing the energy demands required to solve a puzzle. If you’re interested, you can read about proof of stake in this whitepaper by BitFury.

Yet another approach for specific problems revolves around CRDTs — conflict-free replicated data types, which, for specific cases, don’t suffer from the consensus problem at all. The simplest example is an incrementing counter. If all the updates are just “add one,” as long as we can make sure each update is applied just once, the order doesn’t matter and the result will be the same.

There doesn’t seem to be a clear answer to this problem just yet and there may never be only one, but a whole lot of clever people are working on it, and there are already a lot of interesting solutions out there to pick from. You just need to select the particular trade-off you can afford. The trade-off generally lies in the scale of a swarm you’re aiming for and picking a property of the consensus you’re willing to let go of at least a little — availability or consistency (or, technically, network partitioning, but that seems difficult to avoid in a highly distributed system like the ones we’re talking about). Most applications seem to be able to favor availability over immediate consistency — as long as the state ends up being consistent in reasonable time.

Privacy in the web of public files

One obvious problem that needs addressing is privacy. How do we store content in the distributed swarm of peers without making everything public? If it’s enough to hide things, content addressed storage is a good choice, since in order to find something, you need to know the hash of its content (somewhat like private Gists on Github). So essentially we have three levels of privacy: public, hidden, and private. The answer to the third one, it seems, is in cryptography — strongly encrypting the stored content and sharing the key “out of band” (e.g. physically on paper, by touching two NFC devices, by scanning a QR code, etc.).

Relying on cryptography may sound risky at first (after all, hackers find vulnerabilities all the time), but it’s actually not that much worse than what we do today. In fact, it’s most likely better in practice. Companies and governments generally store sensitive data in ways that aren’t shareable with the public (including the individuals the data is about). Instead, it’s accessible only to an undisclosed number of people employed by the organizations holding the data and is protected, at best, by cryptography based methods anyway. More often than not, if you can gain access to the systems storing this data, you can have all of it.

But if we move instead to storing private data in a way that’s essentially public, we are forced to protect it (with strong encryption) so that it is no good to anyone who gains access to it. This idea is roughly the same as the one behind making security-related software open source so that anyone can look at it and find problems. Knowing how the security works shouldn’t help you break it.

An interesting property of this kind of access control is that once you’ve granted someone access to some data, they will have it forever for that particular revision of the data. You can always change the encryption key for future revisions, of course. This is also no worse than what we have today, even though it may not be obvious: Given access to some data, anyone can always make a private copy of it.

The interesting challenge in this area is coming up with a good system of establishing and verifying identities and sharing private data among a group of people that needs to change over time, e.g. a group of collaborators on a private git repository. It can definitely be done with some combination of private-key cryptography and rotating keys, but making the user experience smooth is likely going to be a challenge.

From the cloud to a … fog

Hard problems to solve notwithstanding, our migration away from the cloud will be quite an exciting future. First, on the technical front, we should get a fair number of improvements out of a peer-to-peer web. Content-addressable storage provides cryptographic verification of content itself without a trusted authority, hosted content is permanent (for as long as any humans are interested in it), and we should see fairly significant speed improvements, even at the edges in the developing world (or even on another planet!), far away from data centers.

At some point even data centers may become a thing of the past. Consumer devices are getting so powerful and ubiquitous that computing power and storage (a computing “substrate”) is almost literally lying in the streets.

For businesses running web applications, this change should translate to significant cost savings and far fewer headaches building reliable digital products. Businesses will also be able to focus less on downtime risk mitigation and more on adding customer value, benefitting everyone. We are still going to be a need for cloud hosted servers, but they will only be one of many similar peers. We could also see heterogeneous applications, where not all the peers are the same — where there are consumer-facing peers and back office peers as part of the same application “swarm” and the difference in access is only in access level based on cryptography.

The other large benefit for both organizations and customers is in the treatment of customer data. When there’s no longer any need to centrally store huge amounts of customer information, there’s less risk of losing such data in bulk. Leaders in the software engineering community (like Joe Armstrong, creator of Erlang, whose talk from Strange Loop 2014 is worth a watch) have long argued that the design of the internet where customers send data to programs owned by businesses is backwards and that we should instead send programs to customers to execute on their privately held data that is never directly shared. Such a model seems much safer and doesn’t in any way prevent businesses from collecting useful customer metrics they need.

And nothing prevents a hybrid approach with some services being opaque and holding on to private data.

This type of application architecture seems a much more natural way to do large scale computing and software services — an Internet closer to the original idea of open information exchange, where anyone can easily publish content for everyone else and control over what can be published and accessed is exercised by consensus of the network’s users, not by private entities owning servers.

This, to me, is hugely exciting. And it’s why I’d like to get a small team together and, within a few weeks, build a small, simple proof of concept mobile application, using some of the technologies mentioned above, to show what can be done with the peer-to-peer web. The only current idea I have that is small enough to build relatively quickly and interesting enough to demonstrate the properties of such approach is a peer-to-peer, truly serverless Twitter clone, which isn’t particularly exciting.

If you’ve got a better idea (which isn’t too hard!), or if you have anything else related to peer-to-peer distributed web to talk about, please tweet at me; I’d love to hear about it!

Viktor Charypar is a Tech Lead at UK-based digital consultancy Red Badger.

via VentureBeat http://ift.tt/2y3loKF

How to Create Graphic Organizers for Seesaw – Igniting Learners into Leaders

This is an interesting article that describes in some detail how Seesaw Activities can be a holding area for useful graphic organizers for learning & learners.

These ideas have been developed by Melissa Burnell who is in her 13th year of trying to brighten the futures of her amazing learners! She’s taught in the USA for five years before moving to Dubai, then China, and now she calls South Korea home. She approaches learning with inquiry and a growth mindset.

What is impressive is the ease with which these organizers are created and deployed to her students. These organizers could also be co-created based on criteria or intents developed in class. Or they could have differentiated easily enough within the Seesaw environment simply selecting a subset of students to deploy the activity too.

 

 

70522f2d-e3d5-4ffc-b1d9-f1c393be0275-1497632617967 (1)

Disclaimer: If you want to read about the WHY behind designing custom graphic organizers in my class, keep reading.  I like to talk, so if you want to go straight to the instructions, scroll down!

This is the first year that I have had the opportunity to guide my learners through Project Time, sometimes know as Genius Hour or Passion Project.  If you are not familiar with this, Project Time is one period a week in which learners have the freedom to learn about something that speaks to them, or interests them, and probably wouldn’t appear in the usual units taught in the classroom.  Maybe a students wants to know more about composing music, or harp seals, or making slime.  As long as learners have a purpose in mind and are working towards their goals, it’s doable!  Pretty cool if you ask me.

I was eager to jump on the Project Time bandwagon at the start of the year and was happy to have some help getting started with organization thanks to Kath Murdoch’s The Power of Inquiry (a must read for any inquiry teacher!).  She includes several great tools in her book to get learners on the right track to be purposeful in their personal inquiries.

As Project Time got underway in my classroom, I found myself running to the photocopier more than I wanted.  Two students wanted to change their project topics–go copy.  Another student can’t find her daily planning sheet–go copy.  And each week daily planning sheets needed to be handed out again.  Plus, with learners working at their own pace, new project proposal sheets needed to be made at different times.  I knew there had to be a better way to avoid this headache.

My first attempt at going digital was to ask my class to hop onto Seesaw and add a quick post at the end of each Project Time period to let me know what they accomplished and what their next steps were.  Not bad, but this only cut down my paperwork a little bit.  I needed to do something more.

When I became a Seesaw Ambassador this year, I remembered coming across a slideshow containing different graphic organizers that could be used for Seesaw.  Aha!  I could create my own and go completely digital!

I used Kath Murdoch’s graphic organizers from her book and recreated them with small changes to the spaces for student input.  Here are the final products:

Project Time- Seesaw OrganizersProject Time- Seesaw Organizers (1)

I wanted to make sure it worked the way I hoped it would, so using Seesaw’s file upload option and the abilities to add text and draw, I was able to do this:

Screen Shot 2017-10-24 at 7.20.14 PM

BINGO!  Now I have a solution to paper waste and wasted time!  The beauty is that you can custom make ANY kind of graphic organizer you want for you learners.

Here’s how:

1.)  Use Google Slides, PowerPoint, or Keynote to make your custom graphic organizer template.  For mine, I used Google Slides and added lines, shapes, images, and text boxes to create the desired look.  I started with a blank layout, changed the background color, and built up from there.

Screen Shot 2017-10-25 at 8.25.11 PM

2.)  Once your graphic organizer is made, save it as a JPEG image.

Screen Shot 2017-10-25 at 8.26.52 PM

3.)  Now open Seesaw.  In Seesaw, choose the green add button to add a new item and choose the option to Share Activity.

Screen Shot 2017-10-25 at 8.35.45 PM.png

4.)  Choose Create New to create a custom activity for your class/group of students/individuals.

Screen Shot 2017-10-25 at 8.38.10 PM.png

5.)  Fill in the information for the new activity.  Choose “Add template for students to edit.”

Screen Shot 2017-10-25 at 8.42.12 PM.png

6.)  Choose the option to Add File.  This is where you will upload your custom graphic organizer.  Choose your file from your device.

Screen Shot 2017-10-25 at 8.44.14 PM.png

7.)  After you have selected the file, click the green check button.

Screen Shot 2017-10-25 at 8.47.58 PM.png

8.)  On the next screen, you can either choose the green check button, or if you want to add further information, choose one of the options at the bottom of the screen.

Screen Shot 2017-10-25 at 8.56.11 PM

9.)  Next, either choose to Preview the activity or Save as Draft.

Screen Shot 2017-10-25 at 8.56.24 PM

10.)  Finally, choose the green Share button at the bottom of the screen.

Screen Shot 2017-10-25 at 8.56.37 PM

11.)  When your learners open the activity in Seesaw, they will have the option to add text anywhere on the graphic organizer and draw/write their responses.  It’s that easy!

If you want to use a common graphic organizer, you can search online for an image of one, save to your device, and use the same steps as above without the hassle of designing your own.  If you have a resource book with graphic organizers, you can take a photo of the desired organizer, upload to your device, and again follow the steps above.

I hope this helps you as much as it helped me!

via Igniting Learners into Leaders http://ift.tt/2z5ILGP