# data[].attributes.body
Can't we do better than filenames? Yes we already have but of course we don't use them.

# data[].attributes.attachment_link.readable_text
Introduction

I think it's a given that the amount of data is increasing at a fairly fast rate. We now have lots of multimedia on our desktops, and lots of files on our servers at work, and we're starting to put lots of data into the cloud (e.g. Facebook). One question that affects storage design and performance is if these files are large or small and how many of them are there?

At this year's FAST (USENIX Conference on File System and Storage Technologies) the best paper went to "A Study of Practical Deduplication" by William Bolosky from Microsoft Research, and Dutch Meyer from the University of British Columbia. While the paper didn't really cover Linux (it covered Windows) and it was more focused on desktops, and it was focused on deduplication, it did present some very enlightening insights on file systems from 2000 to 2010. Some of the highlights from the paper are:

To fully understand the difference between the first point and the third point you need to remember some basic statistics. The average file size is computed by summing the size of every file and dividing by the number of files. But the median file size is found by ordering the list from the smallest to largest of the file size of every file. The median file size is the one in the middle of the ordered list. So, with these working definitions, the three observations previously mentioned indicate that perhaps desktops have a few really large files that drive up the average file size but at the same time there are a number of small files that makes the median file size about the same despite the increase in the number of files and the increase in large files.

The combination of the observations previously mentioned mean that we have many more files on our desktops and we are adding some really large files and about the same number of small files.

Yes, it's Windows. Yes, it's desktops. But these observations are another good data point that tell us something about our data. That is, the number of files is getting larger while we are adding some very large files and a large number of small files. What does this mean for us? One thing that it means to me is that we need to pay much more attention to managing our data.

Data Management - Who's on First?

One of the keys to data management is being able to monitor the state of your data which usually means monitoring the metadata. Fortunately, POSIX gives us some standard metadata for our files such as the following:

There are several others (e.g. links) which I didn't mention here.

With this information we can monitor the basic state of our data. We can compute how quickly our data is changing (how many files have been modified, created, deleted in a certain period of time). We can also determine how our data is "aging" - that is how old is the average file, the median file, and we can do this for the entire file system tree or certain parts of it. In essence we can get a good statistical overview of the "state of our data".

All of this capability is just great and goes far beyond anything that is available today. However, with the file system capacity increasing so rapidly and the median file size staying about the same, we have a lot more files to monitor. Plus we keep data around for longer than we ever have. Perhaps over time it is easy to forget what a file name means or what is contained in a cryptic file name. Since POSIX is good enough to give some basic metadata wouldn't it be nice to have the ability to add our own metadata? Something that we control that would allow is to add information about the data?

Extended File Attributes

What many people don't realize is that there actually is a mechanism for adding your own metadata to files that is supported by most Linux file systems. This is called Extended File Attributes. In Linux, many file systems support it such as the following: ext2, ext3, ext4, jfs, xfs, reiserfs, btrfs, ocfs2 (2.1 and greater), and squashfs (kernel 2.6.35 and greater or a backport to an older kernel). Some of the file systems have restrictions on extended file attributes, such as the amount of data that can be added, but they do allow for the addition of user controlled metadata.

Any regular file that uses one of the previously mentioned extended file attributes may have a list of extended file attributes. The attributes have a name and some associated data (the actual attribute). The name starts with what is called a namespace identifier (more on that later), followed by a dot ".", and then followed by a null-terminated string. You can add as many names separated by dots as you like to create "classes" of attributes.

Currently on Linux there are four namespaces for extended file attributes:

This article will focus on the "user" namespace since it has no restrictions with regard to naming or contents. However, the "system" namespace could be used for adding metadata controlled by root.

The system namespace is used primarily by the kernel for access control lists (ACLs) and can only be set by root. For example, it will use names such as "system.posix_acl_access" and "system.posix_acl_default" for extended file attributes. The general wisdom is that unless you are using ACLs to store additional metadata, which you can do, you should not use the system namespace. However, I believe that the system namespace is a place for metadata controlled by root or metadata that is immutable with respect to the users.

The security namespace is used by SELinux. An example of a name in this namespace would be something such as "security.selinux".

The user attributes are meant to be used by the user and any application run by the user. The user namespace attributes are protected by the normal Unix user permission settings on the file. If you have write permission on the file then you can set an extended attribute. To give you an idea of what you can do for "names" for the extended file attributes for this namespace, here are some examples:

The first three example names are used for storing checksums about the file using three different checksum methods. The fourth example lists the originating author which can be useful in case multiple people have write access to the file or the original author leaves and the file is assigned to another user. The fifth name example can list the application that was used to generate the data such as output from an application. The sixth example lists the project that the data with which the data is associated. And the seventh example is the all-purpose general comment. From these few examples, you see that you can create some very useful metadata.

Tools for Extended File Attributes

There are several very useful tools for manipulating (setting, getting) extended attributes. These are usually included in the attr package that comes with most distributions. So be sure that this package is installed on the system.

The second thing you should check is that the kernel has attribute support. This should be turned on for almost every distribution that you might use, although there may be some very specialized ones that might not have it turned on. But if you build your own kernels (as yours truly does), be sure it is turned on. You can just grep the kernel's ".config" file for any "ATTR" attributes.

The third thing is to make sure that the libattr package is installed. If you installed the attr package then this package should have been installed as well. But I like to be thorough and check that it was installed.

Then finally, you need to make sure the file system you are going to use with extended attributes is mounted with the user_xattr option.

Assuming that you have satisfied all of these criteria (they aren't too hard), you can now use extended attributes! Let's do some testing to show the tools and what we can do with them. Let's begin by creating a simple file that has some dummy data in it.

$ echo "The quick brown fox" > ./test.txt
$ more test.txt
The quick brown fox

Now let's add some extended attributes to this file.

$ setfattr -n user.comment -v "this is a comment" test.txt

This command sets the extended file attribute to the name "user.comment". The option "-v" is the value of the attribute followed by that value. The final option for the command is the name of the file.

You can determine the extended attributes on a file with a simple command, getfattr as in the following example,

$ getfattr test.txt
# file: test.txt
user.comment

Notice that this only lists what extended attributes are defined for a particular file not the values of the attributes. Also notice that it only listed the "user" attributes since the command was done as a regular user. If you ran the command as root and there were system or security attributes assigned you would see those listed.

To see the values of the attributes you have to use the following command:

$ getfattr -n user.comment test.txt
# file: test.txt
user.comment="this is a comment"

With the "-n" option it will list the value of the extended attribute name that you specify.

If you want to remove an extended attribute you use the setfattr command but use the "-x" option such as the following:

$ setfattr -x user.comment test.txt
$ getfattr -n user.comment test.txt
test.txt: user.comment: No such attribute

You can tell that the extended attribute no longer exists because of the return from the setfattr command.

Summary

Without belaboring the point, the amount of data is growing at a very rapid rate even on our desktops. A recent study also pointed out that the number of files is also growing rapidly and that we are adding some very large files but also a large number of small files so that the average file size is growing while the median file size is pretty much staying the same. All of this data will result in a huge data management nightmare that we need to be ready to address.

One way to help address the deluge of data is to enable a rich set of metadata that we can use in our data management plan (whatever that is). An easy way to do this is to use extended file attributes. Most of the popular Linux file systems allow you to add to metadata to files, and in the case of xfs, you can pretty much add as much metadata as you want to the file.

There are four "namespaces" of extended file attributes that we can access. The one we are interested as users is the user namespace because if you have normal write permissions on the file, you can add attributes. If you have read permission on the file you can also read the attributes. But we could use the system namespace as administrators (just be careful) for attributes that we want to assign as root (i.e. users can't change or query the attributes).

The tools to set and get extended file attributes come with virtually every Linux distribution. You just need to be sure they are installed with your distribution. Then you can set, retrieve, or erase as many extended file attributes as you wish.

Extended file attributes can be used to great effect to add metadata to files. It is really up to the user to do this since they understand the data and have the ability to add/change attributes. Extended attributes give a huge amount of flexibility to the user and creating simple scripts to query or search the metadata is fairly easy (an exercise left to the user). We can even create extended attributes as root so that the user can't change or see them. This allows administrators to add really meaningful attributes for monitoring the state of the data on the file system. Extended file attributes rock!

# data[].attributes.attachment_link.description
Introduction I think it's a given that the amount of data is increasing at a fairly fast rate. We now have lots of multimedia on our desktops, and lots of files on our servers at work, and we're starting to put lots of data into the cloud (e.g. Facebook).

# data[].attributes.body
Something I had not really considered. A real eye opener.

# data[].attributes.attachment_link.description
Jumpstarting a new existence in an emerging city. This is an interactive documentary about everyday life in Domiz Camp, a Syrian refugee camp in northern Iraq. A combination of drawings, film, photography, sound and text takes you into the world behind the relief organization posters and gives you t…

# data[].attributes.attachment_link.readable_text
Travelling to the Middle East, The Gulf or Arab world on business?

No matter where in the world you go for work knowing a few words or phrases in the local language can break down barriers, build relationships and smooth the way to business success.

So when
In this blog, Zoe Trunks looks at 20 "must know" Arabic words and phrases every business person should learn before they visit an Arabic speaking country.

Our first four words are key when greeting and saying goodbye to people:

1. مرحبا - Hello (marhaban): This greeting is widely used throughout the Arab countries and is also one of the easiest greetings to pronounce making it a good word to know.

2. تشرفنا - Pleased to meet you (tasharafna)

3. كيف حالك؟ - How are you? male (kayfa halak) female (kayfa halik): There are two versions of this phrase: as with many Arabic phrases this phrase is dependent on the gender of the person you are speaking to, the first version is to be spoken to a man.

4. مع السلامة - Goodbye (ma'asalama)

So here are a couple words to get your conversations started:

5. ما اسمك؟ - What's your name? male (mā ismak) female (mā ismik)

6. ... اسمي - My name is.. (ismee)

7. من أين أنت؟ - Where are you from ? male (min ayna anta/i) female (min ayna anti)

Arab speakers can talk fairly quickly so if in doubt say:

8. أسف - Sorry (male - asif/ female - asifa): In this instance the ending depends on your own gender, if you are male you say asif if you are female you say asifa.

9. لا أفهم- I don't understand (la afham)

10. تكلم ببطء من فضلك - Please speak slowly ( akalam bibut min fadlak/lik): fadlak if you are talking to a man and fadlik if you are talking to a woman.

11. ؟ الانجليزية اللغة تتكلم هل - Can you speak English? (hal tatakallum al-lughah al-engleezia)

We know 'no' is important, yes equally so:

12. لا -No (la)

13. نعم - Yes (na'am): It's always good to know the opposite of the word no, we don't want you missing out on anything.

When being asked questions please and thank you are good words to know:

14. من فضلك - Please (min fadlak/lik): Again the two endings rely on the gender of the person being spoken to. "lik" is the ending for a female.

15. شكرا - Thank You (shukran)

16. ألعفو -You're welcome (afwan)

Travelling around could prove difficult without knowing how to ask directions:

17. عين؟- Where? (ayna)

18. يمين- Right (yimeen)

19. يسار- Left (yesaar)

20. على التول - Straight on (al'a tuul)

Markets are an integral part of life in any Arab speaking country, to initiate the customary haggling to get you a good bargain this little word is your conversation starter:

21. بكم هذا؟ /بكم هذه؟ - How much is that? (bi kam hatha/hathihi?)

building relationships in the Middle East or Arab world, keep this list in mind, it's not going to make you fluent but it will help!

# data[].attributes.attachment_link.title
20 Must Know Arabic Words and Phrases for your Business Trip to the Arab World

# data[].attributes.attachment_link.description
20 must know Arabic words and phrases evey business person should learn before they visit an Arabic speaking country. In the Middle East, The Gulf or Arab world knowing a few words in the local language can break down barriers, build relationships and smooth the way to business success.

# data[].attributes.body
Outputs beome inputs become outputs... but complex supply chains are not often symbiotic.

# data[].attributes.attachment_link.readable_text
The Constructing Excellence Sustainability Theme Group met on 25 th February to explore the concept of "The Circular Economy in Construction".

The concept if the circular economy is a move away from the linear model of "take, waste and make" to "one that is restorative and regenerative by design, and which aims to keep products, components and materials at their highest utility and value at all times, distinguishing between technical and biological cycles" . Clearly this is a challenge in construction which relies on fairly intensive energy and material waste by its nature.

Dr Paul Toyne of Balfour Beatty opened the session with some questions pointing the case for shifting toward a circular business model:

What are the key resources/materials we need within the built environment?

How much resources/materials do we need and for what?

What happens if we cannot access them?

What happens if they become too expensive or run out completely?

Paul gave a number of examples of where Balfour Beatty has implemented a circular approach. He freely admitted that not all of these could be described as pure examples of a circular economy, but more often than not this was due to dealing with existing infrastructure that simply wasn't designed with the circular economy principles in mind. He gave examples that touch upon product life extension, material re-use; and circular design.

The group thought that all of these examples sat somewhere on a spectrum between good corporate social responsibility and full circularity. While the latter is better than the former, the perfect shouldn't be the enemy of the good. One concern raised was that although there may be high diversion of waste from landfill, were all these materials being put to the best possible use - maximising their value? Also, partly due to falling commodity prices the secondary materials market had some failures which need addressing if we are to move towards a circular economy. Collaboration is key to matching supply with demand.
Dr Paul Toyne's presentation
Dr Martyn Kenny from Tarmac presented next and sought to answer how we can collaborate as an industry to drive value in a circular economy, and how his company could move from just supplying materials to whole life solutions. The circular economy is a well-used phrase, but it just the latest buzzword? In Tarmac's case they have high recycling rates, and are a net user of other peoples' waste, but there is not enough of this to avoid using primary materials at the moment. There is also the logistic issue that high weight/low value materials like aggregate are not always in the right place at the right time to be reused optimally. Tarmac have a network of 44 recycling sites which they would like to let the rest of the industry benefit from. Sometimes there can be market resistance to products with high recycled content because of a misconception they should be cheaper or are lower value, but hopefully with better education with will shift.

Andy Turner from the hosts Saint Gobain talked about the increasing maturity of the company when it came to material efficiency such as the British Gypsum business developing a Revit plugin to eliminate waste at the design stage. British Gypsum has a well-developed take back scheme. The better the waste segregation on site, the better this sort of scheme can be. Although it might seem counter intuitive to encourage a customer to use less product, it should actually strengthen the relationship and be good for repeat business.

The participants of the session all agreed that there were opportunities,and were keen for another session to explore further. If you are interested please email colm.quinn@constructingexcellence.org.uk

# data[].attributes.attachment_link.description
The Constructing Excellence Sustainability Theme Group met on 25 th February to explore the concept of "The Circular Economy in Construction". The concept if the circular economy is a move away from the linear model of "take, waste and make" to "one that is restorative and regenerative by design, and which aims to keep products, components and materials at their highest utility and value at all times, distinguishing between technical and biological cycles" .

# data[].attributes.attachment_link.readable_text
'I'm busy,' signals you don't have room for friends; be specific or cut back your calendar

I recently asked a friend I haven't seen in months if she wanted to get together and catch up. I envisioned us gabbing over cocktails at the new Vietnamese restaurant in our neighborhood. Or maybe I could fix her dinner.

Her reply: "Sure. Why don't you stop by for 45 minutes to an hour on Monday night around 8:30."

Copyright ©2023 Dow Jones & Company, Inc. All Rights Reserved. 87990cbe856818d5eddac44c7b1cdeb8

# data[].attributes.attachment_link.description
'I'm busy' signals you don't want to make room for friends or family. Be specific about what's really taking up your time or cut back your calendar.

# data[].attributes.attachment_link.description
In a culture where being social and outgoing are prized above all else, it can be difficult, even shameful, to be an introvert. But, as Susan Cain argues in this passionate talk, introverts bring extraordinary talents and abilities to the world, and should be encouraged and celebrated.