Feed aggregator
Neil Williams: pybit 1.0.0 - distributed, scalable builds direct from VCS or archives
Support is included in 1.0.0 for building Debian packages using sbuild in response to subversion commits or changes in debian-devel-changes@lists.debian.org (by using apt as a version control handler) for any architecture and build environment which sbuild can support. There is also an example git commit template. Pybit has been designed to be fully extensible, so support for RPM or other package formats can be added as well as other version control handlers, other build environments and other architectures. Pybit is also scalable, when one type of client is struggling with the workload, another machine of the same architecture can be added to the pool to share the load. Pybit can also build a package for any number of architectures and build environments at the same time. The Pybit web interface provides an at-a-glance summary of all current builds as well as options to blacklist certain combinations, cancel and retry specific jobs and add monitor each pybit client. Current use cases include:
- Rapidly changing VCS - one or more subversion repositories with lots of Debian packages, built automatically for any number of build environments and architectures every time the debian/changelog is modified. Clean chroot builds provide continuous integration testing of the every package.
- Rebuilding the archive with different compilers or flags - a dedicated email account subscribed to debian-devel-changes@lists.debian.org feeding messages through procmail to the changes-debian hook, passing build requests to the apt handler to rebuild each package in your own sbuild chroots, using whatever environments, suites and build options can be configured within those chroots.
- something else we haven't thought of yet ... there is scope for a lot more hooks, package formats, chroot tools and handler plugins.
Pybit 1.0.0 has arrived in Debian unstable as a direct result of the efforts put in by the pybit team during a sprint on 18th May 2013. Thanks to everyone involved in Pybit.
https://freecode.com/projects/pybit
http://nicholasdavidson.github.io/pybit/
https://github.com/nicholasdavidson/pybit
Drupal Easy: DrupalEasy Content Migration Training at DrupalCamp Austin
We're super-excited to announce that we've been invited to present a half-day workshop during DrupalCamp Austin. The Camp takes place the weekend of June 21-23, 2013 and we'll be presenting "Getting Stuff into Drupal - Basics of Content Migration" from 1:30pm until 5:30pm on Saturday the 22nd. The workshop will cost $75 and we'll be covering the basics of three of the most common ways of importing content into Drupal: the Feeds, Migrate, and the Drupal-to-Drupal data migration (based on Migrate) modules. Interested? Check out all the details and then register today.
-->KnackForge: Using Drush to administer multisite
One of the admiring features about Drupal is its ability to leverage single code base to power a stack of sites. Drush the excellent command line utility eases the work of administering Drupal sites.
Our recent work raised a question, will these two blend & work together?
Of course we tried this, the answer is yes but to be used with more caution!!
Google Plus One Linkedin Share Button Tweet Widget Facebook LikeFrancois Marier: Three wrappers to run commands without impacting the rest of the system
Most UNIX users have heard of the nice utility used to run a command with a lower priority to make sure that it only runs when nothing more important is trying to get a hold of the CPU:
nice long_running_script.shThat's only dealing with part of the problem though because the CPU is not all there is. A low priority command could still be interfering with other tasks by stealing valuable I/O cycles (e.g. accessing the hard drive).
Prioritizing I/OAnother Linux command, ionice, allows users to set the I/O priority to be lower than all other processes.
Here's how to make sure that a script doesn't get to do any I/O unless the resource it wants to use is idle:
sudo ionice -c3 hammer_disk.shThe above only works as root, but the following is a pretty good approximation that works for non-root users as well:
ionice -n7 hammer_disk.shYou may think that running a command with both nice and ionice would have absolutely no impact on other tasks running on the same machine, but there is one more aspect to consider, at least on machines with limited memory: the disk cache.
Polluting the disk cacheIf you run a command (for example a program that goes through the entire file system checking various things, you will find that the kernel will start pulling more files into its cache and expunge cache entries used by other processes. This can have a very significant impact on a system as useful portions of memory are swapped out.
For example, on my laptop, the nightly debsums, rkhunter and tiger cron jobs essentially clear my disk cache of useful entries and force the system to slowly page everything back into memory as I unlock my screen saver in the morning.
Thankfully, there is now a solution for this in Debian: the nocache package.
This is what my long-running cron jobs now look like:
nocache ionice -c3 nice long_running.sh Turning off disk syncsAnother relatively unknown tool, which I would certainly not recommend for all cron jobs but is nevertheless related to I/O, is eatmydata.
If you wrap it around a command, it will run without bothering to periodically make sure that it flushes any changes to disk. This can speed things up significantly but it should obviously not be used for anything that has important side effects or that cannot be re-run in case of failure.
After all, its name is very appropriate. It will eat your data!
Ken Rickard: DrupalCON Portland
On Monday, I will fly out for DrupalCON Portland. This will be my 14th (!) DrupalCON, dating back to 2006.
There was some question whether I would attend. For the record, Morten was wrong: I will be there.
For more information about why the questions, feel free to read the eulogy I just wrote for my father.
I will mostly be spending my time at the Palantir booth, and I am looking forward to spending time with some dear friends and colleagues. I am perhaps most looking forward to the benefit event for Aaron Winborn on Monday evening.
For more information about Palantir activities, see our blog post about our events and sessions.
See everyone soon.
Paul Tagliamonte: Hy: recent developments and some work from doctormo
Thanks to DoctorMo for the hilarious photo. It’s just so good.
We’ve got Classes working, the usual fixes from the ‘crew, and native macros. Huzzah!
I’ve had to take the site down for now (well, stop updating it) because of a vulnerability I introduced (macros allow arbitrary code to run), which means, if anyone’s keen, they should add the sandboxing code to the Hy Site as well!
More coming soon!
Richard Hartmann: Release Critical Bug report for Week 20
If I did everything right, this post will not appear on any RSS feed yet still make it to my blog to maintain history.
The UDD bugs interface currently knows about the following release critical bugs:
- In Total:
1088
- Affecting Jessie:
214 That's the number we need to get down to zero
before the release. They can be split in two big categories:
- Affecting Jessie and unstable:
183 Those need someone to find a fix, or to finish the
work to upload a fix to unstable:
- 43 bugs are tagged 'patch'. Please help by reviewing the patches, and (if you are a DD) by uploading them.
- 15 bugs are marked as done, but still affect unstable. This can happen due to missing builds on some architectures, for example. Help investigate!
- 125 bugs are neither tagged patch, nor marked done. Help make a first step towards resolution!
- Affecting Jessie only: 31 Those are already fixed in unstable, but the fix still needs to migrate to Jessie. You can help by submitting unblock requests for fixed packages, by investigating why packages do not migrate, or by reviewing submitted unblock requests.
- Affecting Jessie and unstable:
183 Those need someone to find a fix, or to finish the
work to upload a fix to unstable:
- Affecting Jessie:
214 That's the number we need to get down to zero
before the release. They can be split in two big categories:
How do we compare to the Squeeze release cycle?
Week Squeeze Wheezy Diff 43 284 (213+71) 468 (332+136) +184 (+119/+65) 44 261 (201+60) 408 (265+143) +147 (+64/+83) 45 261 (205+56) 425 (291+134) +164 (+86/+78) 46 271 (200+71) 401 (258+143) +130 (+58/+72) 47 283 (209+74) 366 (221+145) +83 (+12/+71) 48 256 (177+79) 378 (230+148) +122 (+53/+69) 49 256 (180+76) 360 (216+155) +104 (+36/+79) 50 204 (148+56) 339 (195+144) +135 (+47/+90) 51 178 (124+54) 323 (190+133) +145 (+66/+79) 52 115 (78+37) 289 (190+99) +174 (+112/+62) 1 93 (60+33) 287 (171+116) +194 (+111/+83) 2 82 (46+36) 271 (162+109) +189 (+116/+73) 3 25 (15+10) 249 (165+84) +224 (+150/+74) 4 14 (8+6) 244 (176+68) +230 (+168/+62) 5 2 (0+2) 224 (132+92) +222 (+132/+90) 6 release! 212 (129+83) +212 (+129/+83) 7 release+1 194 (128+66) +194 (+128/+66) 8 release+2 206 (144+62) +206 (+144/+62) 9 release+3 174 (105+69) +174 (+105/+69) 10 release+4 120 (72+48) +120 (+72/+48) 11 release+5 115 (74+41) +115 (+74/+41) 12 release+6 93 (47+46) +93 (+47/+46) 13 release+7 50 (24+26) +50 (+24/+26) 14 release+8 51 (32+19) +51 (+32/+19) 15 release+9 39 (32+7) +39 (+32/+7) 16 release+10 20 (12+8) +20 (+12/+8) 17 release+11 24 (19+5) +24 (+19/+5) 18 release+12 2 (2+0) +2 (+2/+0)Graphical overview of bug stats thanks to azhag:
Rootwork.org: Drupalcon Portland: Responsive web design in a snap with Breakpoint and Sass
Media queries are a key part of responsive web design, because they control at what width (among other things) different CSS rules kick in.
"Breakpoint makes writing media queries in Sass super simple," say Mason Wendell and Sam Richard, creators of the extension to Compass, and they're right. It's not surprising that we'd want them to present at Drupalcon, since design in Drupal, like web design everywhere, has been embracing responsive web design as a fundamental principle. (Side note: This website is in the midst of a responsive web design overhaul. Cobbler's children and all that.)
I spoke to Mason and Sam about how Breakpoint makes responsive web design even easier. Don't miss their Drupalcon Portland frontend session, “Managing Responsive Web Design with Sass and Breakpoint,” on Thursday at 10:45 AM.
IB: What motivated you to create Breakpoint? How has it changed your own workflow?
MW: Before Sass 3.2 came out I had written an article for The Sass Way that previewed some of it's new features, including the ability to use variables in media queries. I created an example that baked in some names for breakpoints into a kind of "master mixin" for media queries. On my next responsive project I put the theories I'd written for that post into practice, and found that I could refine that approach. If I assigned a variable to each media query first the approach would be very flexible. Then when noticed that I wrote min-width queries way more often than any other type I set up defaults that made creating media queries very fast.
MW: There was a side effect that I think is more useful though. By assigning names to each of my media queries I'm able to keep them in context in a much more effective way. If I some media queries to deal with the width of a nav element, and then later I add an item to that nav, I can change the value of that variable and all the associated queries are adjusted. This is even more effective when handing code back and forth within a team.
SR: Breakpoint was created with the motivation to ease many of the pain points of working with media queries in CSS. The biggest pain point that Breakpoint solves is providing meaningful semantics to your media queries. When building content based responsive sites, early in your design process two unrelated items may happen to break at the same points, but as your project grows, those points may change and a simple find and replace will have unintended consequences. This is probably the biggest workflow win to using Breakpoint, all of your media queries now have proper semantics.
SR: The other big win for my workflow is Breakpoint's no-query fallback, allowing me to very easily add in fallback code for any of the media queries I write.
IB: What can Breakpoint do that just assigning variable names to specific min-widths can't?
SR: For starters, Breakpoint handles much more than min-width queries. It is designed to be future friendly and currently supports all CSS level 3 and level 4 media queries. Additionally, it's syntax is easy to use to create complex media queries, including both and and or media queries. It has native handling for all of the different media query requirement for resolution (of which you need to write at least four different queries for currently) while just writing the standard. The no-query fallbacks are a huge win as well.
MW: The main benefit is that you can assign names and manage your media queries with variables. This helps you avoid having them scattered around your SCSS, and makes is easy to understand how they're related and affect each other.
MW: While Breakpoint is optimized for min-width because they're used most often it doesn't stop there. There are a number of shortcuts built in, for fencing min- and max- values, converting pixels to ems, and even vendor prefixed queries like resolution.
MW: We even created a way to Breakpoint to report back to you what queries are in a particular context. Singularity GS uses this feature to kind of magically create responsive grid systems.
SR: Of all of Breakpoint's features, probably the least used, but most powerful is Breakpoint Context. This allows you to call a function anywhere and get the current media query context allowing for amazingly intelligent mixins and functions to be written in Sass, something unique to Breakpoint that you simply don't have with interpolating variables.
IB: Are there any responsive web design aspects specific to Drupal theming/frontend development that Breakpoint helps with?
SR: There is nothing Drupal specific that Breakpoint helps with. Breakpoint, like Sass, was built to be backend independent. This means that if you are building any site, regardless of if it's a Drupal site or a Node site or a static site, Breakpoint is able to do its job handily without being caught up in being tied to a specific backend technology.
MW: One of the things I love about working with Sass is that it's not Drupal-specific, and it's meant to be used anywhere on the web. Breakpoint follows that example.
IB: Is Breakpoint a successor to Respond-To, or will that continue to get developed?
SR: In a way, yes and no. Respond-To was written before Breakpoint, but upon Breakpoint's release, it was decided that our efforts should be focused on a unified Media Query engine, with Respond-To as a wrapper syntax for Breakpoint. This is how the current Respond-To project exists. As of Breakpoint 2.0, the Respond-To mixin has been incorporated into Breakpoint core, so you now can use Respond-To without needing an additional Compass extension!
IB: Do you use Breakpoints module (in Drupal 8 core)? Or do you just do all of that through Sass?
SR: I personally truly dislike the Breakpoint module. Every use case I've heard for it seems to be based on the thinking that sites have three or four breakpoints and that everything can be boiled down into an easy to use admin interface. There are no standard breakpoints, period, and good, reasonably complex responsive sites will usually have 20 or more breakpoints. Responsive cannot be done from the backend, and the Breakpoint module encourages you to do so (as does the Spark layout initiative).
IB: Do you think any aspects of Breakpoint might get rolled directly into Sass in the future?
MW: It's possible, but we probably won't move the obvious parts to the Sass language. There are some helper functions that we've written in Ruby that would be very useful in Sass core. Once that's in we'll be able to offer Breakpoint without Compass.
SR: I do not believe Breakpoint will be rolled directly into Sass, nor would I want it to be, as it is out of scope of Sass core. As much as I like them, I even think the color functions in Sass are out of scope for it. Sass core should simply be the language and the bare minimum function base for it to be useable. Sass doesn't ship with any mixins, and I think it should probably stay that way. That being said, Breakpoint is fairly stable; our 1.3 release stood stable for six or so months without needing any changes until we rewrote the whole thing for our 2.x release, so maybe being merged into Compass isn't out of the question, but I do not see a need for that.
IB: I hear in addition to Breakpoint, Sam went and created some kind of magic box of Sass called Toolkit. Want to say more about that?
SR: Toolkit started life as RWD Kickstart, a project Mason and I kind of made up on the spot a year ago at one of the first New York Sass meetups. Its original goal was simply to be a collection of Compass templates to make pulling in media query and grid solutions together easily. Since then, it's evolved to be more of a collection of Progressive Enhancement, Design in Browser, and Modern Web Development tools, a toolkit if you'll let me, of useful tools. I'd say the four biggest thing that Toolkit has are a modern Clearfix mixin, progressive enhancement replace text mixins, a triangle generation mixin, and an intrinsic ratio mixin to make using intrinsic ratios super easy. It also adds *, *:before, *:after { box-sizing: border-box} and img, video { max-width: 100%; height: auto; } to your stylesheets, which are the first two things I do for any responsive project.
SR: Toolkit's templates have also evolved, Where originally there were five some odd different templates to choose from, now there are just two, a basic one to set up a basic partial structure, and a responsive web design one that pulls in Breakpoint 2.x for media queries and Singularity 1.x for grids.
IB: You sure know those late twentieth-century presidents.
MW: With a name like Breakpoint, how could I not revisit the cinema classic Point Break. Bodhi and his gang of thrill-seeking bank-robbing surfers evaded the FBI for years until the newly minted Special Agent Johnny Utah was on the case. I think we can all agree that there's a poignant metaphor for web designer there. And some pretty sweet gifs.
Join Rootwork on Twitter, Facebook and SlideShare.
Learn about Rootwork's services for nonprofits and social change.
DrupalCon Portland 2013: Introducing PMoFs: BOFs for Project Management
The people have spoken, and the DA has answered! There will now be an AV equipped BoF room devoted to the Art of Project Management in its many forms. We’d like to send a shout out to the DA for the help in securing a space*, to our community’s project managers for your feedback and ideas and to the presenters who generously offered to join in and share their ideas!
Propeople Blog: Limiting select options for exposed filter
While I was working on a project here at Propeople, I had a requirement to limit the options for an exposed filter in order to get only options that will give some results. Unfortunately Views don’t provide this kind of functionality.
Let's start with an example. I have a Content Type called "People" which has a Term Reference select list. Generally speaking we have to alter the “views_exposed_form”.
Follow the next 3 steps:
1. Create a custom module and implement hook_form_alter(). I strongly recommend not to use a form-specific alteration like hook_form_FORM_ID_alter() instead of global hook_form_alter() because it is difficult to control and manage your code. function [my-module-name]_form_alter) {
dsm($form); //be sure to enable devel module.
}
2. Now you should get the content from the $form variable
3. Next, we have to select all the matching results based on our conditions in order to edit the options from $form['term']['#options']. Personally, I prefer to query directly with db_select, but feel free to use EntityFieldQuery if you prefer.
function [my-module-name]_form_alter(&$form, &$form_state, $form_id) {
if ($form['#id'] == 'views-exposed-form-people-list-page') {
$available_terms = _get_available_terms();
if (isset($available_terms)) {
// Unset the existing list and add new one with available terms.
unset($form['term']['#options']);
$form['term']['#options']['All'] = '- Any Term -';
foreach ($available_terms as $available_term) {
$form['term']['#options'][$available_term->tid] = $available_term->name;
}
} else {
// Unset all options except '- Any -'
unset($form['term']['#options']);
$form['term']['#options']['All'] = '- Any Term -';
}
}
}
function _get_available_terms() {
$query = db_select('taxonomy_term_data', 'terms');
$query->join('field_data_field_reference', 'term_ref', 'term_ref.field_reference_tid = terms.tid');
$term_result = $query
->fields('terms', array('tid', 'name'))
->execute()
->fetchAll();
return $term_result;
}
That's it. Follow us on Twitter, Facebook and subscribe to Propeople RSS feed to stay informed about our activity inside the Drupal community.
Language English Tags: DrupalDevelopmentTutorialsCheck this option to include this post in Planet Drupal aggregator: planetDrupalize.Me: Community Tools Curriculum (and a Dreditor Video)
On the eve of DrupalCon Portland, we're happy to be able to get another free community video out, Installing and Using Dreditor. What's more exciting though, is that this video is part of our Community Tools workshop, and in an effort to spread Drupal community involvement further than where we can show up to run this free workshop, we're putting all of our materials and notes online for everyone to use freely, with the Community Tools curriculum.
A Workshop is BornRob Bradford: GNOME in Moblin: Myzone
Howdy, i’m sure most people are aware of the recent release of Moblin 2.0; a user experience for netbooks. I’m going to write a few blog posts about how the Moblin user experience is built on the awesome technologies in the GNOME platform.
So first up, let’s look at the Myzone, we’re starting here since this is the first thing I really worked on in the Moblin UX and i’ve been able to see it through from early ideas to the 2.0 and 2.1 releases.
So, deep breath, the idea behind the Myzone is to provide a springboard to things that matter to you most: your recent files and web pages you’ve visited, your upcoming events and things you need to do, things that are happening on social web services and your favourite applications.
Now then, that’s the theory, how does it work:
- Recent files: Recent file information is pulled from the GtkRecentManager and the thumbnails are pulled from the XDG thumbnail specification directory. Metadata for the file comes courtesy of gio which I presume comes from shared-mime-info. Yay. By using the GtkRecentManager for all our recent activity metadata across the platform we’re allowing legacy GNOME applications to just work. Sweet.
- Events and tasks: These are pulled from EDS using libjana, a calendaring library primarily developed by Chris Lord (of Dates fame.) A couple of months back (well, uh, March) I enhanced libjana to support tasks and thus we are able reuse the existing Tasks/Dates apps for interacting with the calendar.
- Favourite apps: Here I let the side down. I use some quite crazy custom format for doing this which frankly stinks. I’m going to try and sit down with the GNOME shell guys to see if we can come up with some better way for dealing with user originated application metadata.
- Social networking/web service integration: This comes courtesy of Mojito and librest, two projects that I and the esteemed Ross Burton have been working on. Mojito is a project that pulls in content from a variety web services into a centralised place, abstracting some of the complexity and the makes it trivial to query. librest is a library for to keep developers happy even though they’re having to deal with web services. It does this by making requests and parsing the result simple.
Rob Bradford: GNOME in Moblin: People panel
Previously i’d talked about how we use GNOME technologies in the Moblin Myzone. Now i’m going to talk about another component that i’m responsible for, the People Panel.
An important aspect of the Moblin user experience is about communicating with others and this panel provides quick access to do this. The core of the content is provided by an abstraction, simplification and aggregation library called Anerley. This provides a “feed” of “items” (an addressbook of people) that aggregates across the system addressbook, powered by EDS, and your IM roster, powered by Telepathy. You have small set of actions you can do on these people such as start an IM conversation / email / edit them with Contacts. The core of our IM experience is supplied by the awesome Empathy. We’ve been working with the upstream maintainers to accomodate some of the needs of Moblin into the upstream source. This included the improvements to the accounts dialog and wizard that landed for GNOME 2.28.
One of the biggest problems with the IM experience in Moblin 2.0 was that it was easy to miss when somebody was talking to you. If you were looking away when the notification popped up, whoops, it’s gone. With our switch to Mission Control 5 I was able to integrate a Telepathy Observer into Anerley and the People Panel. An Observer will be informed of channels that are requested on the system. This allows us to show ongoing conversations in the panel and by exploiting channel requests and window presentation allow the user to switch between ongoing conversations. This wouldn’t have been possible without the assistance of the nice folks in #telepathy and at Collabora: Sjoerd, Will, Jonny and countless others.
Hideki Yamane: add epub support to developers reference
Petter Reinholdtsen: How to transform a Debian based system to a Debian Edu installation
Debian Edu / Skolelinux is an operating system based on Debian intended for use in schools. It contain a turn-key solution for the computer network provided to pupils in the primary schools. It provide both the central server, network boot servers and desktop environments with heaps of educational software. The project was founded almost 12 years ago, 2001-07-02. If you want to support the project, which is in need for cash to fund developer gatherings and other project related activity, please donate some money.
A topic that come up again and again on the Debian Edu mailing lists and elsewhere, is the question on how to transform a Debian or Ubuntu installation into a Debian Edu installation. It isn't very hard, and last week I wrote a script to replicate the steps done by the Debian Edu installer.
The script, debian-edu-bless in the debian-edu-config package, will go through these six steps and transform an existing Debian Wheezy or Ubuntu (untested) installation into a Debian Edu Workstation:
- Add skolelinux related APT sources.
- Create /etc/debian-edu/config with the wanted configuration.
- Install debian-edu-install to load preseeding values and pull in our configuration.
- Preseed debconf database with profile setup in /etc/debian-edu/config, and run tasksel to install packages according to the profile specified in the config above, overriding some of the Debian automation machinery.
- Run debian-edu-cfengine-D installation to configure everything that could not be done using preseeding.
- Ask for a reboot to enable all the configuration changes.
There are some steps in the Debian Edu installation that can not be replicated like this. Disk partitioning and LVM setup, for example. So this script just assume there is enough disk space to install all the needed packages.
The script was created to help a Debian Edu student working on setting up Raspberry Pi as a Debian Edu client, and using it he can take the existing Rapbian installation and transform it into a fully functioning Debian Edu Workstation (or Roaming Workstation, or whatever :).
The default setting in the script is to create a KDE Workstation. If a LXDE based Roaming workstation is wanted instead, modify the PROFILE and DESKTOP values at the top to look like this instead:
PROFILE="Roaming-Workstation" DESKTOP="lxde"The script could even become useful to set up Debian Edu servers in the cloud, by starting with a virtual Debian installation at some virtual hosting service and setting up all the services on first boot.
Daniel Pocock: Zermatt, Matterhorn and Gornergrat
The DebConf13 registration deadline for developers requesting sponsorship has been extended up to Sunday, so for those still undecided or anybody else thinking about a visit to .ch, I'm sharing some more pictures today.
The Matterhorn is one of the iconic symbols of Switzerland's natural beauty and appears on many postcards. The car-free town of Zermatt is at the bottom and is the final stop on the Matterhorn Gotthard Bahn railway, so it is really easy to get there with one or two trains every hour of the day.
One of the most exciting places to view the Matterhorn is from the nearby observatory at Gornergrat, which is 3,089m above sea level. It is great for a single day trip of hiking and there is a convenient train station there too.
The scenic train to Zermatt is included in any of the Swiss rail passes, but the train up to Gornergrat is a private railway and a special ticket must be purchased. Discounts are sometimes offered at rail stations in Swiss cities or online or it is possible to hike up and down.
AttachmentSize IMG_6082.png539.95 KB IMG_6101.png841.67 KB IMG_6047.png71.42 KB IMG_6078.png304.31 KBLullabot: The Mysterious Drupal Entity
Join Kyle Hofmeyer, Joe Shindelar, Blake Hall, and Greg Dunlap to talk about the somewhat mysterious concept of entities, which was introduced to Drupal in Drupal 7. We explain what entities are, why we have them, and what the future may hold for them in Drupal 8.
- Lullabot DrupalCon Party!
- Working with Entities in Drupal 7 video series
- Drupal 8 Entity API improvements issue
- Entity API module
- Core Entity documentation
- Contrib Entity API module documentation
- Examples project
- DrupalCon Portland Sprints
- DrupalCon Session: Status of the New Entity API and Typed Data
- DrupalCon Session: The Old and New Field API in Drupal 8
- DrupalCon Session: Rest and Serialization in Drupal 8
Blink Reaction: Launching Drupal Face to Face
We're pleased to announce Drupal Face to Face, our joint initiative with the Drupal Association to promote Drupalcon and Drupal Association membership. The purpose of the project is to capture the exuberance and authenticity of the Drupal community and invite others to join. We expect to bring Drupal Face to Face to Prague and other large or important Drupal events as an ongoing project. We hope you'll participate.
Drupal Face to Face is:
Code Karate: Drupal Commerce - Product Attributes
In this episode we continue learning about Drupal Commerce and begin learning how to set up Drupal Commerce Product Attributes.
In this episode you will learn:
- How to set up Drupal taxonomy vocabularies and taxonomy terms to use as product attributes.
- How to add Taxonomy term reference fields to Product types to create Drupal Commerce product attributes.
Russell Coker: Voltage Inside a Car
I previously wrote a post with some calculations about the power supplied to laptops from a car battery [1]. A comment on the post suggested that I might have made a mistake in testing the Voltage because leaving the door open (and thus the internal lights on) will cause a Voltage drop.
So I’ve done some more tests:
Test Voltage battery terminals 12.69 front power socket with doors closed 12.64 front power socket with doors open OR ignition switch on 12.37 cigarette lighter socket with ignition switch on 12.32 front power socket with doors closed and headlights on 11.96 front power socket with engine running 14.38 front power socket with engine running and headlights on 14.29In my previous tests I recorded 12.85V inside my car (from the front power socket which although having the same connector as a cigarette lighter isn’t designed for lighting cigarettes) and 13.02V from the battery terminals – a 0.17V difference. In my tests today I was unable to reproduce that but I think that my biggest mistake was to take the reading too quickly. Today I noticed that it took up to a minute for the Voltage to stabilise after opening a door (the Voltage dips after any current draw and takes time to recover) so a quick reading isn’t going to be accurate.
My car is a Kia Carnival which has two sockets in the front for power and for actually lighting cigarettes. The one for lighting cigarettes has a slightly lower Voltage and only works when the ignition is turned on. The car also has a power socket in the boot (the trunk for US readers) which delivers the same Voltage as the power socket in the front.
Also one thing to note is that today is a reasonably cold day (16.5C outside right now) and my car hasn’t been driven since last night so the battery would be quite cold (maybe 12C or less). My previous measurements were taken in summer so the battery would have been a lot warmer and therefore working more effectively.
ConclusionThe Voltage drop from turning on the internal lights surprised me, I had expected that a car battery which is designed to supply high current wouldn’t be affected by such things. Certainly not to give a 2% Voltage drop! The Voltage difference from reading inside the car and at the battery terminals might be partly due to the apparent lead coating on the terminals, I pushed the probes of my multimeter beneath the surface of the metal and got a really good connection.
The 14% Voltage increase when the engine was running was also a surprise. It seems to me that if you are running a power hungry device (such as a laptop) it would be a good idea to disconnect it when the engine is turned off. A 14% higher voltage will give a 14% lower current if the PSU is efficient and therefore less problems with heat in the wiring and less risk of blowing a fuse.
Also it’s a good idea to be more methodical about performing tests than I was before my last post. There are lots of other tests I could run (such as testing after the engine has been running for a while) but at the moment I don’t have enough interest in this topic to do more tests. Please leave a comment if there’s something interesting that you think I missed.
Related posts:
- Power Supplies and Wires For some time I’ve been wondering how the wire size...
- paper about ZCAV This paper by Rodney Van Meter about ZCAV (Zoned Constant...
- Perpetual Motion It seems that many blog posts related to fuel use...