It was a long time since I had been looking for a way to change the login screen theme in Ubuntu Maverick 10.10. Many blogs and forums that I encountered suggested to do this:
sudo cp /usr/share/applications/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow
which started gnome-appearance-manager upon login.
Then, in order not to be annoyed with this popping up window it was needed to execute the following command:
sudo unlink /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop.
This doesn't sound easy and smooth, right? Also this way allows you to change only background image, GTK theme, fonts, cursor style, etc. It does not allow you to completely revamp the login screen layout by installing one of your favorite GDM themes from gnome.org or gnome-look.org.
Other forums suggested installing Ubuntu Tweak, which can do pretty much the same as gnome-appearance-manager.
I thought it was useless to try finding other better ways to change the design exactly how I wanted it to be. However, I thought there should be some way to hack this problem. So, I thought why not to try to find the old GDM package and install it from sources.
I found there was still such the package on http://launchpad.net: https://launchpad.net/ubuntu/jaunty/+source/gdm.
1) You should download this one: gdm_2.20.10.orig.tar.gz,
which is the GDM for Ubuntu Jaunty.
This is because since Ubuntu Karmik 9.10 the feature for configuring the GDM themes was disabled.
2) When you downloaded the package, extract it typing this command:
tar -xzf gdm_2.20.10.orig.tar.gz
3) Then go to that directory:
cd gdm_2.20.10
3) Once you are in there first you need configure the GDM:
./configure --prefix=/usr
You should type --prefix=/usr/ if you want to install the old GDM on top of the current, new, GDM. By default it is installed in /usr/local.
You would want to install it like that because if you are a XFCE user, for example, then the old GDM won't see XFCE from /usr/local.
4) Next, type:
make check
5) Then compile:
make
6) And the final step is to install:
make install
Note: all these actions should be done as a superuser.
So, that's it. You can reboot your system and you will see old GDM where you can install your GDM theme. ![]()
The steps below will guide you through the process of installing a different login screen theme:
1) After a reboot you should see the old login screen theme (it's called Happy Gnome).
2) In the bottom left corner go to Options
3) Select Configure Login Manager...
4) It will ask you your root password.
5) You should now see the dialogue window with several tabs.
6) Go to the Local tab.
7) You should see various settings options for the theme.
8) Click Add, which means adding a new theme.
9) Search in Filesystem directory (meaning the root (/) directory).
9.1) All your themes should be saved in /etc/gdm/themes.
9.2) Even if there is not the themes directory, create one and save your themes there so that you could access them.
P.S. One more thing. If you are having the problem with that annoying dialog window telling you to enter a password in order to unlock your keyrings each time you log in, you should delete this file: ~/gnome2/keyrings/login.keyring. Also you should right-click on the Network Manager icon (in the top right corner of your desktop), go to Edit Connections, left-click on it, go to Wireless tab, click Edit, select both Connect automatically and Available to all users.
So, that is what I have done and it worked perfectly good for me. ![]()
If you are a Brooklyn College student, who has a Linux device and wonders how he / she can surf the web on campus, then this procedure should be helpful for you.
I tried the following steps on the Ubuntu Maverick 10.10 using the GNOME 2.32.0. So the following procedure applies to that environment mentioned above. Although I assume it will be very similar on other distributions, or other desktop environments.
1) Go to the Network Manager by right-clicking on the connections applet, the one which shows how strong your WiFi / Ethernet / 3G signal is, and selecting Edit Connections.
2) You will see the window with several tabs there.
3) In the Wireless tab go to where it says SSID and put BC-WiFi.
4) Then go to the Wireless Security tab and choose WPA & WPA2 Enterprise as Security.
5) As for the Authentication choose Tunneled TLS.
6) You may leave Anonymous identity blank.
7) Skip the CA certificate and leave it with None chosen.
8) Inner authentication should be PAP.
9) Then enter your Brooklyn College email username as Username.
10) Password is your password to your Brooklyn College email, which is in the format: MMDDSSSSS where M is your month of birth, D is your day of birth, S is five last digits of your SSN.
11) Press button Apply, which as a result should give you one more dialogue window where you should press Connect. It can give you another dialogue window complaining about CA Certificate, but you just need to press Ignore.
I hope this article was helpful. Enjoy! ![]()
Throughout the history humanity always moved towards the future by creating and introducing new technologies, which were not known before. Those were inventions and in order to stimulate the technological progress, governments started to issue certain documents that confirmed a person's ownership of a new product, or a service. The documents were called patents. Patenting started from the very early times, for example, when ancient Greek government from the city of Sybaris encouraged everyone to discover any new refinement in luxury. There does not seem anything wrong for an owner of the invention to benefit from his / her work. However, since the late 20th century patenting became slightly, and sometimes even very, complicated with an emergence of software products sphere. The problem was whether computing algorithms should or should not be patented. To approach it I am going to discuss a couple of cases about software ownership, which became pretty much important lessons for IT industry to consider.
The first case dates back to more than twenty years from now, to the times when the World Wide Web was still pretty young. It is about the Graphic Interchange Format, or GIF, that is “a bitmap image format that was introduced by CompuServe in 1987”. The software ownership issue was not so much about the image format itself, but rather about the compression algorithm it is using. The algorithm is called LZW (Lempel-Ziv-Welch) , it was developed in 1978 by three inventors in the Sperry Research Center, and patented in 1984. Its idea was to encode sequences of 8-bit data as fixed-length 12-bit codes. It keeps a dictionary of all codes for a particular set of data during encoding and decoding. For images with small color tables there was a variable-width code introduced, which meant that “codes start one bit wider than the symbols being encoded, and as each code size is used up, the code width increases by 1 bit” up to maximum of 12 bits.
In 1986 the Sperry Corporation and the Burroughs Corporation merged into Unisys Corporation, which will be the owner of the patent number 4,538,302 that was granted by the U.S. Patent Office in 1985. That particular patent was exactly the one that covered the LZW compression algorithm. Meanwhile, the GIF was developed as a free and open specification. So, it was becoming widely popular amongst web developers. Neither CompuServe nor the Web community knew of the compression algorithm patent that is bounded to that product. Unisys was silent for nearly seven years about their patented software, which was widely used. In 1994 the corporation finally woke up and demanded fees for their algorithm usage. So, they signed licensing agreement with CompuServe that obliged developers to pay a license fee in order to continue using the GIF format. Also Unisys collected the minimum royalty of $0.10 from developers, who distributed the GIF software for free. The patent covered only the software for writing GIF files because it directly used the LZW algorithm. As the author of the paper suggests it also could cover GIF readers because Unisys describes decompression of a LZW-compressed data, too. Web developers became upset because the GIF was a lossless image format, while known at that time JPEG was a lossy one, so it could not be considered as an alternative. As a result people started working on the patent-free replacement for GIF that is Portable Network Graphics, or PNG, which is “an extensive file format for the lossless, portable, well compressed storage of raster images". It was first issued in 1996.
Battilana also explains in his paper that software is usually copyrighted, but since 1981 in the U.S. it became possible to patent algorithms. For some people, such as inventors, it can be a great benefit, while for others such as developers, who may choose to use those products, it may result in big troubles and even lawsuits against them. It is so because in order to design a project, a developer should very carefully examine all available tools that he needs. This is so because, for example, if one is designing a graphics file format, he or she may find dozens or hundreds of patents on compression software.
Another example of how patents can impede software industry is described by Dr. Ross N. Williams. He talks about developing a set of compression algorithms, which he called the LZRW series. They were based on Markov's algorithms and were improved modifications of LZ77 and LZW. However, as he says that software patents “drove a stake through the heart of the LZRW algorithms”, which means they basically killed those ideas. As a result Dr. Williams stopped his career in data compression.
The second case that I would like to discuss is more recent. It deals with the issue that appeared in May, 2011. Apple's iOS API gives developers the ability to add the feature of in-app purchases to their applications. Basically it is used to be able to upgrade to the premium version of a paid iOS program. Also it is used to buy something from within an application. Relatively recently, in May, 2011, some company, which name is Lodsys, LLC., sent letters to those developers, who implemented the in-app purchases feature saying that they are violating the patent number 7,222,078. That patent talks about gathering feedback from users and sending it to a central unit, meaning a vendor of a certain product. It was filed in 2003 by an inventor Daniel H. Abelow. The stages of ownership of that legal document can be the following. In 2004 Abelow sold it to Ferrara Ethereal, LLC, then in 2009 the former sold it to Webvention, LLC, and finally Webvention, LLC sold it to Lodsys, LLC. This case is very peculiar because the mentioned above company is targeting single developers, but not Apple, Inc. itself, that is a creator and an owner of the controversial API. It is not very clear where this firm appeared from. However, they created the web log on their website where they explain reasons for their accusation. For example, they state: “Lodsys has only one motivation: we want to get paid for our rights. ”. This basically means they want iOS developers to buy license from them in order to continue using the in-app purchase feature. It is also not really clear whether that feature is related to the discussed patent number 7,222,078. This case is still currently unresolved and Apple, Inc. decided to enter the courtroom arena as the defendant in order to protect its developers.
In my opinion, looking at those cases discussed above, it can be noticed that patenting of algorithms can make the IT industry and software development sphere, in particular, less flexible. This is so because instead of focusing on ideas that developers want to implement and how they are going to do it, they also need to waste time carefully examining legal sides. This is considering the fact that most of programmers may not be proficient in the law field as it is not their required skill. If developers skip checking legal issues of their projects, there is a pretty high risk to get into similar troubles as the web community in the first case, or iOS programmers in the second one. This is true especially when a software engineer wants to use tools that were created after 1981 because it was the year when it became possible to patent algorithms.
In conclusion, software ownership issues are still open problems, which should be reconsidered very carefully. Of course, there should be patents in order to provide security for an owner's inventions, but in the same time there should not be barriers, which slow down the technological progress.
References:
1. Wikipedia, “Patent”, http://en.wikipedia.org/wiki/Patent
2. Wikipedia, “Graphic Interchange Format” http://en.wikipedia.org/wiki/Graphics_Interchange_Format
3. Wikipedia, “Lempel-Ziv-Welch”, http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch
4. Stuart Kaie “Sad day...GIF patent dead at 20”, http://www.kyzer.me.uk/essays/giflzw/
5. Michael C. Battilana, “The GIF Controversy: A Software Developer's Perspective”, http://www.cloanto.com/users/mcb/19950127giflzw.html
6. W3C, “PNG (Portable Network Graphics)”, http://www.w3.org/Graphics/PNG/
7. Dr. Ross N. Williams, “Dr. Ross's Compression Crypt”, http://www.ross.net/compression/
8. Engadget, “Lodsys warns iOS devs, alleges in-app purchases infringe its patent”, http://www.engadget.com/2011/05/13/lodsys-warns-ios-devs-alleges-in-app-purchases-infringe-its-pat/
9. Google Patents, “Methods and systems for gathering information from units of a commodity ... Daniel H. Abelow”, http://www.google.com/patents?id=nA2AAAAAEBAJ&printsec=abstract&zoom=4&source=gbs_overview_r&cad=0#v=onepage&q&f=false
10. United States Patent and Trademark Office, “Patent Assignment Abstract of Title ”, http://assignments.uspto.gov/assignments/q?db=pat&qt=pat&reel=&frame=&pat=7222078
11. Lodsys, LLC, “Why are you targeting Apple developers or Android developers? Why are you picking on small developers who cannot defend themselves? ”, Last paragraph, http://www.lodsys.com/1/post/2011/05/why-are-you-targeting-apple-developers-or-android-developers-why-are-you-picking-on-small-developers-who-cannot-defend-themselves.html
12. CNet News, “Apple tries to intervene in Lodsys lawsuit”, http://news.cnet.com/8301-27076_3-20070465-248/apple-tries-to-intervene-in-lodsys-lawsuit/
To ensure their stable positions in business all companies try to protect their information, which is directly related to products they manufacture and sell. That kind of information is called trade secrets, which is business data of economic value about something, which has costs and an effort to develop and is unknown to the public. There is a large risk that trade secrets can be revealed to companies competitors. For example, this can happen due to employees changing their jobs, or industrial espionage, which is illegal. There are the following ways that organizations can try to protect that data: making their potential employees to sign non-disclosure agreements, or non-compete contracts, or both. In this paper I am going to discuss the former. Non-disclosure agreements are legal documents between an employer and an employee, between a company and third-party developers and between two companies where the latter agrees not to take copies of computer programs and not to reveal any details about software that was produced by an organization. There is an ethical issue with NDA because protecting trade secrets can involve looking at those relationships listed above. It can be shown through the following couple of examples that discuss relationships between companies and people (developers, employees, etc).
The first case talks about the lawsuit between Hewlett-Packard Company, or HP, and its former CEO Mark Hurd. It was brought to the court arena because Hurd moved to work for HP's competitor that is Oracle Corporation. The cause of Hurd's decision was the scandal that an employee, Jodie Fisher, lifted because of “sexual harassment” from the former CEO' side. After the company investigated that problem, it was found there was not any actual sexual harassment. HP's reaction to sue Hurd is understandable because the organization gave him millions of dollars for keeping important trade secrets as he signed the non-disclosure agreement. Such the event was indeed troublesome for Hewlett-Packard Company because their former CEO was going to take the position of Co-President in Oracle Corporation. According to HP, this could lead to the “inevitable disclosure of trade secrets”. As the New York Times implies Hurd did not have a non-compete contract with the company because California courts do not favor those types of legal documents. This is to ensure employees' mobility while looking for jobs and going to work in places, which they find most comfortable and beneficial. As the author of that article concludes this case showed that it is impossible for companies to prevent their employees from moving to their competitors. Lisa Chapman, from Royse Law Firm, PC, in her paper discusses this lawsuit and says that California courts' position against non-compete agreements remains pretty strong. She also says that companies, which accept workers from their competitors, should familiarize themselves with trade secrets laws and should not exploit workers' knowledge to gain competitors' confidential data. Otherwise, if they do, then they can be liable for their actions.
The second case relates to a relatively young sphere of IT, which is application development for mobile platforms. The Android is a software stack that includes operating system, middleware and applications. It is now maintained by Google, Inc. and was previously purchased from Android, Inc. in 2005. The system is based on the modified Linux kernel, and its source code was made public under the Apache license. However, in 2009 there was an interesting case that Google, Inc. decided to open the source code of the Android 2.0 only for a limited number of developers. To select those chosen ones the company organized the Android Developers Challenge, which is a competition to encourage developing the best applications. The winners were those whose applications gained the highest score. The reason for such the action was to complete the project as quickly as possible. It was so as the fewer people were working on it, the faster they would go. This argument was given by Eric Chu, who is Google's Mobile Platform Program Manager. Why is it related to NDA? There was also another small nuance that, after winners had been chosen, Google, Inc. required them to sign the non-disclosure agreement. This was so that Android developers would not be able to share any information regarding software in the Android 2.0. Such the news shocked many people because it directly contradicted the nature of open-source. According to the Apache License, under which the Android is distributed, its users should have the ability to freely use it, modify it and distribute it. That NDA certainly made those features unavailable for most developers, which made the Android 2.0 no different from, let us say, Windows by Microsoft Corporation, which is also closed for only a limited number of people, or any other proprietary software.
More recent news about the Android 3.0 are not really satisfactory for the open-source community either. This is so because Google's spokesman said that they were not going to release the latest software to the public until they did not finish their work on it. One year earlier Andrew Rubin, Senior Vice President of Mobile, stated his definition of openness responding to Steve Jobs's, Apple's, Inc. CEO, objection that the Android was not open. The definition meant that the software was opened if anyone could download its source code and compile it him / herself. According to that statement, the Android 3.0 is not open-source.
The third case relates to the nowadays Google's biggest competitor in the area of mobile computing, which is Apple, Inc. This company is specializing in manufacturing desktop and portable computers, cell phones, MP3 players and other gadgets. Since it is supporting its hardware products with its own proprietary software, it has become known as one of the most closed and secret companies. This is because of different stories where they tried to stop prototypes of their new products from leaking, but sometimes they failed. As for the iPhone OS, also known as the iOS later, Apple, Inc. required third-party application developers to sign the non-disclosure agreement for a long time. It was so as to add an additional security level, according to the company. However, in 2008 something pleasant happened for those programmers. Apple, Inc. dropped their NDA from the iPhone software. This was a strategic move to clean its bad reputation about a very strict closeness of the platform, and also not to lose its leading position in the mobile computing race against competitors. Now iOS developers are free to discuss current platform features and flaws, which they encounter, with each other and the outside world.
After looking carefully at those cases described above, it can be noticed that the NDA problem can be applied both to complex corporate issues and third-party developers, who choose to use tools, which are supplied by a certain company. Although the first case describes the problem, which exists only in the Silicon Valley, it can be shown what risks an organization can face if its top employee leaves with a handful of trade secrets in his head. Especially, it can seriously damage the former organization's business if that top employee's employer is its direct competitor. The Silicon Valley problem might be fixed with making employees to sign non-compete agreements. However, it impairs a worker's ability to search for new jobs. In some cases, it may also be impossible to find a job for a person, who was fired, or who left for other personal reasons. Difficulties may be either his / her specialty, or an exposure to extremely confidential data, which many competing organizations can find interesting to obtain. The rest two cases describe how non-disclosure agreements impact developers, who are not directly involved in corporate affairs, e.g. freelancers. The abuse of open-source licenses described above can impede the project development, or can hide something from the community's eyes. This is so because, for example, no one ever decided not to open source code for one of numerous Linux distributions. This is so as many enthusiasts across the world can work on the same project and catch bugs faster. Such the system simply works because those numerous Linux distributions are still alive and have many users, who are happy to use them. Putting non-disclosure agreements onto third-party developers can dramatically slow down the development of mobile applications and discourage many programmers to put their, perhaps innovative, ideas into reality.
In conclusion, the problem of non-disclosure agreements is very complex and has many issues to consider. In order to solve it, we need to take in account all agents that can be affected such as employers, employees, third-party developers. We should take care of each in such a way so that to minimize a potential damage, which can be taken by all involved entities.
References:
1. George W. Reynolds, “ Ethics in Information Technology, Third Edition ” (pages 207-209)
2. Gregory Gromov, ”NDA Experiment Set up by Mark Hurd.”, http://www.netvalley.com/silicon_valley/Hurd_NDA_HP.htm
3. Ashlee Vance, “H.P. Sues Its Ex-Chief in New Job”, http://www.nytimes.com/2010/09/08/technology/08hewlett.html
4. Lisa Chapman, “The Impact of the Mark Hurd Saga on California's Ban on Covenants Not to Compete, ”http://www.rroyselaw.com/newsletter_mark_hurd_saga.html
5. Wikipedia, “Android (operating system)”, http://en.wikipedia.org/wiki/Android_%28operating_system%29
6. Google Code, “Android Developer Challenge”, http://code.google.com/android/adc/
7. Rob Jackson, “Android 2.0 Developers Face Another NDA”, http://phandroid.com/2009/10/27/android-2-0-developers-face-another-nda/
8. Wikipedia, “Apache License”, http://en.wikipedia.org/wiki/Apache_License
9. Cade Metz, “Steve Jobs vindicated: Google Android is not open”, http://www.theregister.co.uk/2011/03/24/google_will_not_open_source_android_honeycomb_on_release_of_first_devices/
10. Jason Chen, “This is Apple's Next iPhone”, http://gizmodo.com/5520164/this-is-apples-next-iphone
11. Zach Epstein, “Apple kills NDA on iPhone app development”, http://www.bgr.com/2008/10/01/apple-kills-nda-on-iphone-app-development/
Once I needed to upload an album of about 50 phots. I wanted to pre-process them such as to put my copyright watermark and to make their sizes smaller.
I didn't really have a strong desire to open and close the GIMP image editor nearly 50 times. So, I decided to automate this process by writing two scripts.
The source code is here.
To make them executable (assuming you copied those files), you need to
chmod u+x placeWatermark.sh
chmod u+x resizePhotos.sh
If you want to run them from whichever place besides a current directory, you would need to copy those files into ~/bin, which is your home binaries directory.
These are basically my first shell scripts, so I would really appreciate any feedback.
Also I hope that they will make watermarking your photos easier.
P.S. I could not find any decent code source plugins for the b2Evolution engine, so I posted those scripts on my wordpress blog.
:: Next >>