Library Hat Rotating Header Image

March, 2013:

Using Git with BitBucket: Basic commands – pull, add, commit, push

If you do coding, you will be making lots of tiny little changes to a file. You are also likely to be working on multiple computers at different locations. For documents and other types of files, we often use Dropbox or Google Drive/Docs. Tools like Dropbox and Google Drive/Docs are central repositories, and they allow you to always keep the most up-to-date version of the file, make changes to it, save it, and then access it at another computer. Dropbox and Google Drive/Docs also supports version-control. With those tools, you can review changes and revert to the previous state of file if you would like.

BitBucket is a tool similar to Dropbox. And it works with Git. Git is is a distributed revision control and source code management (SCM) system.  GitHub, which is another version-controlled repository web site is popular among coders and also uses Git. (If you want to try this with GitHub, the process is pretty much the same, but you may want to start by cloning somebody’s existing repo. Check out this ACRL TechConnect post by Eric.) BitBucket is similar to GitHub but it allows a completely private repository which is not supported in the free GitHub plan. So if you are working on stuff and don’t want them to be seen publicly until you are ready to release, BitBucket is a good choice.

In this post, I will show you the very basic commands of Git and  how I make changes to files, sync my local repository with the BitBucket repository, add/commit them to my local repo and push them to the remote repo in BitBucket for those who are not familiar with Git. Here, I assume that you already have git installed and set up a repository in BitBucket. If not, there are many tutorials online and also the instruction you get after signing up for BitBucket is quite clear and straightforward.

Once you are all set, the first step I run in my repo is always status command. When I type in git status in the command line (I am using Terminal in Mac), git shows in red that in my repo there are two files that I modified but have not committed. This means that the files were added, meaning they were explicitly added by the git add command but changed without being committed. You can make all sorts of changes to files but until you run the git commit command, it is sort of not official and you cannot push your changes and sync your updated files in the local repo with the remote repo.

**If the image is blurry, just double-click it and you will be able to see the clear version.**

git status

Git_status

But I also vaguely remember that I worked on some files in this remote repo from home several days ago and pushed the changes. Those changes have not yet been reflected in my local repo at my work computer. So I want to sync my local repo with the remote repo first, which has more up-to-date files. To do this, I run the following command. This literally pulls in all the changes from the remote repo to my local repo. And after a few seconds, you get the message that everything went well and you are good to go.

git pull origin master

Git_pull

Now at this point, I can start work on all the up-to-date files. So I go ahead and make some more changes to the two files – bkmklt.html and link.html. After that, I am ready to make the changes official, I run the commit command. You can type in a specific file name you want to commit  or you can just use a dot to make Git to commit all modified files. The commit command requires a commit message. So you have to add some message at the end. Here I write that I removed some comment lines. The message is more important if the change is for other people but try to make it as specific as possible.

If I have created a completely new file in my local repo (that is a designated folder where I set up a Git repo), I will have to add the file first in order to be able to commit it. You can do so by git add filename.xyz and you should be ready to commit it. If you want to add all new files you can also use a dot (.)  instead of a file name.

Below, I ran the status command again before running the commit command.

git commit . -m “removing some comment lines”

Git_commit

So the modified files have been committed now. But they are still in my local repo. If I want to get to them later from another computer however, I need to sync these files with the central repo in BitBucket. The push command does that. You are pushing out your local changes into the remote repo here. If all goes well, you will get the success message as  shown below. (Type in your BitBucket password when prompted.)

git push origin master

Git_push

The change is also recorded in my BitBucket account page.

bitbucket

 

I can also view the changes I made in BitBucket. The red part means what I deleted and the green part means what I added.

diff

Now when I go home and want to work on these files, I will start with “git pull origin master” to sync my home computer with the remote that is up-to-date.

It is really very much like Dropbox or Google Docs except that you get to type in lots of commands. I hope this will help those who are curious about Git but somewhat intimidated by the command lines! So try it out if you are curious.

Here is a great diagram that shows the command sequence of Git. And the entire Git cheatsheet is at: http://byte.kde.org/~zrusin/git/git-cheat-sheet-medium.png

Screen Shot 2013-03-25 at 4.23.29 PM

If you want to go to the next level and try working on someone else’s project in GitHub by forking and branching, here is a good tutorial “How to GitHub: Fork, Branch, Track, Squash and Pull Request” by Rich Jones. There are also many other resources for learning and using Git and GitHub at the ALA ALCTS/LITA CodeYear IG github repository.

 

 

 

 

 

 

 

Good Design: Pleasing to the Eyes “and” Functional

*** This post has been originally published in ACRL TechConnect on Mar. 13, 2013. ***

Many librarians work with technology even if their job titles are not directly related to technology. Design is somewhat similar to technology in that aspect. The primary function of a librarian is to serve the needs of library patrons, and we often do this by creating instructional or promotional materials such as a handout and a poster. Sometimes this design work goes to librarians in public services such as circulation or reference. Other times it is assigned to librarians who work with technology because it involves some design software.

The problem is that knowing how to use a piece of design software does not entail the ability to create a great work of design. One may be a whiz at Photoshop but can still produce an ugly piece of design. Most of us, librarians, are quite unfamiliar with the concept of design. ACRL TechConnect covered the topic design previously in Design 101 – Part 1 and Design 101 – Part 2. So be sure to check them out. In this post, I will share my experience of creating a poster for my library in the context of libraries and design.

1. Background

My workplace recently launched the new Kindle e-book leader lending program sponsored by the National Network of Libraries of Medicine/Southeast Atlantic Region Express Mobile Technology Project. This project is to be completed in a few months, and we have successfully rolled out 10 Kindles with 30 medical e-book titles for circulation early this year. One of the tasks left for me to do as the project manager is to create a poster to further promote this e-book reader program. No matter how great the Kindle e-book lending program is, if patrons don’t know about it, it won’t get much use. A good poster can attract a lot of attention from library patrons. I can just put a small sign with “Kindles available!” written on it somewhere in the library. But the impact would be quite different.

2. Trying to design a poster

When I planned the grant budget, I included an budget item for large posters. But the item only covers the printing costs, not the design costs. So I started designing a poster myself. Here are a few of my first attempts. Even to my untrained eyes, these look unprofessional and amateurish, however. The first one looked more like a handout than a poster. So I decided to make the background black. That makes the QR code and the library logo invisible however. To fix this, I added a white background behind them. Slightly better maybe? Not really.

Kindle0

My first try doesn’t look so good!

Kindle1

My second attempt is only marginally better!

 

 

 

 

 

 

 

 

 

 

 

One thing I know about design is that an image can save or kill your work. A stunning image alone can make a piece of design awesome. So I did some Google search and found out this nice image of Kindle. Now it looks like that I need to flip the poster to make it wide.

Kindle2

The power of a nice image! Too bad it is copyrighted…

But there is a catch. The image I found is copyrighted. This was just an example to show how much power a nice image or photograph can have to the overall quality of a work of design. I also looked for Kindle images/photographs in Flick Creative Commons but failed to locate one that allows making derivatives. This is a very common problem for libraries, which tend to have little access to quality images/photographs. If you are lucky you may find a good image from Pixabay which offer very nice photographs and images that are in public domain.

Kindle3

Changed the poster setup to to make it wide.

3. What went wrong

You probably already have some ideas about what went wrong with my failed attempts so far. The font doesn’t look right. The poster looks more like a handout. The image looks amateurish in the first two examples. But the whole thing is functional for sure, some may say. It does the job of conveying the message that the library now has Kindle E-book readers to offer. Others may object. No, not really, the wording is vague, far from clear. You can go on forever. A lot of times, these issues are solved by adding more words, more instructions, and more links, which can be also problematic.

But one thing is clear. These are not pretty. And what that means is that if I print this and hang up on the wall around the library, our new Kindle e-book lending program would fail to convey certain sentiments that I had in mind to our library patrons. I want the poster to present this program as a new and exciting new service. I would like the patron to see the poster and get interested, curious, and feel that the library is trying something innovative. Conveying those sentiments and creating a certain impression about the library ‘is’ the function of the poster as much as informing library patrons about the existence of the new Kindle e-book reader lending program. Now the posters above won’t do a good job at performing that function. So in those aspects, they are not really functional. Sometimes beauty is a necessity. For promotional materials, which libraries make a lot but tend to neglect the design aspect of them, ‘pleasing to the eyes’ is part of their essential function.

4. Fixing it

What I should have done is to search for examples first that advertise a similar program at other libraries. I was very lucky in this case. In the search results, I ran into this quite nice circulation desk signage created by Saint Mary’s College of Maryland Library. This was made as a circulation desk sign, but it gave me an inspiration that I can use for my poster.

An example can give you much needed inspiration!

Once you have some examples and inspiration, creating your own becomes much easier. Here, I pretty much followed the same color scheme and the layout from the one above. I changed the font and the wording and replaced the kindle image with a different one, which is close to what my library circulates. The image is from Amazon itself, and Amazon will not object people using their own product image to promote the product itself. So the copyright front is clear. You can see my final poster below. If I did not run into this example, however, I would have probably searched for Kindle advertisements, posters, and similar items for other e-book readers for inspiration.

One thing to remember is the purpose of the design. In my case, the poster is planned to be printed on a large glossy paper (36′ x 24′). So I had to make sure that the image will appear clear and crisp and not blurry when printed on the large-size paper. If your design is going to be used only online or printed on a small-size item, this is less of an issue.

Final result!

5. Good design isn’t just about being pretty

Hopefully, this example shows why good design is not just a matter of being pretty. Many of us have an attitude that being pretty is the last thing to be considered. This is not always false. When it is difficult enough to make things work as intended, making them pretty can seem like a luxury. But for promoting library services and programs at least, just conveying information is not sufficient. Winning the heart of library patrons is not just about letting people know what the library does but also about how the library does things. For this reason, the way in which the library lets people know about its services and programs also matters. Making things beautiful is one way to improve on this “how” aspect as far as promotional materials are concerned. Making individual interactions personally pleasant and the transactions on the library website user-friendly would be another way to achieve the same goal. Design is a broad concept that can be applied not only to visual work but also to a thought process, a tool, a service, etc., and it can be combined with other concept such as usability.

Resources

While I was doing this, I also discovered a great resource, Librarian Design Share. This is a great place to look for an inspiration or to submit your own work, so that it can inspire other librarians. Here are a few more resources that may be useful to those who work at a library and want to learn a bit more about visual design. Please share your experience and useful resources for the library design work in the comments!

 

What to Do with a Professional Association (with LITA as an example)

From Flickr: http://www.flickr.com/photos/21232564@N06/2234726613/

Many of us – librarians – are members of some professional organizations. We tend to join one and pay dues every year but don’t do much about or with those organizations beyond that. But that would be probably not the best way to make use of your professional organization. In order to best utilize your organization, you need to know what it does first and see if their activities fit with your interests. So do some research to see if it is a good fit for you. Secondly, you need to figure out how the organization works, what structure it has, what is the mode of operation, etc.

  • What interest groups does it have?
  • What kind of programs does it put up at conferences?
  • What committees does it have?
  • Who belong to the organization and what do they do for the organization?
  • What is the procedure for being involved with an IG or becoming a member of a committee (and the timeline)?
  • Is there a mentoring program?
  • What are, if any, tangible benefits for being a member?
  • Is there a board?
  • What does the board do?
  • What is the relationship between the board and the members?
  • Who do I contact if I have a suggestion?

I confess that I do not know the answers to all these questions for all organizations that I am a member of. I only got to know about a few organizations a little, while I was doing things that were of interest to me. But I think that organizations need to make answers to these questions as clear and transparent as possible to current and potential members and that members should also demand that organizations do so if not.

That having been said, here are some thoughts of mine about the organization that I have been involved for a while: LITA (Library Information Technology Association), a division of ALA (American Library Association). Andromeda Yelton, who is running for the the LITA board of directors, is interviewing many librarians involved with LITA as part of her campaign. I think it is a great project for not just those who are in the LITA leadership positions but also those who are interested in LITA and want to hear from other people’s thoughts on LITA as an organization. I am recording the video interview with Andromeda tomorrow, but I thought Andromeda’s three questions would be interesting to many others as well.  So you can check out my answers here if you prefer reading a write-up to watching a video (as I do). If you are a member of ALA and are interested in LITA, hopefully this will be useful. If your primary organization is not LITA, you can think about that other organization instead and think about how your organization does compared to LITA.

How did you get involved with LITA?

I went to the 2009 ALA Annual Conference in Chicago. That was my very first ALA conference, and at that time I had zero understanding about the structure of ALA such as a division, a roundtable, a committee, an interest group (IG) etc. But while I was planning what programs to attend, LITA kept popping up. And then I happened to go to this meeting of LITA Emerging Technologies IG, and there were maybe three dozens of librarians who were very much like me, early in their career, doing technology stuff, and was somewhat confused about this new title of Emerging Technologies Librarian and the job duties of this title. We had a fantastic conversation, and I ended up volunteering to put together the resources we discussed after the program. I eventually wrote a program proposal on the topic for the next ALA Annual conference with the vice-chair of that IG at that time, Jacquelyn (Erdman) after the conference. It got accepted, and so Jacquelyn and I put together the program for the 2010 ALA Annual, “What Are Your Libraries Doing about Emerging Technologies?” which was amazingly well received. So that was my first experience of getting involved with LITA at an active level. In 2010, I also volunteered to chair the quite new Mobile Computing Interest Group because the first chair, Cody (Hanson) was steeping down. So that’s how I started being involved with LITA.

At that time, I didn’t think that I was getting involved with LITA. I was just doing things that were interesting to me. But this is just my experience. There are many different ways to be involved with LITA. For example, I have a friend who joined LITA and then e-mailed to the LITA president asking to put him on a LITA committee. He was put on a committee almost immediately and then later also became an ALA Emerging Leader sponsored by LITA. So you can do that. Not many people would think of e-mailing the LITA president with a request for a committee spot. That’s out-of-the-box thinking! Some people also start by creating an Interest Group and/or by going to the LITA Happy Hour, which is also an excellent way to be involved with LITA.

What are the strengths of LITA?

LITA is a very big group because it is a division of an even bigger organization, ALA. So there are a great number of people who deal with technology at many different levels in many different types of institutions: public libraries, academic libraries, special libraries, small libraries, large libraries, system administrators, web masters, IT department heads, metadata librarians, etc. So you are almost guaranteed to meet fascinating people whom you did not know about and they always have interesting ideas and thoughts on the current trends of library technology.

Another strength of LITA that I see is its Interest Group(IG)s. There are a great number of them, and they are highly informal and welcoming to new members. If you cannot find a LITA IG you like, you can even start one yourself with not much effort. I know that many people gravitate towards bigger programs because IG meetings don’t always post a clear agenda in advance. But that is a mistake. You are more likely to learn about things you did not expect from IG meetings than from large programs.

I also think that the simplified program proposal process for the ALA Annual conference and the LITA Forum is a huge strength of LITA. It cuts down so many levels of bureaucracy, and this only has been implemented only recently (3 years ago or so I think). You just fill out a Google Form, and you don’t have to be even associated with LITA IG or even LITA (if I am correct) as long as the proposal is relevant to library technologies. (Now wouldn’t it be dreamy if we can simplify an organization’s structure just like that too? Just thinking…) The simplified procedure attracts more qualified potential speakers, thereby enriching the programs offered from LITA at conferences.

What are the challenges for LITA?

LITA members, particularly the new members, have an amazing amount of energy. I don’t think that LITA knows how to harness this energy to the maximum benefit to itself. I understand that there are existing structural and procedural practices, but those practices may be ill-suited for gathering and implementing the creative ideas from new members. A lot of times, what confuses and intimidates new LITA members are the structure and the operation of the organization. Now that I have been active with LITA for some years, it doesn’t seem too bad to me any longer! But this is probably what happened to many who lead LITA. They are probably too familiar to notice what barriers of entry exist to new members. You get used to it. So there needs to be a strong mechanism to get input from new members inside LITA and then do something about the input. LITA really needs to do more to reach out to new members to let them know what they can use LITA for and how to do so. It has gotten better over the years but it can still be much more improved.

Also, LITA has a few high-profile programs such as Top Tech Trends. So LITA is well-known at least to ALA members. But that popularity and recognition is connected to the strength of LITA only at a very abstract level. LITA needs to change that. I was one of the two LITA-sponsored ALA Emerging Leaders in 2010-2011, and my team did a big project about what to do to give a stronger brand and identity to LITA. And I am hoping to see that some of those ideas from our team project get picked up by the LITA leadership. I am also serving on the LITA Top Tech Trends committee and working on transforming the Top Tech Trends program into a more dynamic and participatory event. So far the idea was received with enthusiasm at the committee meeting last week. So we will see.

Overall, changes have been slow, and I think LITA members are not cut out for a slow process. They deal with very fast-paced information technology every day after all. So the speed of things getting done really needs to pick up to respond to the average high energy of LITA members.

Additional thoughts – Join or Not Join

I know that many people get put off by various things when they join LITA, or any other professional organizations. They feel that the organization is not welcoming enough, don’t do much for the benefit of individual members, seem to have an awful bureaucracy, have too many unproductive committees, and even have cliques. And probably all of these are true to a degree. But those cannot be changed immediately and it won’t help you in the mean time. Besides if you are interested in library technology and an ALA member, you cannot but cross paths with LITA at some point. So you might as well make the best out of it as much as you can. And that doesn’t necessarily entail being a member.

I think it is the best if people join an organization because it is actually useful to them. If you are interested in LITA, don’t just join and wait for things to happen. Start somewhere else instead. First check out the LITA listserv, go to LITA meetings and programs, meet with people in LITA, and see if something clicks with you, your interests, and what you want to do, learn, or try. If it does, then go ahead and do those things you want to do. While doing those things, if it turns out that you cannot proceed without joining LITA, then join it. Now you have something you are doing using the organization for your benefit. Consequently the membership will be worthwhile, and the organization will also benefit from your participation. This way the connection between you and the organization will be meaningful and concrete. And down the line after doing many things that excite you, perhaps when you get to care enough about the organization itself, you can also do some work for the organization itself to improve things that you did not not like much or to create things you would have liked to see.