I've been tweaking the video review system which we're using here at debconf over the past few days so that videos are being published automatically after review has finished; and I can happily announce that as of a short while ago, the first two files are now visible on the meetings archive. Yes, my own talk is part of that. No, that's not a coincidence. However, the other talks should not take too long
Future plans include the addition of a video RSS feed, and showing the videos on the debconf16 website. Stay tuned.
Last week the Couchbase team released the new 4.5 version of Couchbase Server.
You can see all the new introduced features here:
- Exposing reverse entity reference fields in Drupal
- Drupal Session Handler: everything you need to know
- Couchbase 4.5 released: now x6 faster than MongoDB
- Making namespaced callbacks work in Drupal 7 (without hacking core and with bound parameters)
- Drupal 8 Couchbase Integration
- Distinct options in a views exposed filter: The Views Selective Filters Module
- Twig PHP extension binaries for Windows
- Benchmarking Drupal 7 on PHP 7-dev
- Drupal 8 Wincache Integration
- Build GIT on Windows from Sources
With more than 10 million users, the Scratch online community is the largest online community where kids learn to program. Since it was created, a central goal of the community has been to promote “remixing” — the reworking and recombination of existing creative artifacts. As the video above shows, remixing programming projects in the current web-based version of Scratch is as easy is as clicking on the “see inside” button in a project web-page, and then clicking on the “remix” button in the web-based code editor. Today, close to 30% of projects on Scratch are remixes.
Remixing plays such a central role in Scratch because its designers believed that remixing can play an important role in learning. After all, Scratch was designed first and foremost as a learning community with its roots in the Constructionist framework developed at MIT by Seymour Papert and his colleagues. The design of the Scratch online community was inspired by Papert’s vision of a learning community similar to Brazilian Samba schools (Henry Jenkins writes about his experience of Samba schools in the context of Papert’s vision here), and a comment Marvin Minsky made in 1984:
Adults worry a lot these days. Especially, they worry about how to make other people learn more about computers. They want to make us all “computer-literate.” Literacy means both reading and writing, but most books and courses about computers only tell you about writing programs. Worse, they only tell about commands and instructions and programming-language grammar rules. They hardly ever give examples. But real languages are more than words and grammar rules. There’s also literature – what people use the language for. No one ever learns a language from being told its grammar rules. We always start with stories about things that interest us.
In a new paper — titled “Remixing as a pathway to Computational Thinking” — that was recently published at the ACM Conference on Computer Supported Collaborative Work and Social Computing (CSCW) conference, we used a series of quantitative measures of online behavior to try to uncover evidence that might support the theory that remixing in Scratch is positively associated with learning.
Of course, because Scratch is an informal environment with no set path for users, no lesson plan, and no quizzes, measuring learning is an open problem. In our study, we built on two different approaches to measure learning in Scratch. The first approach considers the number of distinct types of programming blocks available in Scratch that a user has used over her lifetime in Scratch (there are 120 in total) — something that can be thought of as a block repertoire or vocabulary. This measure has been used to model informal learning in Scratch in an earlier study. Using this approach, we hypothesized that users who remix more will have a faster rate of growth for their code vocabulary.
Controlling for a number of factors (e.g. age of user, the general level of activity) we found evidence of a small, but positive relationship between the number of remixes a user has shared and her block vocabulary as measured by the unique blocks she used in her non-remix projects. Intriguingly, we also found a strong association between the number of downloads by a user and her vocabulary growth. One interpretation is that this learning might also be associated with less active forms of appropriation, like the process of reading source code described by Minksy.
The second approach we used considered specific concepts in programming, such as loops, or event-handling. To measure this, we utilized a mapping of Scratch blocks to key programming concepts found in this paper by Karen Brennan and Mitchel Resnick. For example, in the image below are all the Scratch blocks mapped to the concept of “loop”.
We looked at six concepts in total (conditionals, data, events, loops, operators, and parallelism). In each case, we hypothesized that if someone has had never used a given concept before, they would be more likely to use that concept after encountering it while remixing an existing project.
Using this second approach, we found that users who had never used a concept were more likely to do so if they had been exposed to the concept through remixing. Although some concepts were more widely used than others, we found a positive relationship between concept use and exposure through remixing for each of the six concepts. We found that this relationship was true even if we ignored obvious examples of cutting and pasting of blocks of code. In all of these models, we found what we believe is evidence of learning through remixing.
Of course, there are many limitations in this work. What we found are all positive correlations — we do not know if these relationships are causal. Moreover, our measures do not really tell us whether someone has “understood” the usage of a given block or programming concept.However, even with these limitations, we are excited by the results of our work, and we plan to build on what we have. Our next steps include developing and utilizing better measures of learning, as well as looking at other methods of appropriation like viewing the source code of a project.
This blog post and the paper it describes are collaborative work with Sayamindu Dasgupta, Andrés Monroy-Hernández, and William Hale. The paper is released as open access so anyone can read the entire paper here. This blog post was also posted on Sayamindu Dasgupta’s blog and on Medium by the MIT Media Lab.
Entities were introduced from Drupal 7. I would say in Drupal 8 , entities are essential part takers like node, users, files, images and comments, etc.. Still sometimes you need to create custom entities according to your requirements. From the experience of working with some of the top level Media companies in the world, sometimes we need to create custom entity types. Example like recently we got the requirement to create the entity for string the analytic data of the Articles. Why we need to create the custom entity instead of using nodes or exiting entities, because the client doesn’t want to show the data in content administration page (‘admin/content’). Still it should be able…
check-all-the-things (aka cats, Meow!) is a tool that aims to make it easy to know which tools can be used to check a directory tree and to make it easy to run those tools on the directory tree. The tree could either be a source tree or a build tree or both. It aims to check as much of the tree as possible so the output can be very verbose and have many false positives. It is not for the busy, lazy or noise intolerant. It runs the checks by matching file names and MIME types against those registered for a list of checks. Each check has a set of dependencies, flags, filename wildcards, MIME type wildcards, comments and prerequisite commands. By default it:
- doesn't check file MIME types as this is slower
- shows which command is currently running
- limits check output to 10 lines
- hides checks that output nothing
- kills checks when interrupted with Ctrl+C
- exits when interrupted twice in quick succession
- outputs various remarks at the end
It runs all checks for the current distro/release except:
- dangerous ones that execute code in the current dir
- ones that modify files in the current dir
- ones that access the network (if there is no default route)
- ones that need work to be usable
- ones that need a human to run them
There are command-line options to customise the behaviour and automatic bash shell completion via argcomplete. There are 177 checks (including TODO ones) in 73 different categories. There are an additional 224 not-well-specified TODO items for new checks in comments. It is exceptionally easy to add new checks once one knows how to use the tool one wants to add.
At this point in time it is probably not a good idea to run it in an untrusted directory tree for several reasons:
- there could be unknown vulnerabilities in the tools used
- there could be unknown interactions with interpreters (known ones worked around)
- there could be some commands doing unknown code execution
- there could be other weirdness in some layers
- there is no automatic sandboxing at all yet
The project initially started as really hacky wiki page full of commands to run. At some point I figured it was time to make this actually be maintainable and started on a project to do that. At around the same time Jakub Wilk was working on maquack to replace the wiki page. Somehow I found out about it and talked to him about it. It was vastly less hacky than my version so I ended up taking it over and continuing it under the check-all-the-things name. I polished it for the last two years and finally released it into Debian unstable during DebCamp16.
I had my strong doubts as to whether the shipment would be allowed through customs, and was happily surprised by a smiling Graham today before noon. He handed me a smallish box that arrived to his office, containing...
Our fifty C.H.I.P. computers, those I offered to give away at DebConf!
The little machines are quite neat. They are beautiful little devices, including even a plastic back (so you can safely work with it over a conductive surface or things like that). Quite smaller than the usual Raspberry-like format. It has more than enough GPIO to make several of my friends around here drool about the possibilities.
So, what's to this machine besides a nice small ARM CPU, 512MB RAM, wireless connectivity (Wifi and bluetooth)? Although I have not yet looked into them (but intend to do so very soon!), it promises to have the freest available hardware around, and is meant for high hackability!
And not that it matters — But we managed to import them all, legally and completely hassle-free, into South Africa!
That's right — We are all used to the declaring commercial value as one dollar mindset. But... The C.H.I.P.s are actually priced at US$9 a piece. The declared commercial value is US$450. South Africans said all their customs are very hard to clear — But we were able receive 50 legally shipped computers, declared at their commercial value, without any hassles!
(yes, we might have been extremely lucky as well)
Anyway, stay tuned — By Thursday I will announce the list of people that get to take one home. I still have some left, so feel free to mail me at firstname.lastname@example.org.
DrupalCamp Bristol is back for a second year, with a variety of talks covering hot topics in the Drupal (and wider digital) area. This year we will be hosting the event over 3 days with a Business Day, Conference Day and Sunday Sprints which is open to all.Business Day (Friday 22nd July)
The event is aimed at business leaders and decision makers who are already familiar with Drupal, however client-side digital managers who are either responsible for a Drupal website or are considering using Drupal as a CMS of choice in the future will certainly find the day useful.
The event will be held within Colston Hall's prestigious Lantern room, and will feature lunch and refreshments throughout, along with a social event later in the evening at Colston Yard. Thank you to our kind sponsors for providing the bar tab!
This year we welcome the following talks:
- New and improved … and amazing! Selling tech as business value, not shiny widgets. - Jeffrey A. "jam" McGuire (Open Source Evangelist, Acquia)
- Elementary, my dear Watson (the movie guide to accessibility) - Léonie Watson (Senior Accessibility Engineer, The Paciello Group)
- We hold these Online truths to be self-evident - Andrew Godleman (Transport for London Online)
- Story mapping and sketching: humanising the requirements process - Mike Dunn, Will Scott (UX Consultants, Sift Digital)
- Personalisation: The Holy Grail - Ben Wilding (MD, Cameron & Wilding)
- Client Panel: a Q+A session with digital managers and product owners managing Drupal websites
The event is primarily aimed at agency teams who use Drupal regularly, such as developers, PMs/AMs, and other agency team roles, and will consist of both high level talks and in-depth technical talks to suit all. This year we are welcoming a larger number of speakers over 3 individual tracks.
The event will again be held at the University of Bristol's School of Chemistry, and will feature lunch and refreshments throughout, along with a social event later in the evening at Zero Degrees. We are still looking for a Saturday Social Sponsor - please get in touch if you are interested.
We are also pleased to announce a Quiz this year as a change to the closing session. Prizes will be given to the best teams!
If you are interested in staying for the weekend and would like to get involved with Drupal community contribution, then please feel free to attend the Sunday sprints. Torchbox have kindly provided their offices from 10am to 4pm and refreshments will be provided. Tickets are free, although we ask you to sign-up via Eventbrite to register your interest.
Looking forward to seeing everybody there,
The DrupalCamp Bristol Committee.
Written by: Rick Donohoe, Account Manager
Microserve is a Drupal Agency based in Bristol, UK. We specialise in Drupal Development, Drupal Site Audits and Health Checks, and Drupal Support and Maintenance. Contact us for for further information.