The next few years should get interesting. Xerox has announced the availability of silver-based inks that can print circuits on materials other than silicon; for example plastic, film or textiles.
The implications of these silver circuits are interesting. We will be able to embed electronics more cheaply and in much more useful materials. No one wants to walk around wearing a silicon board. But what if regular clothing could become ‘intelligent?’
One immediate application would be RFID tags. This breakthrough will lower their cost dramatically paving the way for huge efficiency gains in warehousing and shipping logistics. I wouldn’t be surprised if RFID readers start making their way into consumer electronics in the next few years, allowing consumers to scan all sorts of objects around them – from milk cartoons, clothing items and restaurant menus – to gather more relevant and real-time information about those objects. Imagine scanning a restaurant menu to be taken to a Web site on your iPhone that shows you pictures of the actual dishes.
P.S. Some rumors on RFID circuitry making it to the iPhone.
We recently started a development site for a new project. Soon, we noticed an Amazon AWS instance accessing URLs deep within our site regularly. The site was access protected (you need to be logged in to see the pages), so those access attempts failed but were annoying nonetheless.
A bit more digging revealed that this was the Alexa bot trying to crawl our site. I am not sure how they found it so quickly (we have no incoming links and this was a dev.****.*** subdomain) — they probably analyze DNS entries to find sites more efficiently. I also am not sure how they found the deep URLs (they are not exposed to the public part of the dev site), but Alexa was here nonetheless.
This reminded us that it’s a good idea to prevent access to your development sites using a robots.txt file at the root of your domain with the following content:
User-agent: *
Disallow: /
Of course, this will only keep out legitimate web crawlers spidering your site that actually respect the robots.txt file – but at least you have a few less people to worry about.
THIS POST IS STILL BEING COMPLETED IN SOME SECTIONS
I spend part of my time as a system admin for our servers. Since I am fairly new to Linux, I assembled a guide of the most common CLI commands as a reference for myself. I decided to share my command reference guide in case anyone else finds it useful. Since we are mostly focused on Ubuntu 8.04 LTS, this guide is aimed at that operating system, but these common commands should work with other Linux distributions as well. Since Ubuntu does not recommend using the system as root user, most commands require the sudo command to elevate to root privileges. User input is highlighted in blue. Optional input is surrounded by curly brackets like this {optional parameter}.
Users & Groups
Devices
File system
General
Network configuration
Server application configuration
- Edit adduser configuration
sudo nano /etc/adduser.conf
- Change default directory mode:
DIR_MODE=0750
- This make user directories private. The digits work as follows:
- Mode digits: 2 = write only, 4 = read only, 5 = read and execute, 6 = read & write, 7 = read, write & execute
- (execute means show listing for directories)
- In order, the numbers apply to the owning user first, his group second and everyone else third
- Add/create user
sudo adduser -m username
-m adds a user directory under home with all required files
- Delete user (and his home directory)
sudo userdel -r username
- Change own password
passwd
- Change user’s password
sudo passwd username
- Edit password security settings
sudo nano /etc/pam.d/common-password
- See Ubuntu Guide on setting stricter password control
- Add User group
sudo addgroup groupname
- Add user to group
sudo adduser username groupname
- Remove user from group
sudo deluser username groupname
- Show all groups and users in them
cat /etc/group | less
- Show list of all users with names
cat /etc/passwd | awk -F: '{print $1,",",$5}' | more
- Show groups you are in
groups
- Edit sudoers file / add users to sudo list
sudo visudo
- under root, add:
username ALL=(ALL) ALL
- Get processor info
cat /proc/cpuinfo
- Get detailed system information
sudo lshw
- Device messages (peripherals)
dmesg
- Combine with
| grep message to search for particular messages
- Find new external disk after connection (shows recent messages)
dmesg | tail
- Display volume information
sudo vgdisplay
- List of mounted partitions
mount
- Mount a disk
mount /mnt/mountdirectory/
- Unmount a disk
umount /mnt/mountdirectory/
sync
- See current mount points and used/free space
df -H
- See physical volumes
pvdisplay
- Show RAID partitioning
cat /proc/mdstat
- List of disks and their partitions
sudo fdisk -l
- Directory listing with useful info
ls -la
- Path to current directory
pwd
- Switch to previous directory used
cd -
- Create symbolic link (file reference)
ln -s targetpath linkname
- Show text file contents
less filename
- Number of files in a directory and its subdirectories
ls -1R | wc -l
- Edit file in text editor nano (simple)
nano filename
- Edit file in text editor vim (powerful)
vim filename
- Remove empty directory
rmdir directoryname
- Remove directory and all contained files and directories
rm -r directoryname
- Find files by name
sudo find / -name *filename* -print
- Find files by file owner
sudo find / -user username or userid -print
- Securely erase files, partitions or hard drives
sudo shred -vfz -n [times] [your hard drive]
— Read on for more information on shred on Ubuntu
- Display date, time and time zone
date
- Change time zone
sudo dpkg-reconfigure tzdata
- Logout
logout
- Change file owner
chown owner-username{:groupname} filename
- Change permissions
chmod mode-such-as-777 filename
- Update time via network time server (one time)
sudo ntpdate timeserver {additional-timeserver...}
- Setup daily cron job to update time
sudo nano /etc/cron.daily/ntpdate
enter ntpdate timeserver {additional-timeserver...}
(Don’t forget to save the file)
sudo chmod 755 /etc/cron.daily/ntpdate
(Makes the file executable)
- Get APT repository list
sudo nano /etc/apt/sources.list
(For example, uncomment Universe for wider selection)
- Clear screen
clear
- Show all command aliases
alias
- Change command alias
alias name='some command w/ options'
(for example alias ls = 'ls -lah'
(put in .bashrc to save permanently)
- Find where is the command located
which command
- Find out if a process is running
ps -fa | grep process name
(e.g. apache)
- List active processes
sudo ps aux
- Reboot
sudo reboot
- Shutdown (immediately)
sudo poweroff
See also ‘Shutdown’ versus ‘poweroff’ versus ‘halt’ on Ubuntu server
I found this on a friend’s twitter posting:
An Interview With Wolfram|Alpha.
In case you live under a rock, Wolfram|Alpha is
[...] a computational knowledge engine: it generates output by doing computations from its own internal knowledge base, instead of searching the web and returning links.
So basically you ask it normal questions and it tries to give you a real answer (unlike a search engine that just spits links to other Web pages at you). The above ‘conversation’ is amusing and a little frightening. Is Wolfram|Alpha turning into an intelligent computer? Probably not. For me, however, it raises the question what intelligence is &emdash; isn’t it the ability to process a wide variety of knowledge? I wouldn’t be surprised if in a few years it can successfully pass the Turing Test.
Taken together with my post about augmented reality, I am sure we are in for a very exciting decade.
Augmented Reality – for now it’s mostly a buzzword – but I believe in a few years augmented reality will fundamentally alter the way we interact with almost every aspect of our lives: restaurants (image ordering off an interactive menu), shopping, evaluating businesses, furniture assembly, repairs, military operations, games and entertainment, and probably even sexuality (we all know that pornography leads more technology revolutions).
I recently was made aware of this interesting article and compilation of YouTube Videos about augmented reality: 16 Top Augmented Reality Business Models. Most of this stuff ranges from amazing (if you are geeky like me) to pretty silly – the last video is particularly frightening.
Microsoft in particular has taken up the idea in the entertainment world with it’s upcoming Project Natal. Microsoft describes it like this:
Introducing Project Natal, a revolutionary new way to play: no controller required. See a ball? Kick it, hit it, trap it or catch it. If you know how to move your hands, shake your hips or speak you and your friends can jump into the fun — the only experience needed is life experience.
That description barely does it justice; the promotional videos are truly mind blowing. Of course they are just that – promotional videos. The first generation augmented experience on XBox 360 will certainly be far less glamorous. Nonetheless, this will shape our lives in the next decades in ways we cannot even imagine.
Augmented reality is also coming to the iPhone, with capabilities provided to apps by the Layar reality browser platform. I presume Yelp’s iPhone app uses Layar’s API for its augmented reality implementation.
P.S. Another interesting article about augmented reality and Yelp’s iPhone app: Augmented Reality Is Both a Fad and the Future — Here’s Why
Very interesting post, describing how to use color replacement to get favicons appear more readable at tiny sizes (in particular the favicon size of 16 x 16 pixels):
Modern pixel art //case: YouTube
Here is a list of some useful design tools:
Typography
In-browser debugging
Besides the obvious reference to Firebug for Firefox, these can be useful:
Color