Bálint Réczey: Wireshark 2.0 switched default UI to Qt in unstable

Planet Debian - Sat, 21/11/2015 - 23:54

With the latest release the Wireshark Project decided to make the Qt GUI the default interface. In line with Debian’s Policy the packages shipped by Debian also switched the default GUI to minimize the difference from upstream. The GTK+ interface which was the previous default is still available from the wireshark-gtk package.

You can read more about the new 2.0.0 release in the release notes or on the Wireshark Blog featuring some of the improvements.

Happy sniffing!

Categories: Elsewhere

Jonathan McDowell: Updating a Brother HL-3040CN firmware from Linux

Planet Debian - Sat, 21/11/2015 - 14:27

I have a Brother HL-3040CN networked colour laser printer. I bought it 5 years ago and I kinda wish I hadn’t. I’d done the appropriate research to confirm it worked with Linux, but I didn’t realise it only worked via a 32-bit binary driver. It’s the only reason I have 32 bit enabled on my house server and I really wish I’d either bought a GDI printer that had an open driver (Samsung were great for this in the past) or something that did PCL or Postscript (my parents have an Xerox Phaser that Just Works). However I don’t print much (still just on my first set of toner) and once setup the driver hasn’t needed much kicking.

A more major problem comes with firmware updates. Brother only ship update software for Windows and OS X. I have a Windows VM but the updater wants the full printer driver setup installed and that seems like overkill. I did a bit of poking around and found reference in the service manual to the ability to do an update via USB and a firmware file. Further digging led me to a page on resurrecting a Brother HL-2250DN, which discusses recovering from a failed firmware flash. It provided a way of asking the Brother site for the firmware information.

First I queried my printer details:

$ snmpwalk -v 2c -c public hl3040cn.local iso. iso. = STRING: "MODEL=\"HL-3040CN series\"" iso. = STRING: "SERIAL=\"G0JXXXXXX\"" iso. = STRING: "SPEC=\"0001\"" iso. = STRING: "FIRMID=\"MAIN\"" iso. = STRING: "FIRMVER=\"1.11\"" iso. = STRING: "FIRMID=\"PCLPS\"" iso. = STRING: "FIRMVER=\"1.02\"" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: ""

I used that to craft an update file which I sent to Brother via curl:

curl -X POST -d @hl3040cn-update.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" --sslv3

This gave me back some XML with a URL for the latest main firmware, version 1.19, filename LZ2599_N.djif. I downloaded that and took a look at it, discovering it looked like a PJL file. I figured I’d see what happened if I sent it to the printer:

cat LZ2599_N.djf | nc hl3040cn.local 9100

The LCD on the front of printer proceeded to display something like “Updating Program” and eventually the printer re-DHCPed and indicated the main firmware had gone from 1.11 to 1.19. Great! However the PCLPS firmware was still at 1.02 and I’d got the impression that 1.04 was out. I didn’t manage to figure out how to get the Brother update website to give me the 1.04 firmware, but I did manage to find a copy of LZ2600_D.djf which I was then able to send to the printer in the same way. This led to:

$ snmpwalk -v 2c -c public hl3040cn.local iso. iso. = STRING: "MODEL=\"HL-3040CN series\"" iso. = STRING: "SERIAL=\"G0JXXXXXX\"" iso. = STRING: "SPEC=\"0001\"" iso. = STRING: "FIRMID=\"MAIN\"" iso. = STRING: "FIRMVER=\"1.19\"" iso. = STRING: "FIRMID=\"PCLPS\"" iso. = STRING: "FIRMVER=\"1.04\"" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: "" iso. = STRING: ""

Cool, eh?

[Disclaimer: This worked for me. I’ve no idea if it’ll work for anyone else. Don’t come running to me if you brick your printer.]

Categories: Elsewhere

OSTraining: Inline Editing in Drupal 8 (Video tutorial)

Planet Drupal - Sat, 21/11/2015 - 02:50

Drupal 8 just launched and we're starting to release videos from the Drupal 8 Beginner class.

In this video, Rod will show you how to edit your content from the front-end. This inline editing is a really cool and useful new feature in Drupal 8. It will make life much easier for site editors.

Categories: Elsewhere

Mike Ryan: Drupal 8 migration - all the modules

Planet Drupal - Fri, 20/11/2015 - 23:53

Now that Drupal 8.0.0 is released, let's take a look at all the components of the Drupal migration ecosystem and where they stand now. To provide context to those familiar with migration under Drupal 7, I will show where the pieces came from. First, general migration support:

Feature D7 D8 D8 status Basic migration framework migrate (contrib) migrate (core), plus destination plugins in core modules Experimental General-purpose drush commands migrate (contrib) migrate_tools (contrib) The most common commands (ms, mi, mr, etc.) are working

read more

Categories: Elsewhere

Jonathan Dowland: On BBC 6 Music

Planet Debian - Fri, 20/11/2015 - 23:14

Back in July I had a question of mine read out on the Radcliffe and Maconie programme on BBC 6 Music. The pair were interviewing Stephen Morris of New Order and I took the opportunity to ask a question about backing vocals on the 1989 song "Run2". Here's the question and answer (318K MP3).

Categories: Elsewhere

InternetDevels: Drupal 8 release parties by InternetDevels: a tale of 3 cakes and much more!

Planet Drupal - Fri, 20/11/2015 - 22:55

Every drupaler’s heart was beating faster yesterday. Expectation, excitement, and absolute joy! Yes, it finally happened! Drupal 8.0.0 was officially released yesterday! Did we celebrate it? You bet we did! InternetDevels Drupal development company threw not just one, but 3 parties in different Ukrainian cities to honor the latest and coolest version of our favourite site-building platform. So let us tell you a tale of three cities...and of three awesome cakes as well. Here we go!

Read more
Categories: Elsewhere

Jonathan Dowland: smartmontools

Planet Debian - Fri, 20/11/2015 - 22:08

It's been at least a year since I last did any work on Debian, but this week I finally uploaded a new version of squishyball, an audio sample comparison tool, incorporating a patch from Thibaut Girka which fixes the X/X/Y test method. Shamefully Thibaut's patch is nearly a year old too. Better late than never...

I've also uploaded a new version of smartmontools which updates the package to the new upstream version. I'm not the regular maintainer for this package, but it is in the set of packages covered by the collab-maint team. To be polite I uploaded it to DELAYED-7, so it will take a week to hit unstable. I've temporarily put a copy of the package here in the meantime.

Categories: Elsewhere

Drupal Watchdog: Configuration Workflow

Planet Drupal - Fri, 20/11/2015 - 21:31

Large website projects involving multiple people in different roles face special challenges. The work needs to be coordinated and scheduled in such a way as to allow for parallel development of different parts of the project on different systems. As a consequence, sooner or later the different parts of the whole must be brought back together and integrated into the project’s main development trunk. Often, this process happens seamlessly; at other times, overlapping changes must be integrated manually.

In a Drupal 8 project, the Configuration Management module allows the website configuration files to be stored in a Git repository alongside the project code. As an added bonus, Git also provides features that facilitate distributed development, allowing work to be done on branches and merged together as required. When there are conflicts, external tools are available to visually present the conflicts to the user, making it easier to determine what happened in each instance.

Recently, the Drush project introduced a new command, config-merge, that streamlines the tasks needed to manage the configuration workflow steps to fetch and merge changes from a remote Drupal site.

Categories: Elsewhere

John Goerzen: I do not fear

Planet Debian - Fri, 20/11/2015 - 20:22

I am so saddened by the news this week. The attacks in Paris, Beirut, and Mali. The reaction of fear, anger, and hate. Governors racing to claim they will keep out refugees, even though they lack the power to do so. Congress voting to keep out refugees.

Emotions are a powerful thing. They can cause people to rise up and accomplish stunning things that move humanity forward. And they can move us back. Fear, and the manipulation of it, is one of those.

What have I to fear?

Even if the United States accepted half a million Syrian refugees tomorrow, I would be far more likely to die in a car accident than at the hands of a Syrian terrorist. I am a careful and cautious person, but I understand that life is not lived unless risk is balanced. I know there is a risk of being in a car crash every time I drive somewhere — but if that kept me at home, I would never see my kids’ violin concert, the beautiful “painted” canyon of Texas, or the Flint Hills of Kansas. So I drive smart and carefully, but I still drive without fear. I accept this level of risk as necessary to have a life worth living in this area (where there are no public transit options and the nearest town is miles away).

I have had pain in my life. I’ve seen grandparents pass away, I’ve seen others with health scares. These things are hard to think about, but they happen to us all at some point.

What have I to fear?

I do not fear giving food to the hungry, shelter to the homeless, comfort to those that have spent the last years being shot at. I do not fear helping someone that is different than me. If I fail to do these things for someone because of where they come from or what their holy book is, then I have become less human. I have become consumed by fear. I have let the terrorists have control over my life. And I refuse to do that.

If governors really wanted to save lives, they would support meaningful mass transit alternatives that would prevent tens of thousands of road deaths a year. They would support guaranteed health care for all. They would support good education, science-based climate change action, clean water and air, mental health services for all, and above all, compassion for all.

By supporting Muslim registries, we look like Hitler to them. By discriminating against refugees based on where they’re from or their religion, we support the terrorists, making it easy for them to win hearts and minds. By ignoring the fact that entering the country as a refugee takes years, as opposed to entering as a tourist taking only minutes, we willfully ignore the truth about where dangers lie.

So what do I have to fear?

Only, as the saying goes, fear. Fear is making this country turn its backs on the needy. Fear is making not just the US but much of Europe turn its backs on civil liberties and due process. Fear gives the terrorists control, and that helps them win.

I refuse. I simply refuse to play along. No terrorist, no politician, no bigot gets to steal MY humanity.

Ultimately, however, I know that the long game is not one of fear. The arc of the universe bends towards justice, and ultimately, love wins. It takes agonizingly long sometimes, but in the end, love wins.

So I do not fear.

Categories: Elsewhere

Daniel Pocock: Databases of Muslims and homosexuals?

Planet Debian - Fri, 20/11/2015 - 19:02

One US presidential candidate has said a lot recently, but the comments about making a database of Muslims may qualify as the most extreme.

Of course, if he really wanted to, somebody with this mindset could find all the Muslims anyway. A quick and easy solution would involve tracing all the mobile phone signals around mosques on a Friday. Mr would-be President could compel Facebook and other social networks to disclose lists of users who identify as Muslim.

Databases are a dangerous side-effect of gay marriage

In 2014 there was significant discussion about Brendan Eich's donation to the campaign against gay marriage.

One fact that never ranked very highly in the debate at the time is that not all gay people actually support gay marriage. Even where these marriages are permitted, not everybody who can marry now is choosing to do so.

The reasons for this are varied, but one key point that has often been missed is that there are two routes to marriage equality: one involves permitting gay couples to visit the register office and fill in a form just as other couples do. The other route to equality is to remove all the legal artifacts around marriage altogether.

When the government does issue a marriage certificate, it is not long before other organizations start asking for confirmation of the marriage. Everybody from banks to letting agents and Facebook wants to know about it. Many companies outsource that data into cloud CRM systems such as Salesforce. Before you know it, there are numerous databases that somebody could mine to make a list of confirmed homosexuals.

Of course, if everybody in the world was going to live happily ever after none of this would be a problem. But the reality is different.

While discrimination: either against Muslims or homosexuals - is prohibited and can even lead to criminal sanctions in some countries, this attitude is not shared globally. Once gay people have their marriage status documented in the frequent flyer or hotel loyalty program, or in the public part of their Facebook profile, there are various countries where they are going to be at much higher risk of prosecution/persecution. The equality to marry in the US or UK may mean they have less equality when choosing travel destinations.

Those places are not as obscure as you might think: even in Australia, regarded as a civilized and laid-back western democracy, the state of Tasmania fought tooth-and-nail to retain the criminalization of virtually all homosexual conduct until 1997 when the combined actions of the federal government and high court compelled the state to reform. Despite the changes, people with some of the most offensive attitudes are able to achieve and retain a position of significant authority.

There are many ways a database can fall into the wrong hands

Ironically, one of the most valuable lessons about the risk of registering Muslims and homosexuals was an injustice against the very same tea-party supporters this candidate is trying to woo. In 2013, it was revealed IRS employees had started applying a different process to discriminate against groups with Tea party in their name.

It is not hard to imagine other types of rogue or misinformed behavior by people in positions of authority when they are presented with information that they don't actually need about somebody's religion or sexuality.

Beyond this type of rogue behavior by individual officials and departments, there is also the more sinister proposition that somebody truly unpleasant is elected into power and can immediately use things like a Muslim database, surveillance data or the marriage database for a program of systematic discrimination. France had a close shave with this scenario in the 2002 presidential election when
Jean-Marie Le Pen, who has at least six convictions for racism or inciting racial hatred made it to the final round in a two-candidate run-off with Jacques Chirac.

The best data security

The best way to be safe- wherever you go, both now and in the future - is not to have data about yourself on any database. When filling out forms, think need-to-know. If some company doesn't really need your personal mobile number, your date of birth, your religion or your marriage status, don't give it to them.

Categories: Elsewhere

Gergely Nagy: Looking for a keyboard

Planet Debian - Fri, 20/11/2015 - 18:41

Even though I spend more time staring at the screen than typing, there are times when I - after lots and lots of prior brain work - sit down and start typing, a lot. A couple of years ago, I started to feel pain in my wrists, and there were multiple occasions when I had to completely stop writing for longer periods of time. These were situations I obviously did not want repeated, so I started to look for remedies. First, I bought a new keyboard, a TypeMatrix 2300, which while not ergonomic, was a huge relief for my hands and wrists. I also started to learn Dvorak, but that's still something that is kind-of in progress: my left hand can write Dvorak reasonably fast, but my right one seems to be Qwerty-wired, even after a month of typing Dvorak almost exclusively.

This keyboard served me well for the past five year or so. But recently, I started to look for a replacement, partly triggered by a Clojure/conj talk I watched. I got as far as assembling a list of keyboards I'm interested in, but I have a hard time choosing. This blog post here serves two purposes then: first to make a clear pros/cons list for myself, second, to solicit feedback from others who may have more experience with any of the options below.

Lets start with the current keyboard!

TypeMatrix 2030

  • The Matrix architecture, with straight vertical key columns has been incredibly convenient.
  • Enter and Backspace in the middle, both large: loving it.
  • Skinnable (easier to clean, and aids in learning a new layout).
  • Optional dvorak skin, and a hardware Dvorak switch.
  • The layout (cursor keys, home/end, page up/down, etc) is something I got used to very fast.
  • Multimedia keys close by with Fn.
  • Small, portable, lightweight - ideal for travel.
  • Small: while also a feature, this is a downside too. Shoulder position is not ideal.
  • Skins: while they are a terrific aid when learning a new layout, and make cleaning a lot easier, they wear off quickly. Sometimes fingernails are left to grow too long, and that doesn't do good to the skin. One of my two QWERTY layouts has a few holes already, sadly.
  • Not a split keyboard, which is starting to feel undesirable.

All in all, this is a keyboard I absolutely love, and am very happy with. Yet, I feel I'm ready to try something different. With my skins aging, and the aforementioned Clojure/conj talk, the desire to switch has been growing for a while now.

Desired properties

There are a few desired properties of the keyboard I want next. The perfect keyboard need not have all of these, but the more the merrier.

  • Ergonomic design.
  • Available in Dvorak, or with blank keys.
  • Preferably a split keyboard, so I can position the two parts as I see fit.
  • Ships to Hungary, or Germany, in a reasonable time frame. (If all else fails, shipping to the US may work too, but I'd rather avoid going through extra hoops.)
  • Mechanical keys preferred. But not the loud clicky type: I work in an office; and at home, I don't want to wake my wife either.

I plan to buy one keyboard for a start, but may end up buying another to bring to work (like I did with the TypeMatrix, except my employer at the time bought the second one for me). At work, I will continue using the TypeMatrix, most likely, but I'm not sure yet.

Anyhow, there are a number of things I do with my computer that require a keyboard:

  • I write code, a considerable amount.
  • I write prose, even more than code. Usually in English, sometimes in Hungarian.
  • I play games. Most of them, with a dedicated controller, but there are some where I use the keyboard a lot.
  • I browse the web, listen to music, and occasionally edit videos.
  • I multi-task all the time.
  • 90% of my time is spent within Emacs (recently switched to Spacemacs).
  • I hate the mouse, with a passion. Trackballs, trackpoints and touchpads even more. If I can use my keyboard to do mouse-y stuff well enough to control the browser, and do some other things that do not require precise movement (that is, not games), I'll be very happy.

I am looking for a keyboard that helps me do these things. A keyboard that will stay with me not for five years or a decade, but pretty much forever.

The options

Ultimate Hacking Keyboard

  • Split keyboard.
  • Mechanical keys (with a quiet option).
  • Ships to Hungary. Made in Hungary!
  • Optional addons: three extra buttons and a small trackball for the left side, and a trackball for the right side. While I'm not a big fan of the mouse, the primary reasons is that I have to move my hand. If it's in the middle, that sounds much better.
  • Four layers of the factory keymap: I love the idea of these layers, especially the mouse layer.
  • Programmable, so I can define any layout I want.
  • Open source firmware, design and agent!
  • An optional palm rest is available as well.
  • Blank option available.
  • Likely not available before late summer, 2016.
  • No thumb keys.
  • Space/Mod arrangement feels alien.
  • The LED area is useless to me, and bothers my eye. Not a big deal, but still.
  • While thumb keys are available for the left side, not so for the right one. I'd rather have keys there than a trackball. The only reason I'd want the $50 addon set, is the left thumb-key module (which also seems to have a trackpoint, another pointless gadget).

The keyboard looks nice, has a lot of appealing features. It is programmable, so much so that by the looks of it, I could emulate the hardware dvorak switch my TypeMatrix has. However, I'm very unhappy with the addons, so there's that too.

All in all, this would cost me about $304 (base keyboard, modules, palm rest and shipping). Not too bad, certainly a strong contender, despite the shortcomings.


  • Great design, by the looks of it.
  • Mechanical keys.
  • Open source hardware and firmware, thus programmable.
  • Thumb keys.
  • Sold as a kit, I'd have to assemble it myself (possibly including soldering, if reviews are up to date). I don't want to do that, so I'd be looking for a pre-assembled version.
  • The home page is rather silent, not much info there, and I'm not going to dig through forums to get the keyboard sold to me.
  • Not sure where I can order it from.

The keyboard looks interesting, primarily due to the thumb keys. But for a price of $250 + shipping, I'd still have to assemble it. Since I'm not a hardware guy, I don't want to do that, so I'm looking at $300+. Not sure that's worth it.

Kinesis Advantage

  • Mechanical keys, Cherry-MX brown.
  • Separate thumb keys.
  • Key wells look interesting.
  • Available right now.
  • QWERTY/Dvorak layout available.
  • Not a split keyboard.
  • Not open source, neither hardware, nor firmware.
  • Shipping to Hungary may be problematic.
  • The QWERTY/Dvorak layout is considerably more expensive.
  • Judging by some of the videos I saw, keys are too loud.

The key wells look interesting, but it's not a split keyboard, nor is it open source. The cost come out about $325 plus shipping and VAT and so on, so I'm probably looking at something closer to $400. Nah. I'm pretty sure I can rule this out.

Kinesis FreeStyle2

  • Split keyboard.
  • Available right now.
  • Optional accessory, to adjust the slope of the keyboard.
  • Not open source, neither hardware, nor firmware.
  • Doesn't seem to be mechanical.
  • Shipping to Hungary may be problematic.
  • No Dvorak layout.
  • No thumb keys.

While a split keyboard, at a reasonably low cost ($149 + shipping + VAT), it lacks too many things to be considered a worthy contender.


  • Mechanical keyboard.
  • Key wells.
  • Thumb keys.
  • Built in palm rest.
  • Available in Dvorak too.
  • Not a split keyboard.
  • The center numeric area looks weird.
  • Not sure about programmability.
  • Not open source.
  • Expensive.

Without shipping, I'm looking at £450. That's a very steep price. I love the wells, and the thumb keys, but it's not split, and customisability is a big question here.


  • Sleek, compact design.
  • No keycaps.
  • Mechanical keyboard.
  • Open source firmware.
  • More keys within thumbs reach.
  • Available right now.
  • Ships as a DIY kit.
  • Not a split keyboard.

While not a split keyboard, it does look very interesting, and the price is much lower than the rest: $149 + shipping ($50 or so). It is similar - in spirit - to my existing TypeMatrix. It wouldn't take much to get used to, and is half the price of the alternatives. A strong option, for sure.

Keyboardio M01

  • Mechanical keyboard.
  • Hardwood body.
  • Blank and dot-only keycaps option.
  • Open source: firmware, hardware, and so on. Comes with a screwdriver.
  • The physical key layout has much in common with my TypeMatrix.
  • Numerous thumb-accessible keys.
  • A palm key, that allows me to use the keyboard as a mouse.
  • Fully programmable LEDs.
  • Custom macros, per-application even.
  • Fairly expensive.
  • Custom keycap design, thus rearranging them physically is not an option, which leaves me with the blank or dot-only keycap options only.
  • Available late summer, 2016.

With shipping cost and whatnot, I'm looking at something in the $370 ballpark, which is on the more expensive side. On the other hand, I get a whole lot of bang for my buck: LEDs, two center bars (tripod mounting sounds really awesome!), hardwood body, and a key layout that is very similar to what I came to love on the TypeMatrix.

I also have a thing for wooden stuff. I like the look of it, the feel of it.

The Preference List

After writing this all up, I think I prefer the Model 01, but the UHK comes close too: the UHK is cheaper, but not by a large margin. It lacks the thumb keys and the palm key the M01 has. It also looks rather dull (sorry). They'd both ship about the same time, but, the M01 is already funded, while the UHK is not (mind you, there's a pretty darn high chance it will be).

Then, there's the Atreus. While it's a DIY kit, it is much more affordable than the rest, and I could have it far sooner. Yet... it doesn't feel like a big enough switch from my current keyboard. I might as well continue using the TypeMatrix then, right?

In a similar vein, I really wanted to consider the ErgoDox, because it has a much better shape than the Atreus, and is a split keyboard. But if I have to assemble the keyboard myself, the price of the ErgoDox is far too high for me. Not to mention, that if I can avoid it, I don't want to put my keyboard together, and soldier stuff. I hate having to touch hardware.

The rest, I ruled out earlier, while I was reviewing them anyway.

So, the big question is: should I invest close to $400 into a keyboard that looks stunning, and will likely grow old with me? Or should I give up some of the features, and settle for the $300 one, that'll also grow old with me. Or is there an option I did not consider, that may match my needs and preferences better?

If you, my dear reader, got this far, and have a suggestion, please either tweet at me, or write an email, or reach me over any other medium I am reachable at (including IRC, hanging out as algernon on FreeNode and OFTC).

Thank you in advance, to all of you who contact me, and help me choose a keyboard!

Categories: Elsewhere

Promet Source: Drupal 8's Chicago Connection

Planet Drupal - Fri, 20/11/2015 - 18:26
Chicago is Drupal 8's home sweet home

That's right, Drupal 8 was born in the City of the Big Shoulders, that Midwestern metropolis where monsters roam the midway, hot dogs never come with ketchup and office towers scrape the sky. Back in 2011, Chicago was host to DrupalCon and Dries was giving his State of Drupal address to a crowd of more than 2,000 attendees. It was during this address that Dries created the development branch for Drupal 8 and the future of the Drupal project started to take shape.

Categories: Elsewhere

Agaric Collective: Putting powerful platforms under cooperative control

Planet Drupal - Fri, 20/11/2015 - 17:07

On November 13th and 14th in New York City, several hundred people gathered to talk about the problems of an online economy reliant on monopoly, extraction, and surveillance— and discuss how to build a "cooperative Internet, built of platforms owned and governed by the people who rely on them."

My experience at the Platform Cooperativism summit was Wow, everyone here really gets it and so many are doing awesome things; and then Hmm, there are still some really important differences to be worked out; and then We'll have to continue for months to figure out strategy for building fair platforms and we also need to restructure the whole economy.

Some definitions

In the sense technologists use it a platform is, like a physical platform, a technology that holds a lot of people up. It convenes people and gives them a chance to do something they wouldn't otherwise be able to do. Platforms can often be natural monopolies due to capturing the benefits of network effects (one person with a telephone is pointless, having nearly everyone available by telephone is incredibly valuable). Amazon and eBay are both platforms for sellers and buyers, Uber and Lyft for drivers and riders, Mechanical Turk and TaskRabbit for piece-workers and buyers of their work.

A cooperative is a jointly owned and democratically-controlled enterprise formed by people voluntarily uniting to meet their common needs and aspirations. Agaric is a small worker-owned cooperative, Mondragon is a very large group of integrated worker cooperatives, consumer cooperatives are businesses owned by their customers, credit unions are financial institutions owned by their members (with a one person, one vote governance), and producer cooperatives like CROPP Cooperative are formed by member businesses (which are not necessarily cooperatives themselves).

A platform cooperative, then, is a platform owned and controlled by the people directly affected by it. A company must be accountable, and as Omar Freilla put it, accountable means those impacted make the decisions.

The power to do harm

This summit was a follow-up to the Digital Labor summit held one year before which detailed myriad ways centralized online platforms extract value from dispersed workers who have few options or bargaining power. Control of online platforms by the representatives of capital has or will have negative effects on workers, similar to exploitation in global manufacturing (think electronic devices and clothing), and negative effects on customers (think the massive money grab by oligopolies of fossil fuel and telecommunications corporations).

Agaric's Michele Metts told the Digital Labor summit organizers every chance she got that cooperatives and Free Software were the answer to exploited labor in the Internet economy, but something even more powerful than Micky's advocacy must have been at work: nearly every participant at Platform Cooperativism spoke of the need for workers to own the platforms that control their work, and people presenting on technology took for granted that source code and algorithms have to be open for democratic control to be meaningful. As Micky said on her panel, "You cannot build a platform for freedom on someone else's slavery."

The opening presentations made the case that platforms will exploit us unless we take control, and we moved on to discussing strategies for building platform businesses that are cooperatives of the people using the platforms. We also celebrated those already starting, like Loconomics, Fairmondo (in Germany), and Member's Media.

Building for shared power and uplift

The biggest unsolved, but acknowledged, problem is getting the resources to build platforms that can compete with venture capital-funded platforms. Dmytri Kleiner made the claim that profit requires centralization, and, moreover, that centralization requires organizing along the lines of a profit-taking venture. How can people get the resources to build without both having to give up control and having to exploit people using the platform? Robin Chase reminded us that it costs millions of dollars, at least, to build a viable platform. Her solution is to continue to seek venture capital and work for some environmental or community goals while compromising on control.

A more popular possible solution is to replace centralized systems with decentralized ones, even to the point of replacing specific software with protocols, so the cost of building and operating platforms can be more widely shared, along with the benefits. However, as Astra Taylor summed up the widely felt point, decentralization does not always mean distributed power. Therefore control of technology decisions, and so democratic control of platforms, is more important than technology itself.

The potential positive role for government regulation was often mentioned, as Sarah Ann Lewis summarized the sentiment in a tweet: Platforms are not special snowflakes that must be exempt from regulation. If you can only succeed by exploitation you deserve to melt. Indeed, the centralized and surveillance nature of most platforms would make it much easier to ensure non-discrimination and fair wages.

More excitement came from the mention that local government has long played a role and can play a stronger part in democratic ownership of physical spaces. Several speakers urged people to get involved in local government, where harmful policies may be more the result of a lack of knowledge than of embedded corruption. Government can also get involved in mandating an open API for ride hailing services, which would remove the monopoly power from centralizing companies.

On ownership and control

Hundreds of possible solutions faced lively questioning and debate, yet in all of this the titular solution, cooperative ownership, did not get the scrutiny it merits. Jessica Gordon Nembhard's Collective Courage has made me see that the connections and overlaps between worker cooperatives and other types of cooperatives are much more significant than I'd thought, but there are still differences. And I'm not sure the differences are made clear by people building platform cooperatives.

If Brianna Wettlaufer refers to it as a multi-stakeholder cooperative and it has been around since 2012 so they've surely worked it out, but this question is at the heart of how platform cooperatives must operate and it was hardly addressed at all.

The answer can be simple. The Black Star Coop brewery and restaurant in Austin, Texas, is owned by its customer-members while the workers manage it. The workers are internally a democracy, but there's no question they work for a businesses which is managed democratically by the customers. This makes even more sense for a quasi-monopoly platform: It's more important for, say, millions of people relying on a platform for livelihood or transportation or communication to own it than for the relatively small number of people who built it to own it.

This brings up another question that went largely unasked at the conference: does ownership mean anything when it's spread out among thousands or millions of people? Federated structures can mitigate this, but in general whoever controls communication among members effectively controls decisions. It may be possible to have horizontal mass communication by way of democratic moderation. At a small workshop I held at the conference, participants discussed ways collective control can be made real as democratic platforms scale—but that's a topic for another discussion.

The sense that displacing an app or website is easier than reconstructing global supply chains fueled a lot of the excitement at the conference. Notwithstanding, the need to restructure the rest of the economy so that it works to serve the needs of people, rather than sacrificing people's needs to the dictates of the economy, was never far from people's minds. Videos of most sessions are online and will certainly make you think about the opportunities for cooperative ownership of services and structures that define our lives, online and off.

Categories: Elsewhere

Dries Buytaert: Drupal 8 milestones in Tweets

Planet Drupal - Fri, 20/11/2015 - 16:24

Building Drupal 8 with all of you has been a wild ride. I thought it would be fun to take a little end-of-week look back at some of our community's biggest milestones through Twitter. If you can think of others important Tweets, please share them in the comments, and I'll update the post.

Feeling nostalgic? See every single version of Drupal running!

Do you remember how #Drupal 1 looked like? Or Drupal 3? Are you curious? Check out all the Drupals! #Celebr8D8 https://t.co/NqccbHopdy

— Cheppers (@cheppers) November 19, 2015

Here is how we opened the development branch for Drupal 8: live at Drupalcon!

The secretsauce of #drupal isn't code or features or market share, important thought they are. The secret sauce is community.

— Sean Yo (@seanyo) March 10, 2011

@dries branching D8 #drupalcon #drupalchi http://t.co/kW6TvUZ #drupal

— Jeff Geerling (@geerlingguy) March 10, 2011

Drupal 8's first beta showed the power of community

Drupal 8.0.0 beta 1 released! https://t.co/FwdmRYaZUx Ahh the power of COMMUNITY driven software! :-)

— Doug Vann (@dougvann) October 1, 2014

Congrats all on epic work on Drupal 8.0.0 beta1 https://t.co/fFpa2JZ2ZU :) Now go sleep or party as appropriate ;) #drupalhugs

— Gábor Hojtsy (@gaborhojtsy) October 1, 2014

We had issues ... but the queue steadily declined

Today there are zero #Drupal 8 beta blockers! Here's what's next: https://t.co/yq9eOhEgLW Of note: finish beta deadline issues by Sept. 28.

— xjm (@xjmdrupal) September 19, 2014

Drupal 8.0.x-rc1 release window is today. Good sign of real stability is major issue count going down for 6+ weeks. pic.twitter.com/5VnHGmL9zb

— catch (@catch56) October 7, 2015

We held sprints around the world: here are just a few

EVERY SINGLE #Drupal 8 critical is RTBC or currently being addressed at the 10-person #D8Accelerate London sprint! @DrupalAssoc @brightlemon

— xjm (@xjmdrupal) July 5, 2015

Working on D8 Criticals at the Ghent DA critical sprint, this is how the "My issues" page looks for me right now! pic.twitter.com/y5SnavVtND

— Sascha Grossenbacher (@berdir) December 13, 2014

Yay for a crowded core office hours sprint! #drupalcon pic.twitter.com/Ks5pYYd2

— Cameron Eagans (@cweagans) March 23, 2012

And we created many game-changing features

#Drupal 8 now ships with page caching enabled! Anon users: <10 ms response time, yet instant updates! #FastByDefault https://t.co/7vbPxFGVoK

— Wim Leers (@wimleers) April 8, 2015

And.... there we go! http://t.co/ed6XtMIs MOTHER BLEEPING VIEWS IN MOTHER BLEEPING CORE!

— webchick (@webchick) October 22, 2012

Config entities dependencies in action! @swentel @yched https://t.co/9IlqY6yIGM goodbye field_system_info_alter() pic.twitter.com/WzsvZNSnDb

— Alex Pott (@alexpott) February 15, 2014

With Content + Config Translation in core D8 core is more translatable than D7 with all of contrib. #drupal

— Tobias Stöckler (@tstoeckler) November 18, 2013

Amazing to see Drupal 8's multilingual capabilities explained on the multilingual release page (for example Farsi): pic.twitter.com/9owVE3xABo

— Gábor Hojtsy (@gaborhojtsy) November 19, 2015

The founder of PHP said: Drupal 8 + PHP7 = a lot of happy people

Here are the two graphs: http://t.co/3m2EbJayY4 and http://t.co/pIhXWxPfso - Drupal 8 + PHP 7 will make a lot of people happy!

— Rasmus Lerdorf (@rasmus) April 21, 2015

We reached the first release candidate and celebrated ... a little

Congratulations to EVERYONE in the @drupal community who has worked so damn hard to reach this moment. Celebrate! #drupal8rc #Drupal8

— Whitney Hess (@whitneyhess) October 7, 2015

Just LOOK at it. https://t.co/mIo4FSV2Z2 8.0.0-rc1 is GREEN Download - Let's build something to celebrate! #drupal8rc #drupal

— Manuel Garcia (@drupalero) October 7, 2015

Kudos to the 3000+ contributors and to the entire Drupal community that helped make this happen. https://t.co/FtATRtSmCU

— Leslie Glynn (@leslieglynn) October 7, 2015

And, just yesterday, we painted the world blue and celebrated Drupal 8 ... a lot!

Let's paint the whole world blue! Add your #Celebr8D8 Release Party here https://t.co/5v8kENj1Ko #Drupal8 pic.twitter.com/JjVZ3Kiuje

— Drupal (@drupal) November 10, 2015

With over 200 new features & improvements #Drupal8 is released! https://t.co/Py1t0fkkDA Thanks to all contributors! pic.twitter.com/WivjQH4zeI

— Drupal (@drupal) November 19, 2015

At the Amsterdam #Drupal8 release party!! #Celebr8D8 pic.twitter.com/Wvh5SRwoy3

— Taco Potze˙ (@tacopotze) November 19, 2015

The Moment We've All Been Waiting For: Drupal 8 is Here! https://t.co/EQIs4uXwDU #Celebr8D8! pic.twitter.com/6mDwWv1cXn

— Duo (@DuoConsulting) November 19, 2015

#Drupal8 release party in #Lahore #Pakistan with @JibranIjaz @NaveedSukhera #Celebr8D8 pic.twitter.com/GOcbRKJsGS

— Shakeel Tariq (@shakeeltariq) November 19, 2015

From Peru we're celebrating the new era #Drupal #Drupal8 #Celebr8D8 @Dries pic.twitter.com/zRdzBunW7I

— Agustin Rojas Silva (@Aguztinrs) November 19, 2015

Happy #Drupal 8, everyone! I am so happy to know and work with all of you beautiful #opensource people!

— HornCologne (@HornCologne) November 19, 2015

Karma party in #drupal-contribute #Celebr8D8 pic.twitter.com/tt3wjKlfbl

— webchick (@webchick) November 19, 2015

We're literally printing money here. @Dries Dollars by @LeakyTweety for #Celebr8D8 Manchester pic.twitter.com/8f4rfRNmhK

— Paul Johnson (@pdjohnson) November 19, 2015

Acquia and downtown Boston are ready to celebrate Drupal 8! #Celebr8D8 pic.twitter.com/RHkwXKUlNC

— Dries Buytaert (@Dries) November 18, 2015

Categories: Elsewhere

Drupal Association News: Global Training Days - November 2015 Summary

Planet Drupal - Fri, 20/11/2015 - 16:23

The final Global Training Days of 2015 took place on November 20th and 21st, right after the Drupal 8 release. While many in the community were finishing their celebrating, the trainers were just getting warmed up to introduce people to the world of Drupal. Thirty-nine sites held a training in 21 countries. This included both training companies and local community groups. We could not be more proud of the global representation for the event and we look forward to more success in 2016 with our quarterly DrupalGTD events.

Thanks to Marina of ADCI we made a video to introduce attendees to the community. Trainers were invited to participate and fun was had by everyone.

As for the spirit of Global Training Days, I think Mauricio of Agaric put it best in this tweet.

Organizing and presenting at #DrupalGTD takes effort, but seeing people smile when they build functional websites in hours makes it worthy.

— Mauricio Dinarte (@dinarcon) November 22, 2015

Check out the photos and updates at #DrupalGTD on Twitter. The full list of participants is on the 2015 page along with reports from the trainers as they come in.

Learn more about the program at drupal.org or sign up to provide training at the next event.

Personal blog tags: Drupal Global Training DayGTD
Categories: Elsewhere

Zivtech: How to Do A Site Audit

Planet Drupal - Fri, 20/11/2015 - 15:40

There are a lot of different reasons why people need a site audit. For example, you may be transferring a project from an old team to a new team that needs to understand the project what they're taking over.

Or maybe there's an internal management change inside a large organization.

For example, in an audit I'm doing now, the site was managed by one team and now they're splitting up the company and that team is not going to manage the site anymore. The people taking over have no experience with the site and they want to find out what they're dealing with.

Was it Done Right?

They might have specific concerns like security or performance that they want to audit. They might be planning a whole new phase of their project and they would like to understand where they're at with their site beforehand.

Sometimes an audit is requested to validate a hunch. Sometimes a manager doesn't think a site was built well, and wants an audit to show that. On the other hand, there are times when a developer wants an audit to show their boss that they did do things right. For example, we had somebody who wanted an audit because his boss kept on telling him that he built the site wrong because he used multiple content types and his boss was sure that you should only ever have one content type. So he wanted an audit that would back him up and say he did a good job, and he did actually do a great job. Update to Drupal 8

Another reason you might have an audit in 2015-16 is that you're considering upgrading to Drupal 8 and nobody can give you a good estimate of how much it's actually going to cost you to upgrade because nobody knows what your site does or even what problems it has. You might need an audit just to help you evaluate that.

Here Comes Judge Jody

At work, they call me Judge Jody. Being judgmental is one of those personality traits that’s both positive and negative. But when it comes to doing certain types of tasks, being judgmental is very useful. You might have some people on your team that are very open and accepting who say, "Oh, that's an interesting idea" to just about everything. They don't disagree strongly with much of anything. These folks are not necessarily the best ones to do an audit because they'll go through and all they can come up with is, "Oh, that's interesting." Someone who really has strong opinions can go faster and decide what looks problematic.

One Judge...Or Many?

You could have just one of your top people doing an audit, but you can also split it up into multiple domain experts. I also like to have an assistant when I'm doing the auditing, someone more junior who can help me write up the document, do the document formatting and learn while we're going along. As you're working on an audit you're not just learning how to do a site audit, you're also learning a lot about Drupal and the different issues people can get into making sites. I've learned more from looking at all of the awful sites that we inherit and rescue than I would have just building sites on my own because you see the consequences of all the different bad common practices that people make, where it leads, and how much work it is to clean it up. It makes me feel more strongly when I say, 'we never do this this way and this is why. We've seen what happens.’

It's also good if someone on the auditing team will potentially continue working on this site if this becomes an ongoing project. No matter how much people write in their reports, they're also putting a lot in their heads getting to know this project. That's really valuable and you want them to continue working on the site. It actually takes a long time to really get to know a project if it's a pretty complicated site, or just a particularly troubled one. Manual or Automated?

There are parts of an audit where you should use automated tools. But it’s also important to do a lot manually and just look everywhere. I'll look from the top left pixel all the way across to the bottom right. Then I'll look at the server, the code and every page I can. I'll look at the HTML, the CSS, the navigation, and the content itself. One of the amazing things I take away at the end of some site audits is that after a week of looking at some sites I still have very little idea of what the organization does, or perhaps how to purchase a product from the company. Noticing that the site does not serve its primary mission is something automated tools will not do for you.

Document Everything

I start an outline in a Google Doc, and I follow my curiosity around the site. Productive procrastination is my main mode. When I don't feel like looking at the permissions, I go look at the design, and keep jumping around until the outline starts to fill itself out.

The first step is to get access. If it is a problem to access the server, the code base, or get a copy of the database, that in itself can be a finding of the audit. If the people you're working with don't know how to get you a copy of the database or access to the server, or they don't have SSH keys, that is part of the environment that the site is living in. It could itself be a finding. These sites don’t exist in a vacuum.

If the client refuses to give you access because they have some security reasons and nothing you can sign is going to do anything about it, you'll be really limited so you'll have a smaller scope to your audit.

Ideally, work locally and get a local copy of the site set up. That way you can click around everywhere, run all the automated reports you want, and not have to worry about messing anything up. As an auditor, you change nothing. Click everywhere, but never hit save.

Typically in an audit the more you find, the better. You're not going to lose points for looking at things that people didn't think you were supposed to be looking at. Take notes the entire time you're looking so you can eventually write those up into a proper document. Talk it Over

It’s critical to set up a series of meetings as part of the audit. First, have a kick-off meeting to get basic background information: a little about the organization, how this site came to be, what it's supposed to be doing, and who's involved. Confirm the boundaries of the audit- for example should you be auditing everything at one subdomain, or more. Also make sure you have access to everything you need. There’s no need to get into too much detail at that kick-off meeting other than a basic situational awareness.

After a day or two of digging into the site, I like to have another meeting because then I have some questions and I'm very focused on the project at that point. Then I like to really dig in and ask questions about their specific concerns and odd things I’ve started to uncover.

You want to make sure that you're auditing and paying special attention to things that that the client is focused on and concerned about. It's also important to have these meetings to get a sense of the client’s technical vocabulary and background and whom you're actually addressing in this audit. It's easy to make an audit that makes you look really smart, and they will not use it at all because they don't understand what you're talking about and you’re not making your points clearly enough. Then we just have this huge, intimidating pile of paper. It’s about clear communication and not being pedantic.

Stay tuned for Part 2: Top Three Priorities of A Site Audit. Terms: Publishing Workflow Needs Review
Categories: Elsewhere

Zivtech: How To: oEmbed with Asset in Drupal 7

Planet Drupal - Fri, 20/11/2015 - 15:20

In Part 1 of this series, I showed an easy system for including oEmbed rich content in a WYSIWYG, including reusing that content. In this installment I'll step through how to set it all up in Drupal 7.

How to Set Up Asset and oEmbed modules

First of all, in order to use Asset module you can't use WYSIWYG module - you need to use CKeditor module. CKeditor module is great though - you have more control of your editor configuration than with WYSIWYG module.

Install Asset module from drupal.org: I typically enable only Asset, Asset document, and Asset image, out of the submodules in the Asset package.

Similar to how Media module works, you need to enable the Asset filter on your input format(s). On the CKeditor settings make sure you enable the Media Asset plugin.

Also add oEmbed module and enable its submodules oEmbed Field oEmbed Embedly. Add an API key to the oEmbed Embedly configuration.

Create a new Asset type (Structure: Asset Types: Add Asset Type) called 'Embed' and pick an icon for it. At 'Manage Fields' add a link field, and at 'Manage Display' choose oEmbed for the display formatter of the link (for both Default and Full Size modes). Go back the CKeditor settings and drag your new button into your WYSIWYG configuration.

If you're having trouble getting an embed link to show up, you may need to adjust the pattern matching for the provider in the oEmbed providers settings. Often the provider has started using www or https in their URL and you need to adjust the patterns to match. Watch out for security settings in CKeditor and in your input format: some of the oEmbed content will comes with Javascript that can get filtered out and change the display. If you need to reduce security filtering, be sure you are only allowing trusted users to use this CKeditor profile.

You may also want to do some templating and styling: I overrode the oembed.tpl.php from oEmbed to not show an extra title link to the embed. I also overrode the asset.tpl.php to likewise not show the Asset title.

OK, but what if I want to add this as a field, rather than in a WYSIWYG?

Media module has a nice ability to be used as a widget for a file field, letting you reuse media from your library or add new media. So how can we get a similar feature using our beloved Asset module library?

Because Asset is an entity type, you can create entity reference fields to reuse assets. A great widget for entity reference fields is Inline Entity Form. This lets you add a new or existing asset of any type as a field. We contributed a patch for Asset to add support for Inline Entity Form, which is in the latest Dev release of Asset module.

Using Inline Entity Form, you can add a new or existing asset as a field. Adding a new Embed Asset within Inline Entity Form. Do I have to do this for every new site I make?

Of course not. This is the kind of setup you should do in a starter-kit: an install profile that you use for every site. We've added it to our Bear Starter-kit, which you're welcome to fork.

OK, but what if I use Scald or Media module and can't switch to Asset?

If you're not ready to make the Asset module plunge, you can still use oEmbed. If you like Scald, you can do a similar setup using this Embedly Scald module. And if you use Media module you can use the Media oEmbed submodule (included in oEmbed module).


#embedly_amzn_82220385 {line-height:1.5;} #embedly_amzn_82220385 * {color:#000000;background:#FFFFFF none repeat scroll 0 0; vertical-align:baseline; margin:0; padding:0; border: medium none; font-family:verdana,arial,helvetica,sans-serif;} #embedly_amzn_82220385 TABLE {vertical-align:middle;border-collapse:separate;border-spacing:0;} #embedly_amzn_82220385 TD {vertical-align:top;text-align:left;} #embedly_amzn_82220385 .embedly_amzn_out_bdr {border:1px solid #EEEEEE;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;} #embedly_amzn_82220385 .embedly_amzn_in_bdr {border:1px solid #999999; padding:10px;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;} #embedly_amzn_82220385 .embedly_amzn_img {float:left; margin:0 20px 0 0;} #embedly_amzn_82220385 .embedly_amzn_desc {width:100%;} #embedly_amzn_82220385 .embedly_amzn_desc H3{margin:5px 0;font-family:Arial,Helvetica,sans-serif;} #embedly_amzn_82220385 .embedly_amzn_desc H3 A{color:#000000;font-size:18px;font-weight:normal;text-decoration:none;line-height:26px;} #embedly_amzn_82220385 .embedly_amzn_desc .subhead{display:block;margin:0 0 5px;font-size:11px;} #embedly_amzn_82220385 .embedly_amzn_desc HR{border-top:1px dashed #999999;color:#FFFFFF;height:1px;margin:6px 0 3px;} #embedly_amzn_82220385 .embedly_amzn_desc .em_more {margin:0 10px 0 0;font-size:11px;} #embedly_amzn_82220385 .embedly_amzn_desc A.em_more {color:#003399} #embedly_amzn_82220385 .embedly_amzn_desc A.em_more:hover {color:#CC6600} #embedly_amzn_82220385 .embedly_amzn_desc .buying TD.label{width:70px;color:#666666;font-size:11px;text-align:right;vertical-align:middle;white-space:nowrap;margin:0 5px 0;} #embedly_amzn_82220385 .embedly_amzn_desc .buying TD.pricelabel{padding:3px 0 0;} #embedly_amzn_82220385 .embedly_amzn_desc .buying TD.listprice{padding:0 0 0 5px;font-family:arial,verdana,helvetica,sans-serif;text-decoration:line-through;font-size:13px;} #embedly_amzn_82220385 .embedly_amzn_desc .buying TD.price{padding:0 0 0 5px;color:#990000;font-size:20px;font-weight:normal;letter-spacing:-1px;} #embedly_amzn_82220385 .embedly_amzn_desc .buying TD.saved{padding:0 0 0 5px;color:#990000;font-size:13px;} #embedly_amzn_82220385 .embedly_amzn_logo A {background:transparent url(http://c1281762.cdn.cloudfiles.rackspacecloud.com/amazon-sprite.png) no-repeat scroll -160px -15px;display:inline-block;float:right;height:30px;overflow:hidden;width:140px;} YAHTZEE: Back to the Future Collector's Edition Board Game

Product by USAopoly More about this product
List Price: $34.99 Price: $31.90 You Save: $3.09 (9%)

Stay tuned for Part 3 in which we report on what we've done to make it easy to embed 3rd party content in Drupal 8.

Terms: Publishing Workflow Ready for Publishing
Categories: Elsewhere

Sylvain Beucler: No to ACTA - Paris

Planet Debian - Fri, 20/11/2015 - 15:18

Today, there were events all around Europe to block ACTA.

In Paris, the protest started at Place de la Bastille :

APRIL was present, with in particular its president Lionel Allorge, and two members who wore the traditional anti-DRM suit :

Jérémie Zimmermann from La Quadrature du Net gave a speech and urged people to contact their legal representatives, in addition to protesting in the street :

The protest was cheerful and free of violence :

It got decent media coverage :

Notable places it crossed include Place des Victoires :

and Palais Royal, where it ended :

Next protest is in 2 weeks, on March 10th. Update your agenda!

Categories: Elsewhere

Sylvain Beucler: New free OpenGL ES documentation

Planet Debian - Fri, 20/11/2015 - 15:18

Great news!

The Learn OpenGL ES website recently switched its licensing to Creative Commons BY-SA 3.0


It provides tutorials for OpenGL ES using Java/Android and WebGL, and is focusing on a more community-oriented creative process. Give them cheers!

Categories: Elsewhere

Sylvain Beucler: Mini-sendmail... in bash

Planet Debian - Fri, 20/11/2015 - 15:18

I recently faced an environment where there is no MTA.

WTF? The reason is that people who work there get security audits on a regular basis, and the security people are usually mo...deratly skilled guys who blindly run a set of scripts, e.g. by ordering to disable Apache modules that "where seen enabled in /etc/apache2/mods-available/"...

To avoid spending days arguing with them and nitpicking with non-technical managers, the system is trimmed to the minimum - and there is no MTA. No MTA, so no cron output, so difficulty to understand why last night's cron job failed miserably.

Since it was not my role to reshape the whole business unit, I decided to hack a super-light, but functional way to get my cron output:

cat <<'EOF' > /usr/sbin/sendmail #!/bin/bash ( echo "From me $(LANG=C date)" cat echo ) >> /var/mail/all EOF chmod 755 /usr/sbin/sendmail

It works!

There is a companion logrotate script, to avoid filling the file system:

cat <<'EOF' > /etc/logrotate.d/mail-all /var/mail/all { daily rotate 10 compress delaycompress notifempty create 622 root mail } EOF

Bootstrap with:

touch /var/mail/all logrotate -f /var/mail/all

You now can check your sys-mails with:

mutt -f /var/mail/all

Categories: Elsewhere


Subscribe to jfhovinne aggregator - Elsewhere