Oh, me wants one. Me wants one bad.
Yeah, yeah, it's not Linux or OpenBSD. But it is *Nix-ish, and it's so purty. And I need a new computer, I really, really do.
In real life, though, I don't have that kind of cash to throw down right now. It looks like I might be borrowing an old Mac laptop from Lior Kesos of Linnovate shortly, so that will take care of my laptop needs. For the house I'll purchase a PC and put Linux on it (as usual). My little guy and I can make a homeschooling project out of setting up a Webcam + software to create a multi-touch, gesturable interface. I'll let you know how it goes here when we do it.
Wish list for my new computer:
1. bluetooth (to hook up with our cell phones)
2. webcam for video chat with far off friends and relations
3. multi-touch, gesturable track-pad like input
4. everything I already have on my current laptop
(you know, like 802.11g/n, region-free dvd movie viewing, KDE desktop, some fun games, etc...)
Wednesday, January 30, 2008
Tuesday, January 22, 2008
Mail, Calendar and Collaboration
We just set up Zimbra at work, and I'm really pleased with it. But I'm a little wary of the fact that Yahoo! just bought Zimbra. What will happen to this platform next? Nothing bad, I hope...
Here's why I like Zimbra, as opposed to the other open source groupware server packages out there. (Where to start?)
1) Zimbra is made up of familiar pieces. It uses the Unix philosophy, which is to write relatively small applications and then glue them together to do big jobs. In that vein, Zimbra uses Postfix, Apache, and other tried and true tools at its base.
2) Zimbra can be used with all your usual clients. It works with IMAP or POP3, and even has an available (non-open) Exchange-like piece that you can use for your (shudder) Outlook users. It also has nice, standards based things like an ical version of your calendar, which you can use to connect up with standards-friendly calendar clients.
3) Zimbra has a fantastic Web-based client. It's all AJAXy and buzzword compliant, but that's not what's great about it. My favorite part about it is actually reason #4...
4) Zimlets. Zimlets let you create all sorts of extensions that will work in Zimbra. Here at this company we're in the process of planning the next generation of their whole in-house software system, and I'm putting Zimlets at the core of several pieces of that software architecture. Customer service, billing, accounts payable, marketing, and supply-chain will all have direct access between their respective job-function-related applications and Zimbra, both ways. For instance, a CS rep will be able to read an email sent to service@..., mouseover the customer name to see that customer's key info or mouseover the order number and get info about that particular order. Click on either one and the cs rep will go straight to the full editable customer or order page. All this, of course, will be based on Zimbra group permissions which will be sync'd up with the user/group permissions on the Web interface for our customer service tools.
As you can see, I'm very excited about the possibilities. This is why I keep working in this industry. Fun stuff. :)
Here's why I like Zimbra, as opposed to the other open source groupware server packages out there. (Where to start?)
1) Zimbra is made up of familiar pieces. It uses the Unix philosophy, which is to write relatively small applications and then glue them together to do big jobs. In that vein, Zimbra uses Postfix, Apache, and other tried and true tools at its base.
2) Zimbra can be used with all your usual clients. It works with IMAP or POP3, and even has an available (non-open) Exchange-like piece that you can use for your (shudder) Outlook users. It also has nice, standards based things like an ical version of your calendar, which you can use to connect up with standards-friendly calendar clients.
3) Zimbra has a fantastic Web-based client. It's all AJAXy and buzzword compliant, but that's not what's great about it. My favorite part about it is actually reason #4...
4) Zimlets. Zimlets let you create all sorts of extensions that will work in Zimbra. Here at this company we're in the process of planning the next generation of their whole in-house software system, and I'm putting Zimlets at the core of several pieces of that software architecture. Customer service, billing, accounts payable, marketing, and supply-chain will all have direct access between their respective job-function-related applications and Zimbra, both ways. For instance, a CS rep will be able to read an email sent to service@..., mouseover the customer name to see that customer's key info or mouseover the order number and get info about that particular order. Click on either one and the cs rep will go straight to the full editable customer or order page. All this, of course, will be based on Zimbra group permissions which will be sync'd up with the user/group permissions on the Web interface for our customer service tools.
As you can see, I'm very excited about the possibilities. This is why I keep working in this industry. Fun stuff. :)
Thursday, January 10, 2008
Improving Web Research
This isn't my usual level of geeky tips, but something that comes up a lot for anyone who has to learn on the Web all the time. "Back in the day" when I was in college, I read books and highlighted them as I went, or else I'd take copious notes on 3x5 cards. Then, when it was time to review or to gather the information to put into a report, I'd have easy access to everything. On the Web it's a bit different. I can read stuff, but until now, it's been a bit more difficult to gather the details I need from a specific page along with notes and references I would have written in margins or on cards. Bookmarks alone just don't cut it.
There are a few tools out there now that are aiming to fix this problem, though. I use Google Notebook right now as my main computer-based note taking tool, but I'm looking around to see if there is anything better.
Google's Notebook tool is actually rather nice. It works with a browser plug-in that sits in the right-hand corner of my browser status bar. I can click it, and the notebook opens up. I can have several "notebooks" that each hold different sorts of information. I can type notes myself, or I can highlight something in my browser and then drag it to an open notebook, or press "clip" in the notebook plug-in, and I get a little note with the text or images I've highlighted plus a link back to that page. In the Web page for the notebook (though not in the little plug-in version) I can see the date that the note was taken, which is important for citations and the like. I like it, I'm just wondering what else is out there before I get so much data into this notebook system that migration would simply be a major pain.
There is a tool called i-lighter that looks very interesting. It allows you to use your mouse like a highlighter on the screen, and then it saves your highlighted text, along with any other notes that you want to write. Problem? It's a Windows application. Sure, I could use it with Wine, but unless it completely rocks the universe, I don't see a reason to do that.
I have heard about other pieces of software in this category that are under development, but I have yet to experiment with any of them. If you have any recommendations, I'd love to hear about them!
There are a few tools out there now that are aiming to fix this problem, though. I use Google Notebook right now as my main computer-based note taking tool, but I'm looking around to see if there is anything better.
Google's Notebook tool is actually rather nice. It works with a browser plug-in that sits in the right-hand corner of my browser status bar. I can click it, and the notebook opens up. I can have several "notebooks" that each hold different sorts of information. I can type notes myself, or I can highlight something in my browser and then drag it to an open notebook, or press "clip" in the notebook plug-in, and I get a little note with the text or images I've highlighted plus a link back to that page. In the Web page for the notebook (though not in the little plug-in version) I can see the date that the note was taken, which is important for citations and the like. I like it, I'm just wondering what else is out there before I get so much data into this notebook system that migration would simply be a major pain.
There is a tool called i-lighter that looks very interesting. It allows you to use your mouse like a highlighter on the screen, and then it saves your highlighted text, along with any other notes that you want to write. Problem? It's a Windows application. Sure, I could use it with Wine, but unless it completely rocks the universe, I don't see a reason to do that.
I have heard about other pieces of software in this category that are under development, but I have yet to experiment with any of them. If you have any recommendations, I'd love to hear about them!
Sunday, December 9, 2007
Give a user a new group
So, you have someone who just got a new position within your organization and now s/he needs additional permissions on the server. It makes more sense to give people permissions based on their position rather than on their user. That way, you can give and take exactly the right group of permissions for the position based on a well thought out policy rather than a spur of the moment, "I think they need x to get things done today," sort of thing.
A perfect example of this is sudoers privileges. You can give specific root-type abilities to users or groups of users in the
You want to use
Now your user won't lose any of the old groups s/he had, but s/he will get the new one that they need.
*NB: There are a couple of notations for username and groupname for ownership on *Nix. One is
A perfect example of this is sudoers privileges. You can give specific root-type abilities to users or groups of users in the
/etc/sudoers
file. Another example of this is when you make a certain folder owned by a specific group and have people write to it as *themselves.thatGroup
. You want to use
usermod
to add a new group to a user, but the problem is that when you use -G
to add additional groups, it takes the list that you give it and erases whatever was on the list before. The solution is to add -a
for append like this: usermod -G groupname -a username
Now your user won't lose any of the old groups s/he had, but s/he will get the new one that they need.
*NB: There are a couple of notations for username and groupname for ownership on *Nix. One is
username.groupname
. The other is username:groupname
They are often interchangeable on a single OS or distro, but sometimes you can only use one or the other for commands like chown
.
Monday, November 19, 2007
Turning rpm's into deb's
The phone system we use at work right now has a program called MXIE that handles telephone call logging and other whatnotery on your computer. They are nice enough to have a Linux version of the software, but not nice enough to provide source to build it from. They have binary installation files, but only in rpm format. I'm running Kubuntu on my work laptop. Rpm's will do me no good.
Enter Alien. This nifty little utility will convert those pesky rpm's into deb packages so that you can install them easy-peasy on a Debianish system like Ubuntu.
If you don't have Alien already, make sure you have universe repositories set up, and then, from the command line
Now you are ready for this
Dun-du-dun!!! You are now ready to install your package
Enter Alien. This nifty little utility will convert those pesky rpm's into deb packages so that you can install them easy-peasy on a Debianish system like Ubuntu.
If you don't have Alien already, make sure you have universe repositories set up, and then, from the command line
sudo apt-get install alien
Now you are ready for this
sudo alien -k name-of-rpm-file.rpm
Dun-du-dun!!! You are now ready to install your package
sudo dpkg -i name-of-deb-file.deb
Sunday, November 18, 2007
Internationalization/Localization Cheat Sheet
ISO 639-2 Language Codes live here:
http://www.loc.gov/standards/iso639-2/php/code_list.php
Command Line Tools
info gettext will get you all the info you need to use the GNU gettext utility.
File Structure
Stick your po and mo files into a structure like this:
PHP Functions
Internationalize your strings in PHP using the handy-dandy underscore operator.
More info on gettext functions in PHP:
http://php.net/gettext
http://www.loc.gov/standards/iso639-2/php/code_list.php
Command Line Tools
xgettext
will collect all your strings for you from a file or set of files into a po file.msgfmt
will turn your po files into mo files.info gettext will get you all the info you need to use the GNU gettext utility.
File Structure
Stick your po and mo files into a structure like this:
/src
/locale/en/LC_MESSAGES/messages.mo
messages.po
es/LC_MESSAGES/messages.po
messages.mo
PHP Functions
putenv ("LC_ALL=es");
sets your locale to Spanish.bindtextdomain ("messages", "./locale");
shows where to find the translation tables.textdomain ("messages");
says what domain we're using. Internationalize your strings in PHP using the handy-dandy underscore operator.
print(_("Hello World"));
More info on gettext functions in PHP:
http://php.net/gettext
Labels:
gettext,
I18n,
internationalization,
l10n,
localization,
PHP
Thursday, November 15, 2007
Cups Printing from the Command Line
Sometimes you just need to print something without going into an application. Here's how...
First, find out what printers are available
That will tell you what printers are available to you. Then you can print to one of them
Need to find out what jobs are running right now?
(that's the letter oh, not the number zero)
Need to cancel a job?
For more information and all sorts of other CUPS goodness, check http://www.cups.org
First, find out what printers are available
lpstat -a
That will tell you what printers are available to you. Then you can print to one of them
lpr -P [printer_name] [file_name]
Need to find out what jobs are running right now?
lpstat -o
(that's the letter oh, not the number zero)
Need to cancel a job?
lprm [job_id]
For more information and all sorts of other CUPS goodness, check http://www.cups.org
Subscribe to:
Posts (Atom)