Friday, February 29, 2008

Daily Link Roundup of Robot Gymnasts and Safaris


Tiny, Slot-In Retro Media Center For IPod Nano - Very cool way to get some extra functionality out of your Nano.
TokyoFlash Tibida LED watch -- with binary mode! Three being given away gratis - Ahhhhh binary.
Robot Gymnast Is Nimbler Than Most Humans - This robot's moves are very humanlike.
Solar Powered Laptop Would Be a Nice Idea If It Worked
DORmino Mouse Mooches Off Your Hot Laptop - Sounds good to me.
Sprint Offers "Simply Everything" For $100
BILL-Ant Wants To Carry Your Stuff
Eos Wireless iPod Speakers Are Smart But Ugly
At FOWA, WordPress' Mullenweg talks about scaling and spamming
Paypal to Safari Users: Switch Browsers or You'll be a Victim of Fraud - PayPal has not apporved the Safari browser.

Labels: , , ,

February 29th



It's leap year which means it is hard to find a notable discovery or invention from February 29th.
So here is some info on this extra day of ours.

From Wikipedia article, Leap Year

"February 29 is a date that occurs only every four years, and is called leap day. This day is added to the calendar in leap years as a corrective measure, because the earth does not orbit around the sun in precisely 365.000 days.

The Gregorian calendar is a modification of the Julian calendar first used by the Romans. The Roman calendar originated as a lunisolar calendar and named many of its days after the syzygies of the moon: the new moon (Kalendae or calends, hence "calendar") and the full moon (Idus or ides). The Nonae or nones was not the first quarter moon but was exactly one nundinae or Roman market week of nine days before the ides, inclusively counting the ides as the first of those nine days. In 1825, Ideler believed that the lunisolar calendar was abandoned about 450 BC by the decemvirs, who implemented the Roman Republican calendar, used until 46 BC. The days of these calendars were counted down (inclusively) to the next named day, so 24 February was ante diem sextum Kalendas Martii ("the sixth day before the calends of March") often abbreviated a. d. VI Kal. Mar. The Romans counted days inclusively in their calendars, so this was actually the fifth day before March 1 when counted in the modern exclusive manner (not including the starting day).[4]

The Republican calendar's intercalary month was inserted on the first or second day after the Terminalia (a. d. VII Kal. Mar., February 23). The remaining days of Februarius were dropped. This intercalary month, named Intercalaris or Mercedonius, contained 27 days. The religious festivals that were normally celebrated in the last five days of February were moved to the last five days of Intercalaris. Because only 22 or 23 days were effectively added, not a full lunation, the calends and ides of the Roman Republican calendar were no longer associated with the new moon and full moon.

The Julian calendar, which was developed in 46 BC by Julius Caesar, and became effective in 45 BC, distributed an extra ten days among the months of the Roman Republican calendar. Caesar also replaced the intercalary month by a single intercalary day, located where the intercalary month used to be. To create the intercalary day, the existing ante diem sextum Kalendas Martii (February 24) was doubled, producing ante diem bis sextum Kalendas Martii. Hence, the year containing the doubled day was a bissextile (bis sextum, "twice sixth") year. For legal purposes, the two days of the bis sextum were considered to be a single day, with the second half being intercalated, but common practice by 238, when Censorinus wrote, was that the intercalary day was followed by the last five days of February, a. d. VI, V, IV, III and pridie Kal. Mar. (which would be those days numbered 24, 25, 26, 27, and 28 from the beginning of February in a common year), i.e. the intercalated day was the first half of the doubled day. All later writers, including Macrobius about 430, Bede in 725, and other medieval computists (calculators of Easter), continued to state that the bissextum (bissextile day) occurred before the last five days of February.

Until 1970, the Roman Catholic Church always celebrated the feast of Saint Matthias on a. d. VI Kal. Mar., so if the days were numbered from the beginning of the month, it was named February 24 in common years, but the presence of the bissextum in a bissextile year immediately before a. d. VI Kal. Mar. shifted the latter day to February 25 in leap years, with the Vigil of St. Matthias shifting from February 23 to the leap day of February 24. Other feasts normally falling on February 25–28 in common years are also shifted to the following day in a leap year (although they would be on the same day according to the Roman notation). The practice is still observed by those who use the older calendars."

Labels:

Thursday, February 28, 2008

Daily Link Roundup of Webcams and Androids


Create Video Tutorials with Free Screencasting Software
Philips' Interactive LED Installation at Arkansas Children's Hospital
Kiddo Kidkeeper Proximity Alarm
DIY Tin Can Speakers
Brando USB Flexible Webcam
Surveillance Light -- lamp made from CCTV housings
Beanie features built-in headphones for rocking out in the cold - It has been insanely cold here so we want one of these.
Google Shows Off GMaps Street View on Android
RSS FWD - RSS to your inbox
Network Solutions Sued For Front-Running Domain Names - Good but they are not the only registrar guilty of front-running.

Labels: , , , ,

Biology History Made on February 28th, 1953



On this day 55 years ago Watson and Crick discovered the double helix structure of DNA. Their discovery was aided by crafts. Since Watson did not want to wait on a machine shop to develop his models he made his own with a straight edge, an Exacto knife, white cardboard and paste. This allowed him to manipulate the nucleotide base pairs until he found the best fit. Watson and Crick submitted their discovery to a journal, Nature, which published their findings on April 25, 1953. Then they won the Nobel Prize in Physiology or Medicine in 1962.

Labels:

Got a Gripe with Skype? Maybe ooVoo's for You


The other night I was talking to my brother in law, Dan, through Skype. He is helping me with some projects and it helps to talk to each other "face to face" (he lives in Ohio and I live in Georgia). After we finished our conversation his wife, my sister, called from my parents house in FL. We had a 3 way call going and were enjoying the family chat. We were disappointed in the fact that we could not video chat as a group. Dan saved the day when he found ooVoo. We all downloaded the program immediately and began our group video chat. You can have up to six people in a video chat. Another great feature is that you can expand the video to full screen. You can leave video messages for people and make free phone calls. You can record a video call for playback later(I don't know what you could use this for). I will continue to use Skype day to day as I am familiar with it and have all my business contacts stored there. ooVoo has become my default for keeping in touch with the family as it makes our silly conversations that much more fun.

Labels:

Wednesday, February 27, 2008

Daily Link Roundup of Emoticons and Comcasts


Power Sellers Extend eBay Boycott - It is going to take a lot to get across to eBay.
Download a Gmail Conversation
PageOnce Organizes Your Online Life - Another site to help you keep track of all your sites.
Easily Convert Your Vinyl To MP3s
Some Expert: “Killer Robots Pose Latest Militant Threat”
Realistic, Animatronic Lion Mask with stereo night vision and amplified hearing
LEGO Block as USB Flash Drive - It's LEGOMANIA!
Undocumented Emoticons in Gmail Chat - The crab is great.
Mecha Cellphone, Because Why Not - It is a like a Transformer cell.
Favorit fixes some of Google Reader's shortcomings, adds own
Wireless home router with analogue utilisation meter - Keep an eye on your banwidth usage.
FCC contemplating do-over Comcast hearing at Stanford - Comcast is gonna get it.

Labels: , , , ,

Aviation History Made on February 27, 1999


On this day in 1999 the record for longest time spent in a hot air balloon was set. Colin Prescot and Andy Elson spent 233 hours and 55 minutes in a hot air balloon. Prescot and Elson had set up to circumnavigate the world but were stopped when they were not allowed into China's airspace. The duo set to around China by going over Thailand. They accomplish what they set out to do but the pair will still go down in history.

Labels:

Tuesday, February 26, 2008

Daily Link Roundup of Buzzes and Flexi-Bendys


Gmail the size of your living room
LINX B-Tube Wireless Speaker In A / Is A Can
Youtube Outage: How Pakistan Broke the Internet
Xdrive releases AIR-based file manager
MyPunchbowl Has Its Own Buzz: News Feed for Parties
Yahoo's Digg-like Buzz
Easily Mount Up To Eight Monitors To Your Desk
EBay Listing Numbers Drop Slightly During Boycott - Not a big impact.
Google Heads Under The Sea With Cable Investment
Why CompUSA Is Selling Broken Merchandise at High Prices - I don't see how this is so shocking.
FCC chief grills Comcast on BitTorrent blocking
Nokia Goes Nano for Flexy-Bendy Handsets - Will this be available in our lifetime?
Manage Your Online Reputation
Unofficial LEGO MP3 Player
Plants that Twitter when they need to be watered - Still funny.

Labels: , , ,

Weapons History Made on February 26, 1903


On this day in 1903 Ricahed Jordan Gatling passed away. Gatling was the inventor of the Gatling gun, the first operating machine gun. He was born in North Caroline and held many different jobs: fisherman, court clerk, teacher, and storekeeper. Gatling Gun Company was founded in 1862. His inspiration for the machine gun came from seeing so many Civil was soldiers return from battle injured by sickness and disease not gunshots. He thought if he could event a gun that could do the work of a hundred guns he could cut the amount of exposure the soldiers had to endure. Thus the hand crank Gatling gun. Unfortunately in 1911 the US Army announced the gun was obsolete. Gatling invented new tools all his life and was named the first president of American Association of Inventors and Manufacturers. He died a wealthy despite his bad investments. Today the tern gatling gun is still used to describe the menacing rapid fire weapon.

Labels:

Monday, February 25, 2008

Daily Link Roundup of Cubicles and Mixxes


Enter Lifehacker's Coolest Cubicle Contest and Win a $500 Amazon Gift Card
Houseplants Will Twitter You When Thirsty - This would be great for my Mom. She has a brown thumb.
Tiny Pictures Gets A Big Wad of Cash—$7 Million Series B
Nature Mill Composes Compost in the Kitchen - Who loves the smell of rot in the morning?
Digg Competitor Mixx Takes $2 Million Series A1
HD-DVD Deathwatch: Micosoft Drops XBox Add-On Drive
Blogged.com launches blog directory and reviews
YouTube blocked in Pakistan over purportedly "anti-Islam" video
YouTube Down For Almost an Hour
Custom iPhones Stretch Good Taste, Wallets
Japanese Retailer Does Right By HD DVD Purchasers - Now that is good business.

Labels: , , ,

Weapons History Made on February 25, 1836


On this day in 1836 Samuel Colt was granted his U.S. patent for the revolver. At 16 Colt was a sailor. Some part of the ship inspired him to make a chamber the rotated. He whittled a model out of wood and once his sailing days were over he built working models. He traveled in Europe and gained patents for his revolver in England and France. When he returned to the U.S. he received his patent in which he noted the quickness in which multiple shots could be made. It took ten years for Colt to make a profit but the Colt revolver soon became the gun of the Wild West.

Labels:

Friday, February 22, 2008

Daily Link Roundup of Training- Videos and Wires


Firefox crosses 500 million download mark
Cheap Novelty Wide-Angle Adapter for iPhone - Make your iPhone look tacky.
Optimus Maximus Shipping At Last - I thought this day would nver come.
Print Without Wires: Brother HL-2170W Laser Reviewed - You can put your printer wherever you want.
Tattoo Computer Concept is Creepy But Cool
Post Gets 250+ Diggs, Still Not 'Popular' - That Digg algorithm is getting mighty complicated.
Leaked RIAA prosecutor training-video
Upgrade Your TiVo's Hard Drive for More Recording Space - Not for the squemish.
Get 5GB of Free Online Storage from SkyDrive
Interview with HD DVD player owner Steven Johnson - I am glad im not this guy.
A Method for Critical Data Theft - Using liquid nitrogen.

Labels: , ,

Science History Made February 22, 1997


Dolly (July 5, 1996 to February 14, 2003)


On this day in 1997 scientists from the Roslin Institute in Edinburgh, Scotland announced they had successfully cloned a sheep. Ian Wilmut and Keith Campbell cloned the sheep from a mammory gland cell, so of course she had to named after Dolly Parton. Dolly was the first ewe cloned from an adult somatic cell using nuclear transfer. Wilmut and Campbell proved that one cell could produce a whole living being. Other animals have since been cloned including horses and bulls. A controversy surrounds cloning, some find it unethical while others see the vast medical possibilities available. To think it all started with a little sheep named Dolly.

Labels:

Thursday, February 21, 2008

Daily Link Roundup of Hostings and LEDS


DIY Remote Camera Trigger
Report: Social network shrinkage in the U.K.?
CCTV Busting Infra-Red Headset Makes You Invisible - All criminals need another means of beating detection.
Google to sell Display Ads in Web Videos
Disable the Right Mouse Button? - Helpful for young children using the computer.
How Has Web Hosting Changed in 10 Years? Not Very Much
Cleveland Clinic to Test Google Health
Retrieve Any File on Your Home Computer via Email, Windows Edition
Commodore 64 Titles To Be Available On Wii’s Virtual Console - Paddle Controllers Will Hopefully Return
Olympic Committe Rules Revealed: No Posting of Media Allowed - This is going to make for some interesting news.
Strap On a Bluetooth Wristband, Stop Missing Calls - We need one of these.
Duty Calls - This guy must use digg.

Labels: , , ,

Tech History Made on February 21, 1947

On this day in 1947 the Polaroid camera was demonstrated for the first time by inventor Edwin Land. Land, very successful inventor, was second only to Thomas Edison in number of patents. Land was only in his twenties when he invented the plastic sheet-light polarizer.

Land-Wheelwright Laboratories was co founded by Land in 1932. The company made various polarizers that were used for scientific and commercial applications. In 1937 the company was renamed Polaroid Corporation. The company did very well during WWII producing optics for the military, including designing optics for the Cold War's U-2 spy plane.

Land was known for his insane work habits. He would work for days on end without sleeping or changing clothes. Shifts were set up so assistants could be at their best when working with him. Land once said"My whole life has been spent trying to teach people that intense concentration for hour after hour can bring out in people resources they didn't know they had".

In 1947 Land demonstrated the Polaroid camera for the first time. The picture took 60 seconds to develop. In 1963 a color version was offered with Polacolor film. The Polaroid Land camera was produced until 1983. Unfortunately after Lands death, Polaroid Corporation did not do so well and filled for bankruptcy protection in 2001. In recent news, Polaroid announced it will not longer be making the film used in the Polaroid camera.

Polaroid had been overshadowed by the quickness and detail of digital but every adult can remember the first time they shook a Polaroid. A joy that will now end with this generation.

Labels:

Wednesday, February 20, 2008

Daily Link Roundup of DreamSparks and Camcorders


Convert Your HD DVDs to Blu-Ray - There is hope for those that chose the wrong side.
USB Vacuum Mouse
The Surprisingly Thoughtful Design of a Cheap Camcorder
Monster Cable Defends Overpriced Cables: The Short Form
Network cable macrame - The World will be riddled with these when our generation hits retirement.
DreamSpark, Software for students for free ... seriously
Convert Your Google Calendar to PDF
eBay sellers start weeklong boycott
Double Your Reading Speed with WorldFlashReader
Microsoft Giving Away Zunes - Everybody likes free things.
Yahoo outlines golden parachutes for employees
Transcend StoreJet Keeps Your Mobile Data Safe
Peerflix: Keep Track of Your Movies and Get More, Too
GPS for Women: Go Ahead and Be Offended - Some companies really aim to offend their target consumer.
Strengthening Fluids With Nanoparticles

Labels: , , , ,

Physics History Made on February 20, 1934


On this day in 1934 the cyclotron was patented. The cyclotron was one of the first circular particle accelerators. It moved charged protons between electrodes until they are highly charged particles. The cyclotron was designed and built by Ernest O. Lawrence. He had made a mashup model in 1931 but waited to patent it. He was not out to make personal gain but to advance science. He worked at Yale and at U of C Berkeley where two laboratories are named after him. He also has an element named after him, lawrencium. His desire to advance science and not increase his own pocketbook paid off. In 1939 he received the Nobel Prize in Physics for his cyclotron.

Labels:

Tuesday, February 19, 2008

Daily Link Roundup of Curtains and Wikileaks


Scribd Steps Up Its Game With iPaper
Kensington Modular SlimBlade Notebook Set - This could be really useful for sharing one computer between work and personal use.
New Apple iPod shuffle 2GB model for $69
Mixx To Cluster Related Stories - Digg Should Have Done This
WikiLeaks, Censorship and the Watchdog Web
Magnetic curtains stay where you scrunch 'em - You can block the sun on one side and leave the other side up.
Yahoo Can’t Find the Pirate Bay
Would You Buy A Wooden Cellphone? - I know people who wood, includin my wife.
Eyeclops Bug Vac Makes Backyard Entomology Slightly Less Squicky
iPod Dock Looks Like Stealth Bomber - Awesome plane, not so sure it translates well to a docking station.
9 Practical Ways to Enhance your Web Development Using the Firefox Web Developer Extension
Machines 'to match man by 2029' - Here comes the Matrix.

Labels: ,

Space Tech History Made on February 19, 1473


On this day in 1473 Nicolaus Copernicus was born in Poland. Copernicus made a discovery that could have cost him his life. During his lifetime Earth was believed to be the center of our universe. Anything to the contrary was considered heresy. Copernicus found that in fact the sun was the center of our universe. He wrote a short paper on his heliocentric hypothesis that he only showed to friends. Despite urgings to publish and distribute his work, it was not printed until Copernicus lay on his death bed. It is said he held the first printing in his hands and then passed away. His last words were, "The big yellow one is the sun".

Labels: ,

Windows Services in C#: Part 3: Getting Your Installer to Start Your Service

In Part 2 we discussed how to add an installer for the Windows Service we wrote in Part 1. Today, we'll learn how we can tell the Installer to start our service after it has been installed.

This article is one in a five-part series covering the following topics:

  1. Programming a Windows Service in C#
  2. Adding an Installer for Your Windows Service
  3. Getting Your Installer to Start Your Service
  4. Some Options for Debugging Your Windows Services
  5. Adding an Uninstaller for Your Windows Service

The examples in this series are written in C#, but this should help anyone out there wanting to do this on the .NET 2.0 Framework no matter if they're using C#, VB.Net, or any other language. Additionally, the code in this article can be used in any context to start a Windows Service programmatically - not just from an installer.

If you're just jumping in at this article in the series, we've already written our service and added an installer to it. If you'd like a copy of our sample code up until this point (instead of having to go through steps 1 & 2 to recreate it), you can download it here.

On to the code!

Getting Your Installer to Start Your Service
You may have notice that when the installer installs your Windows Service, it doesn't start it automatically, even if the StartType for the service is set to Automatic. Today, we'll learn how we can tell the Installer to start our service after it has been installed.

1. Add the System.ServiceProcess Namespace.
We'll be using the System.ServiceProcess.ServiceController class for this portion of the project, so be sure to add a using statement for System.ServiceProcess to the top of your code:

using System.ServiceProcess;

2. Add an Override for the Install function.
Go into Code View of your Project Installer class (ProjectInstaller.cs in our example.) Add an override for the Install function to your class. All you have to type is "public override void Inst" and hit tab, and Visual Studio's auto-complete should add the class for you, complete with the base.Install line seen below.

Here is the complete code for my example class, with the new bits highlighted:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;

namespace SuperService
{
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
}

public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
}

}
}
3. Start your Service using the ServiceController.
Since we want our Windows Service to start after the install has finished (we can't exactly start it before it's installed!) we'll add our code to start the service after our base.Install is called. (Note: Optionally, you could have instead done this by adding an event handler for this.AfterInstall and putting your code there. As far as I know, it doesn't make any major difference which way you do it.)

      public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
ServiceController controller = new ServiceController("Logger");
controller.Start();
}
Let's break this down for ya'. As I mentioned before, we add our code to start our service after the base.Install line.

We start by instantiating a new ServiceController object, passing the name of our Windows Service as the only parameter. We specified this name earlier in the ServiceName property of our ServiceInstaller object. (Go to Design View of your Project Installer class and click on serviceInstaller1 to view this property.) If this name doesn't match your ServiceName property, you'll get an error (or possibly start the wrong service!)

Finally, we run the Start function of our ServiceController to start our service up. That's about it. You might want to add some code to handle any errors this step may throw so your install doesn't fail if your service fails to start. For example, the code below will trap the error and record it to the event log. If you use it, remember to also add a reference to the System.Diagnostics namespace to the top of your code.

       public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
ServiceController controller = new ServiceController("Logger");
try
{
controller.Start();
}
catch (Exception ex)
{
String source = "SuperService Installer";
String log = "Application";
if (!EventLog.SourceExists(source))
{
EventLog.CreateEventSource(source, log);
}

EventLog eLog = new EventLog();
eLog.Source = source;

eLog.WriteEntry(@"The service could not be started. Please start the service manually. Error: " + ex.Message, EventLogEntryType.Error);

}
}

That's all there is to it! Next time, join us to learn a few of your options for debugging your newly-installed service. Until then, feel free to check out some of these other great articles that I used as sources for this series:

Labels:

Monday, February 18, 2008

Daily Link Roundup of Pixels and Chumbys


Toshiba to give up on HD DVD, end format war: source - Looks likes Playstation 3 sales are going to go up.
Alibaba has say in Yahoo, Microsoft Talks: Source
YouNoodle Thinks AI Can Predict Startup Success
Fix Stuck Pixels on Your Monitor with Killdeadpixel - Doesn't fix "dead" pixels just stuck ones.
Talking Lips Provide A Low-Budget Alternative To Video Phones - SO very creepy.
Exclusive: Leapfrog Crammer, an MP3 Player for Students - Kids today have way cooler toys than we did. What happened to cardboard flash cards?
Use your mouse and relax your wrist simultaneously
Chumby hands-on: What fun - Not dirty but a very neat little device for keeping on top of your tech life away from your computer.
Wi-Fi Wants To Be Free - And we want it to be free too!
Get Instant Tracking Notifications When People Click on a URL

Labels: , ,

Geek History Made February 18, 1930

On this day in 1930 our once 9th planet was discovered. Clyde Tombaugh studied photographs taken from Lowell Observatory in Flagstaff, Arizona. He was given the task of finding Planet X, predicted by Percival Lowell and William Pickering. Tombaugh took photos of the same section of sky several nights apart and then compared the photos. He was able to distinguish between stationary and non- stationary items. Thus he discovered Pluto, which was named by an 11 year old English school girl. In 2006 the International Astronomical Union declared that Pluto was not comparable to the "classical planets" but was a one of many dwarf planet. This leaves me with one question: How will kids remember the names and order of the planets in our solar system now? MY VERY EDUCATED MOTHER JUST SERVED US NINE ________

Labels:

Friday, February 15, 2008

Daily Link Roundup of MacGyvers and Kijijis


Google Sees Fifty Times More Traffic From iPhones Than Others
Manage Your Del.icio.us Account from Your Desktop with Netlicious
Motorola Dips Bluetooth Headset in Gold and Rolls it in Diamonds - Made for the Paris Hilton wannabes.
Watch out Craigslist, Sister Site Kijiji Is Taking Off. - Our first look was promising.
Rinspeed Creates Car that Drives Underwater
Can Scotch Tape Really Boost iPhone Signal Strength? - Picked for the awesome pic of MacGyver.
BBtv: Speed Cabling -- competitive ethernet detangling sport.
PDFEscape: Free, Easy, Web-Based PDF Editing
Add On-Screen Display and Key Triggers to iTunes with iTunesControl - Getting this today.
CompUSA Employees Jerking Off As They Await Store's Death
Pocket-Sized Guitar Hero from Basic Fun Lets You Rawk Out on the Subway - We all know a Guitar Hero junkie.

Labels: , , , , ,

Tech History Made on February 15, 1995


On this day in 1995 Kevin Mitnick was arrested in Raleigh, NC on charges of access device fraud. Mitnick had evaded police, US Marshalls and the FBI after he disapeared 2 years earlier while on probation for computer and access device fraud. He was able to stay untrackable by using stolen cell phones and hijacked internet access. Kevin stole all kinds of data including source code for products companies had invested millions into developing. He pleaded guild to one of 23 charges in North Carolina and then his case was transferred to California where 25 more charges were added. Mitnick pleaded guilty to 5 of the counts and to 2 additional counts from Northern California. He served a total of 60 months or 5 years. Mitnick now has his own securities company, Mitnick Security Consulting. Mitnick will go down in history as "America's Most Wanted Computer Outlaw"

Labels:

Thursday, February 14, 2008

Daily Link Roundup of LinkBunches and Postcrossings


Shrink Multiple Links to One URL with LinkBunch
10 Handy Numbers to Save in Your Mobile Phone - I am going to work on this.
Finally: Philips AAA-Enabled Cellphone In Production - Never ever run out of power again. You could carry a whole pack of AAA's with you all the time.
High-tech Social Security Cards: The Answer to ID Fraud or Future Gadgets Waiting to be Abused?
Google releases new Android SDK
Find Legal Forms and Info at The Public Library of Law
37Signals' Backpack Getting Major Upgrade - Losing Focus?
Imeem Acquires Snocap
Postcrossing - Send a (paper) post card to a random person and another random person will send you one. What fun!
Video: Amazing Oscilloscope Hack
Wi-Fi Detector Shirt - Glowing animated shirt dynamically displays the current wi-fi signal strength.
Firefox 3 Beta 3 Now Available
Now dry out with your favorite Tee with eco-friendly care

Labels: ,

Tech History Made on February 14, 1946


On this day in 1946 the Electronic Numerical Integrator and Computer (ENIAC) was unveiled at The University of Pennsylvania. The U.S. Army had contracted the design and production for use U.S. Army;s Ballistic Research Laboratory in calculating artillery firing tables. The ENIAC "was the first high-speed, purely electronic,Turing-complete, digital computer capable of being reprogrammed to solve a full range of computing problems". Other systems had achieved these feats but not all together and with such speed. Despite it's $500,000 dollar price tag 9 months later it was shutdown for a memory upgrade and refurbishment. During this time it was moved to Aberdeen Proving ground in Maryland where it was turned back on July 29 1947. The ENIAC remained in operation until October 2,1955. During its operation most of the programming was done by six women who were later inducted into the Women in Technology Hall of Fame. To read more about the computer and the people behind check out this article.

Labels:

DataGrid Edit Column Does Nothing

Recently I was working on a project in .NET 1.1 and had to use a DataGrid. It had been a while since I used the old thing. (Anymore I use mostly third-party grids.) I was adding an EditCommandColumn to it, to allow the user to edit any of the rows. For some reason, I'd hit the Edit button and none of the editable columns would turn into textboxes.

I had to kick myself since I knew I had experienced this same issue before and since it's such a novice issue, but I couldn't remember how to fix it! It finally dawned on me (it was really a stupid thing) so I figured I'd post about it for anyone else out there kicking themselves for being stuck on the same problem.

In the subroutine you have your DataGrid's EditCommand event bound to, you need to set the grid's EditItemIndex to e.Item.ItemIndex, and rebind the contol! Example:


private void Page_Load(object sender, System.EventArgs e)
{
dgDealers.EditCommand += new DataGridCommandEventHandler(dgDealers_EditCommand);
if(!this.IsPostBack)
{
LoadGridData();
}
}

private void LoadGridData()
{
// Get the data from the database.
SqlConnection conn = db.NewOpenConn();
SqlDataAdapter da = new SqlDataAdapter("EXECUTE SelectDealers",conn);
DataTable dt = new DataTable("dealers");

//Fill it into the DataGrid.
da.Fill(dt);
dgDealers.DataSource = dt;
dgDealers.DataBind();
ViewState["gridData"] = dt;

//Cleanup.
conn.Close();
da.Dispose();
conn.Dispose();
}

private void RebindGrid()
{
//Set the DataSource to the DataTable previously saved in the ViewState
dgDealers.DataSource = ViewState["gridData"];
dgDealers.DataBind();

}

private void dgDealers_EditCommand(object source, DataGridCommandEventArgs e)
{
dgDealers.EditItemIndex = e.Item.ItemIndex;
RebindGrid();
}

In my example, when I make my call to the Database I store the resulting DataTable in the ViewState. Later, in the EditCommand event for my grid (highlighted) I set the grid's EditItemIndex to e.Item.ItemIndex and call a function (RebindGrid) that re-retrieves the grid's data from the ViewState and re-executes DataBind on the DataGrid.

Now, you may want to instead cache your data in a Session variable, Caching object, or not at all (and retrieve the data again from your original DataSource) - depending on your data and how much you have. Also, as far as I know, this is the same whether you're using the either .NET Framework 1.1 or 2.0. You also need to make sure EnableViewState is set to true for your DataGrid.

If anyone knows a better way to do this (without having to rebind the DataSource), please let us all know in the comments. It's ridiculous that you need to do such a thing, especially since the data is essentially already being stored in your ViewState for the DataGrid.

Labels:

Wednesday, February 13, 2008

Daily Link Roundup of 404's and Snaps


Tired of Blackberry Outages? Run Your Own Blackberry Server Instead
Your Phone is Your Mic: SpinVox Lets Users Talk to Twitter, Facebook, and Jaiku (Europe Only) - We love anyting using speech to text tech.
Gadget Lets You Record Phone Calls to PC
Quickly Compose New Gmail Messages with Launchy - Sweet!
Dean Kamen’s Robotic “Luke” Arm
iGTR Lets You Rock Out Anywhere With Your iPod
Study: 6% of People Online Contribute 50% of Display Ad Clicks
Google Toolbar and 404 Error Pages - We don't see anyting wrong with it.
Auto-Loading Toaster With Motorized Slot Cover Is Way Cooler Than I Make It sound
Snap Instant Communicator: The Web intercom - Very handy for anyone who telecommutes.
Sandwich Maker for your Car - Nothing liking making a grilled cheese at 90 mph.

Labels: , , ,

Tech History Made on February 13, 1923


Today we celebrate a man special to myself and my wife, Chuck Yeager. I was born in WV and she was born and raised there. Today in 1923 Charles Elwood Yeager was born in WV, he went on to be the first man ever to fly faster than the speed of sound. Yeager joined the US Army Air Corps when he was 18, he was a fighter pilot at the end of World War II. He took down 12 enemy planes total during the his years in the war, 5 in one dog fight alone. After the war he was a flight instructor and then became a test pilot. In October of 1947 as a test pilot he flew the Bell X-1 faster than the speed of sound. He did it despite broken ribs he had received several days before in a horse riding accident. Some say others broke the sound barrier before Yeager, even if they did he went on to break many more speed and altitude records. We will remember his records every time we go home, our flight always ends at Yeager Airport.

Labels:

Tuesday, February 12, 2008

Daily Link Roundup of Crates and Players


UK tries to sneak in redonkulous new anti-piracy legislation
Swift does mobile blogging for the LEGO generation
My Weight Loss Coach For The Nintendo DS To Include Pedometer Accessory - Maybe our nation will lose some weight.
Who Owns What: Keep Track of Web 2.0 Mergers
Casulo: Complete Furniture in a Crate - I want one.
Send Text Messages With The D:Scribe Pen
Bill Gates gives up on Facebook
Blackberry Email Server Malfunctions, Takes Down User Email and Net Browsing
MySpace Quietly Launches Games Site
Going Paperless at Home? - What paper do you "have" to keep?
Energizer's "Light on Demand" LED Rechargeable Lamps
Dynaflex Powerball Docking Station Seems Like Cheating
JotYou: Location-Based Mobile Phone Messaging - Never again forget the milk.
Sick: Heart-Shaped MP3 Player For Devoted Lovers of Tastelessness - Perfect Valentine's gift for YOUR MOM!
Microsoft Responds - It's not over.

Labels: , , , ,

Tech History Made on February 12, 1791


On this day in 1791 the designer and producer of the first American built locomotive was born. Peter Cooper was born in New York City to Dutch parents. He had little schooling but had many jobs throughout the years; hat maker, couch maker's apprentice, cabinet maker, grocer, and he worked in the cloth shearing machine industry. Cooper's claim to fame was the design and manufacturing of Tom Thumb, the first American built steam locomotive. Tom Thumb was "a 4-wheel locomotive with a vertical boiler and vertically mounted cylinders that drove the wheels on one of the axles". Cooper had good reason to design and build the locomotive, boost his property values. How? He wanted the rail companies to adopt the steam locomotive and begin laying line through an area where he owned real estate, instant value boost. Tom Thumb caught on and soon rail companies where gearing up for their first steam locomotive.

Labels:

Monday, February 11, 2008

Daily Link Roundup of Picassos and Compubeavers


Hands On With The Nokia N96
Starbucks Announces Free Wi-Fi (As I Predicted) - YAY
Review: Dymo DiscPainter Paints Your CDs Like Picasso
Not What We Meant When We Said "Go Play Outside"
Hands On With the Modu
Yahoo Confirms Rejection Letter to Microsoft - What will happen next?
MusicPad Pro Tablet For Bleeding Edge Musicians
Xperia X1 Leads Charge of New Sony Ericsson Phones
50% Of UK Men Would Give Up Sex for 50-Inch TV - What would you give up for one?
Hammer's DanceJam Gets $3.5 Worth of Legitimacty - Yes, we can wear our parachute pants again.
Compubeaver Video Unleashes Horrors, Memes and Funny Smells

Labels: ,

Tech History Made on February 11, 1847


On this day 161 years ago a great inventor was born, Thomas Edison. Edison holds that record for most patents, alone and jointly that is 1,093 patents. His first patent in 1869 was for a electrographic vote recorder. It allowed legislators to place a vote for or against with the flip of a switch. It did not catch on because lobbyists lost the chance to convince a vote change during the time it normally took to count the physical ballots. Here a just a few thing he patented:
Incandescent Lamp
Printing Telegraph
Electro Magnets
Electric lights
Phonograph(pictured above)

To see a complete list of his patents click here.

Labels:

Friday, February 08, 2008

Tech History Made on February 8, 1996


On this day twelve years ago, 24 Hours in Cyberspace took place as the largest one-day online event to date. The project was originally hosted at cyber24.com but is not mirrored by Georgia Tech. The project brought together photographers, programmers, editors, and designers to make a time capsule of people affected by the internet. Then Vice President Al Gore and wife Tipper contributed articles and photographs respectively. Photos submitted were edited in real time and posted to the site, the site received more than 4 million hits on that one day. The project took 50 million in funding from over 50 companies, some of the largest contributors were Kodak, Sun Microsystems, and Adobe Systems. The articles and pictures were used for a cover of U.S. News and World Report magazine as well being made into a book and cd. The book and cd are now a part of a exhibit at the Smithsonian National Museum of American History.

Labels:

Daliy Link Roundup of Home Theaters and Sharks with Laser beams on their heads


Explay's Tiny Projector Goes on Show
Lock Up Your USB Ports With PC Guardian
$6 Million Home Movie Theater is "The Greatest Show on Earth" - I need to become friends with Jeremy Kipnis.
Internet Cables And Sharks With Laser Beams On Their Heads
British Hovering Chair Floats on Magnets
Generating Power From Revolving Doors
Yahoo Board To Determine Fate Of Company Today
AT&T Says iPhone Upgraders Can Keep Existing Contract and Phone Number
What to do when you've lost your berry - Very useful for the crackberry users out there.
Moroccan Man Jailed For Fake Facebook Profile
Wiretracks - Hide Unsightly Cables Behind Crown Molding Or Baseboards - Dispeals fears of every wife of nerd.

Labels: ,

Thursday, February 07, 2008

Daily Link Roundup of Converters and Seedpeers


Five Email Addresses that Convert Documents - Very useful in a pinch.
Yahoo! Begins Offering Unlimited Web Hosting
Check Gmail from the Couch with Your Apple Remote - For those of us too lazy to walk in the other room.
So much for whitespace: AdCamo launches background ad network
Three Solar Chargers on a Mountain - Neat but takes away a good excuse "Sorry I missed your call, I was on a mountain".
Remove Stains from a Macbook with Toothpaste
New R/C Car Is Powered By Hydrogen Fuel Cells - Toys were not this cool when we were little.
TSA apologizes to "blogesphere" for arbitrary gadget screenings
Avoid Downloading Fake Torrents with SeedPeer - Have any of you had this happen?
Google Thought To Be Out Of The Running In The Wireless Spectrum Auction
CSS3 ::selection used to hide any image in text - Not very useful, but very neat.
Ex-Googlers Launch Instructional Video Site Howcast, Raise $8 Million A Round
Cosmos: An open-source .Net-based microkernel OS is born - w00t!
A dozen free & essential apps for Windows

Labels: , ,

Tech History Made on February 7, 1863


On this day in 1863, John Newlands tried to organize the elements in a table. Newland, a British chemist, arranged them according to his "law of octaves". he had noticed that as he arranged the elements using Stanislao Cannizzaro's atomic -weight system that a pattern of eights appeared. Elements with similar properties appeared every eighth element, like the perfect eight or octave in music. Newland arranged them into a table and "made" some things work. This lead to a table that just didn't work, and was dismissed by the English Chemical Society. Of course we all know that in 1869 Mendeleev developed the periodic table. 18 years after Mendeleevs accomplishment the Royal Society recognized Newlands contribution to organizing the earths elements.

Labels:

Wednesday, February 06, 2008

Daily Link Roundup of RFIDs and Halitosis


Funny story about computer confiscation in Denmark
Finally, a Web-based PDF Viewer That Does Not Suck (Issuu)
Ford truck with RFID tool tracker - Useful application of RFID.
Socket Sense Expanding Power Strip
FBI to build $1Bn biometrics database
Facebook to Punish Stupid Applications, Reward Good Ones
E-Paper Music Score Concept Targeted At Musicians
Lego iPod Speaker
Relieve Blackberry Thumb Pains With The Xtensor - HAHAHAHAHAHA.
Review: THX Razer Mako Advanced Desktop Speakers Bring The Sonic Ruckus
Halitosis Detector - Do You Smell Something? - Again, HAHAHAHAHA.
Myst Fades Away

Labels: , , , ,

Tech History Made on February 6th, 1958


On this day in 1958 the first patent application for the integrated circuit is filed by Jack Kilby, engineer at Texas Instruments. The integrated circuit could by considered the grandfather of the silicon chip. It replaced the vacuum tube and individual transistors as it was cheaper to produce and more efficient. The age of all things miniature begins.

Kilby was not the first who thought of the integrated circuit, in 1952 Dummer,a radar scientist with the British Ministry of Defence, filed a patent but failed at producing a functioning model. Kilby was succesful with gemanium but at the same time Noyce, an engineer for Fairchild Semiconductor, was working with silicon. Noyce filed his patent after Kilby but was awarded the patent first due to care taken in his patent filing application. It is easy to see that both Kilby and Noyce helped usher in the information age.

Labels:

Tuesday, February 05, 2008

Search for Stored Procedure Containing Text

Today I was working on some inherited code and found myself wondering what a particular database field meant. I tried searching the application's code, but being a good little programmer the previous developer had used stored procedures for all the database calls. So off I went to internetland to find how to find a stored procedure containing specific text. Here's what I found:

SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%myField%'
AND ROUTINE_TYPE='PROCEDURE'

Just replace myField with whatever your field is called, or (to be more specific) whatever text you're trying to find in the stored procedure. I'm using this on SQL Server 2005, but judging from the query it should be fairly universal.

Labels: , ,

Tech History Made on February 5, 1840


On this day 168 years ago, not one but two inventors were born. John Boyd Dunlop, the inventor of the first inflatable tire and Hiram Stevens Maxim, the inventor of the Maxim Gun.

On December 7, 1888 Dunlop patented the first pneumatic or inflatable tire. He had tested his tire on his son's tricycle. Like many inventors we have heard of recently, Dunlop had been beaten to the punch. The inflatable tire had already been patented in France in 1846, over forty years before.

In 1881 Maxim developed the Maxim gun, rather the first portable, fully automatic machine gun. We can thank him for one of the greatest moments in movie history,"Say hello to my little friend".

Labels:

Daily Link Roundup of BodiBeats and Disruptions


America's Most Wired Cities - ATL! Top of the list baby.
Col-Pop: Fast Food Drink Caddie for Snacks
Kodak Reinvents the Pixel
Migrate All Your Old Gmail to a New Gmail Address
Yamaha BodiBeat Plays Music at Your Pace - I might start running just so I can use this.
Virgin will use biodiesel in test flight
MySpace Unveils Test Version of Developer Platform
iPod Blamed in Train Death - Yet another iPod related death.
Manage Your Tracking Numbers with Track My Shipments
Disruption began to affect much of the Middle East on Wednesday- Parts of India are without internet.
Speed Up Disk Access by Disabling Last Access Updating in Windows XP
History's Greatest Gadgets
Google releases Social Graph API
Is Google's Social Graph API a Creeping Privacy Violation? - Skip to "Issues and Objections" for the meat.

Labels: , , , ,

Monday, February 04, 2008

Windows Services in C#: Part 2: Adding an Installer for Your Windows Service

In Part 1 we discussed how to write a simple Windows Service that used a timer to write to to the Event Log every 5 minutes. Although we can use installutil to manually add the service to Server Explorer, this can be cumbersome when deploying our application. This is especially true when we need to deploy to multiple machines or the Windows Service is being deployed directly by our customer. To simplify this process, we'll learn how to add an installer for our solution and tell that installer to add the service for us.

This article is one in a five-part series covering the following topics:

  1. Programming a Windows Service in C#
  2. Adding an Installer for Your Windows Service
  3. Getting Your Installer to Start Your Service
  4. Some Options for Debugging Your Windows Services
  5. Adding an Uninstaller for Your Windows Service

The examples in this series are written in C#, but this should help anyone out there wanting to do this on the .NET 2.0 Framework no matter if they're using C#, VB.Net, or any other language. This is particularly true with this subject since most of the work is actually done in the Visual Studio 2005 GUI and not in the code.

Enough with the small talk, let's build this thing!

Adding an Installer for Your Windows Service
Making a Windows Service installer is about the easiest thing to do, once you know how to do it.


1. Select Add > New Project... under the File menu.
This will (as you may have suspected) add a new project to your Solution.




2. Select a Setup Project .

Under Other Project Types > Setup and Deployment, select Setup Project. At this point you should also give your project a name. For my examples my project will simply be called Setup. Click Ok when you're done.




3. Add Project Output to Application Folder.
When you select your Setup Project in the Solution Explorer you're presented with the File System Editor for that project. From here you can specify what files are added to the user's machine and where. This allows you to designate things like what files from the solution should be added to the application's directory and what desktop and start menu items should be created, if any.

To tell your installer that you want the output (executable and support files) from your Windows Service project to be installed on the hard-drive, right-click on Application Folder and select Add > Project Output...



Select your Windows Service Project from the resulting dialog (shown below; mine is SuperService) and select "Primary output" from the selection box. As you can see from the Description, this is the "DLL or EXE built by the project", but will also include the support files for that executable. Click Ok when you're done.



At this point we have our Setup project that will generate an installer that adds our project's files to a folder on our computer. However, the installer won't actually install the service... yet.

This is where the real Visual Studio 2005 magic begins. We're going to get our Setup Project to fully install our service, fully customized and configured, without touching a single line of code.

4. Add a service installer for your Windows Service project.
Open your Windows Service in design view. Right-click anywhere in the blank space and select Add Installer from the right-click menu.



A new class called ProjectInstaller.cs will be added to your project. Open that new class in Design View. You'll see two controls, serviceProcessInstaller1 and serviceInstaller1.



Click on serviceProcessInstaller1 and observe the Properties, particularly the Account property. This lets you specify which user or system account to run the service under. What you select here really depends on what your application does, but for our purposes, we'll set it to LocalSystem.

Next, select serviceInstaller1 and observe its Properties. Several of them are note-worthy:
  • Description: In the Server Explorer (Control Panel > Administrative Tools > Services) each service has an optional Description next to its name. This property allows you to assign that description. For example, I've set mine to "Writes to the Event Log."
  • DisplayName: If you set this property, the service will be displayed in the Server Explorer as this name instead of the service's real name (dictated by the ServiceName property.)
  • ServiceName: The name of the service. It will appear under this name when windows records events for this service (such as when it errors.) This of course does not include the events we're programmatically logging to the Event Log as detailed in Part 1.
  • StartType: Here, you have three options:
    • Automatic: Start the service when Windows starts. For some reason this does not mean the service will automatically start as soon as it's installed. That's why we'll handle how to start your service after install in our next article.
    • Manual: The user (or another program) must manually start the service.
    • Disabled:Well... Disabled.
5. Connect that service installer to your Setup Project.
Once you're done playing with your properties, you have to let the Setup Project know you want to use this Project Installer during the installation process. Save your property changes, then click on your Setup Project in the Solution Explorer. You may have noticed that when the Setup Project was selected, the buttons across the top of the Solution Explorer changed. The second-to-last button (to which my cursor is pointing in the image below) is for the Custom Actions Editor.



Click on that fella and the Custom Actions Editor will open. Right-click on Install and select Add Custom Action... from the right-click menu.



From the resulting dialog double-click on Application Folder, then "Primary output from [Your service] (Active)". It should be easy to find since it will probably be the only option. Click Ok when you're done.

You can then rename the thing if you want, or keep the default label.

6. Build and install.
All you have to do now is build your project and test the installer. However, by default the Setup Project is set to not build. This is because the MSI file can take a little while to compile and you probably wouldn't want to have to wait for it every time you built your solution.

When you're ready to test your installer, go to Build > Configuration Manager and check the Build checkbox next to your Setup Project. Then when you build it will compile as well.

To actually run the installer, you don't have to go dig up the MSI file on your hard-drive and run it. All you need to do is go to Project > Install.

I realize being able to install your service but not uninstall it is kinda lame. The "uninstall" portion of this series isn't completed yet, so I'll clue you in on a little secret: It's really really easy. Remember back in step 5 where we added the Custom Install Action? Well, do the exact same thing but for the Uninstall folder, instead. Yeah, that's all there is to it. You don't even need to make anther ProjectInstaller.cs file, or anything.

In the next segment I'll show you how you can get your installer to start the service immediately after installing. Why MS didn't just make this a property option on the installer, I don't know. Perhaps they just wanted to give me the opportunity to write this article!


Continue to Part 3: Getting Your Installer to Start Your Service

Labels: