Tuesday, December 16, 2008
10 Useful Techniques To Improve Your User Interface Designs
Saturday, December 06, 2008
Holy Handywoman!
TortoiseSVN ignore-on-commit
I have also used the strategy at http://subversion.tigris.org/faq.html#ignore-commit. It ensures all working copy web.config files never get committed. You have to manually copy the contents of the renamed, unversioned web.config to the versioned template.
** Update 2009-03-26 **
I tried to use this again and forgot how to do it. The change list help page clearly states that you do a context menu on the file you want to add to a change list within the commit or check-for-modifications dialog box. I kept trying to see it in the window folder context menu for the file I wanted to add to a change list.
Thursday, November 27, 2008
Change the number of rings
Press *78. Then press the number of ring you want till is goes to voice mail.
Friday, November 14, 2008
What does Agile mean?
It reminds me of a conversation I had with another developer. We were talking about creating some kind of job tracking system so we can more accurately identify how much each widget costs. The conversation came down to, "Make it painless yet required". You don't want to tax the time of your producers, yet you want to more accurately capture costs per widget.
That is the idea of continuous integration. Whenever your code is committed, the unit tests on the build machine start running. They soon let you know if your changes broke any existing tests.
Some other quotes I like from the article:
"Agile helps people focus on the value the product delivers to real people"
"A focus on working code helps Agile projects stay honest."
"The Agile process does not provide tools to define key business or user experience objectives"
Tuesday, October 28, 2008
Dominant, Expressive, Analytical and Amiable
The workshop focused on improving the communication between people with very different styles. There are four patterns people use to communicate: Dominant, Expressive, Analytical and Amiable. Most people have a primary and secondary way of communicating.
One of the best stories was one the facilitator told of a rafting trip they went on as a company. It was a hoot to hear how the people of the different styles interacted with each other.
The bottom line for me were two things to remember per communication style. One was what the person of the style was to remember. The other was what others could keep in mind when communicating with the person. This is what I remember:
A dominant communicator should remember to ask not tell. Others should remember to take them seriously but not personally.
An expressive communicator should let others know when they are talking out loud. Others should restate what they heard them say. If appropriate, touch them to let them know you understand what they said. Paraphrase, playback.
An analytical communicator should let others know when they are thinking, "Let me think for a moment". Others should give them time (5-10 seconds) after asking them a question.
An amiable communicator should remember to speak up now, sooner is better than later. Others should ask to ask, "May I ask you something?"
This came up for my wife and I last night. It has helped us to avoid misunderstandings. It may help me at work too. It will serve me to remember these lessons.
Thursday, October 09, 2008
Wednesday, September 24, 2008
Friday, September 19, 2008
Google Chrome is an Operating System
Wednesday, September 17, 2008
Solar Noon
Wednesday, August 27, 2008
Delete Temporary ASP.NET Files
- From command line issue a "IISReset /stop" command to stop IIS
- Delete the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ folder
- Start IIS with "IISReset"
Friday, August 22, 2008
View Message Source in Outlook 2003
The other day I wrote how to view message headers in OWA, and recieved a lot of mail asking if this can be done it Outlook as well. If you have ever used Outlook Express, you might be familiar with the View --> Source option. In Outlook this feature does not exist.
Outlook gives you the option to View --> Options which will display the e-mail header. To enable the View --> Source functionality in Outlook 2003 open up regedit and drill down to:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail
Create a new Reg_DWORD called SaveAllMIMENotJustHeaders and give it a value of 1. This will enalbe the View --> Source option in Outlook 2003 but there are a few exceptions. It will only work for messages received after the change has been made and will not work with MAPI connections (i.e. Exchange mailboxes). You will only have this option for mail received from Internet transports (i.e. POP3)
Where is the rawurlencode of ASP.NET?
I could not find a function in ASP.NET that behaves like PHP's rawurlencode. System.Web.HttpUtility and HttpServerUtility both have UrlEncode and UrlPathEncode. So I created the function below to extend UrlEncode to manually encode the characters that kept the the filenames from working as an <a href path
/// <summary>
/// HttpUtility.UrlEncode() and Server.UrlEncode()
/// do not urlencode some special characters.
/// This procedure ensures that the file part of the
/// url returned is properly encoded
/// Used http://www.voormedia.com/en/tools/url-encoder-php-asp-urlencode.php
/// to see what characters urlencode to
/// Also http://en.wikipedia.org/wiki/Url_encoding
/// </summary>
/// <param name="Filename"></param>
/// <returns></returns>
public static string GetUrlEncodedFilename(string Filename)
{
string FileNameEncoded = "";
if (Filename != null)
{ FileNameEncoded = HttpUtility.UrlEncode(Filename);
//UrlEncode encodes spaces to pluses. http://forums.asp.net/t/1231078.aspx
FileNameEncoded = FileNameEncoded.Replace("+", "%20");
//Encode ' so the href specification does not terminate
FileNameEncoded = FileNameEncoded.Replace("'", "%27");
} return FileNameEncoded;
}
Here is an online HTML encoder I used to be able to format the code to show up correctly.
Sunday, August 03, 2008
Wireless Mastered!
The solution that finally worked was to disable the LinkSys software managing the network card. Use Windows to manage the connection.
Right click on your network adapter and choose view available network connections. From that screen pick the manage preferred networks. You get the follow dialogs. Manually enter the SSID and other information like your wireless router has them. Bingo, my wireless machine connects automatically, every time.
Wednesday, July 09, 2008
Use your wings, try it again
I have had reticence. I have been resisting this kind of change. I am nearing the end of a long project. I am not in the frame of mind to start this kind of investment in time and brain power.
In many ways for the last three years I have wondered and the power of using my wings. I have even these more effective processes a bit. Many times I have given up and walked home.
I still believe there is large improvements that can be made in my software development methodology. I commit to doing my best to suspend my disbelief. To incrementally start using units tests then continuous integration.
Wednesday, July 02, 2008
I get an exception until I delete my *.suo file
He figured it out by copying file by file from the working folder of his branch to the working folder of the merged branch. Everything was the same except the *.suo file. Once he copied it, it was fine.
It ended up being an option he had set in the "Break when an exception is" dialog box. You get to this from the Debug/Exceptions menu.
Some time beforehand, he had the check box thrown checked for "Common Language Runtime Exceptions". So in debug mode, he was seeing an exception in the .NET runtime that was handled in a try block. You can F5 through the exception because it is handled. If you are not used to seeing handled exceptions this will throw you off.
The problem here is that anyone searching for this error would have to know the solution before being able to find it. Normally you Google the exception text. That could be anything.
So beware! Use the VS 2008 "Break when an exception is" dialog with caution. And then revert back to the default settings as soon as you are done.
Wednesday, June 18, 2008
Getting Null Values into the database by Stored Procedures
CREATE TABLE [dbo].[UserInfo](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[FNAME] [nvarchar](50) NULL
...
)
CREATE PROCEDURE usp_UserInfo_Add
@UserID int
,@FNAME nvarchar(50)
AS
...
private void AddUserInfo(int UserId, string FName
, ...)
{
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand();
...
command.Parameters.Add("@FName", SqlDbType.NVarChar, 50);
command.Parameters["@FName"].Value = FName ?? (object)DBNull.Value;
It check for a null value and sends in the required DBNull.Value instead. This what I originally had in AddUserInfo
command.Parameters["@FName"].Value = FName;
If I pass in a null value in FName into AddUserInfo, it sends the following to the SQL Server
exec usp_UserInfo_Add @UserID = 801678, @FName = default
There is no default defined on the stored procedure so it fails saying you did not provide a value for a required parameter.
Another solution would have been to define a default value in the stored procedure as follows.
CREATE PROCEDURE usp_UserInfo_Add
@UserID int
,@FNAME nvarchar(50) = NULL
AS
...
Then I could pass a null value in FName into AddUserInfo, the stored procedure would provide NULL as the default.
Saturday, May 24, 2008
Home Network with XP Home Edition
One is a XP Home Edition and the other is XP Proferssional. I have a netgear router hooked to the computer. The router is hooked to the cable modem. I want to share files between them and be able to get to the printer from both. He offer a few settings to look at. I ended up using only two tips to get this accomplished.
- Put both machines in the same workgroup. I think this is what allowed them to ping each other.
At this point I could connect from the Home Edition to the Professional. I could then get to C$ after logging in as a admin user of the Pro machine. I could not however, get to the Home machine from the Pro one.
- Go through the Network Setup Wizard on the Home Edition PC. This is found at Start | All Programs | Accessories | Communications | Network Setup Wizard. See Practically Networked.
The only catch is that I have to explicitly add folders to my SharedDocs folder on the Home Edition in order for them to be available on the Pro.
I dragged the printer I wanted from Home Edition to Pro. Now I can print from the Pro machine.
Friday, May 23, 2008
Beyond Compare File Filters
Go to the Session\File Filters menu. Add "_svn" to the Exclude folders text box.
Now I never have to see_svn folders in beyond compare again.
Wednesday, May 21, 2008
Tab Delimited Results From SQL Server
Navigate to Tools | Options | Query Results | SQL Server | Results to Text
The settings only apply to new query windows opened.
From
http://www.mssqltips.com/tip.asp?tip=1105
Server Up Time
"The 'net statistics workstation' command will tell you the last time your
computer was rebooted."
From
http://www.itnewsgroups.net/group/microsoft.public.windows.server.general/topic8056.aspx
Wednesday, May 14, 2008
Improve My Software Delivery Commitments
Well we took the plunge. We tried FogBugz for a month in January and then bought some licenses. I recently got a new supervisor. She seems willing to try out FogBugz as our software project management tool.
From Evidence Based Scheduling,
Why won’t developers make schedules? Two reasons. One: it’s a pain in the butt. Two: nobody believes the schedule is realistic. Why go to all the trouble of working on a schedule if it’s not going to be right?Here is a 70 minute video Joel Spolsky made in Oct 07 that explains the Evidence Based Scheduling feature of Fogbugz.
Over the last year or so at Fog Creek we’ve been developing a system that’s so easy even our grouchiest developers are willing to go along with it. And as far as we can tell, it produces extremely reliable schedules. It’s called Evidence-Based Scheduling, or EBS. You gather evidence, mostly from historical timesheet data, that you feed back into your schedules. What you get is not just one ship date: you get a confidence distribution curve, showing the probability that you will ship on any given date. It looks like this:
The steeper the curve, the more confident you are that the ship date is real.
Frederick P. Brooks in 1987,
Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will be any—no inventions that will do for software productivity, reliability, and simplicity what electronics, transistors, and large-scale integration did for computer hardware.... I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation.... If this is true, building software will always be hard. There is inherently no silver bullet.Fogbugz is not the golden goose that will solve all software development problems. As I persist in my discipline to use it, it will help me make more accurate delivery estimates.
Wednesday, April 02, 2008
"An order of magnitude better"
There is a consensus in the software development industry that the best programmers are "an order of magnitude better than the average ones" Spolsky.
A Guide to Hiring Programmers: The High Cost of Low Quality, revsys.comI am by no means one of the best programmers. I generously consider myself in the upper end of average. One of the things I remember from my interview with Vitrix years ago was that they wanted to hire people smarter than themselves.
"there is at least an order of magnitude of skill difference between the average programmer and the best programmer, and maybe even two orders of magnitude" Barnes.
"many studies have shown order of magnitude differences in the quality of the programs written, the sizes of the programs written, and the productivity of the programmers" McConnell
"[Bill] Curtis observed order of magnitude differences among the programmers" McConnell
Skill Disparities in Programming. Atwood.
With the help of another programmer and a few resources on the web, I have gathered a list of interview questions that discover the skills and qualities of a developer. I am sure we will find a match with someone passionate about effective software development.
Here is our job posting, by the way. If you think you fit the drive, curiosity and skills to join us, come on! Even if you think you are shy on experience, take a plunge. We will be gentle.
Tuesday, April 01, 2008
C# XML documentation
Remember, /// will get you started.
C# XML documentation comments FAQ
MS Windows Workflow Foundation
ASP.NET and Windows Workflows Foundation
Manage application processes with Windows Workflow Foundation Brian Noyce
Link to a poster of Microsoft .NET Framework 3.5 update to the Commonly Used Types and Namespaces.
Notes from Michael Stiefel on Windows Workflow Foundation
1 of 4
"Workflow is the automated processes of a Business Process" Reliable Software
6:21
Reusable Business Activities
Separate Workflow from Activity
This workflow is hosted somewhere. Sharepoint?
Workflow runtime
9:50
Concept of Host
Concept of Activity
Concept of Workflow
10:30
The dream is these activities will be manipulated by Business Analysts in a drag and drop way.
2 of 4
5:30
Activities are not small atomic. These are long processes.
Programmers cannot stay in the back room. You are not of high value. You are just a coder.
Tuesday, March 25, 2008
Just Do It
A lot can be done to improve the project just by one person doing it. Don't have a daily build server? Make one. Set your own machine up with a scheduled job to make builds at night and send out email results. Does it take too many steps to make the build? Write the makefile. Nobody does usability tests? Do your own hallway usability tests on the mailroom folks with a piece of paper or a VB prototype..
Outbound Filter or Inbound Filter
there's always some person without an outbound filter who feels compelled to tell you about how he uses Opera, so he doesn't have this problem, although, frankly, I could care less what Anonymous uses. He's not even human to me, he's anonymous.Joel refers to Jeff Bigler's description of Tact Filters. Here is Jeff's entire post.
I came up with this idea several years ago in a conversation with a friend at MIT, who was regularly finding herself upset by other people who worked in her lab. The analogy worked so well in helping her to understand her co-workers that I decided to write it up and put it on the web. I've gotten quite a few email messages since then from other people who have also found it helpful..
All people have a "tact filter", which applies tact in one direction to everything that passes through it. Most "normal people" have the tact filter positioned to apply tact in the outgoing direction. Thus whatever normal people say gets the appropriate amount of tact applied to it before they say it. This is because when they were growing up, their parents continually drilled into their heads statements like, "If you can't say something nice, don't say anything at all!"
"Nerds," on the other hand, have their tact filter positioned to apply tact in the incoming direction. Thus, whatever anyone says to them gets the appropriate amount of tact added when they hear it. This is because when nerds were growing up, they continually got picked on, and their parents continually drilled into their heads statements like, "They're just saying those mean things because they're jealous. They don't really mean it."
When normal people talk to each other, both people usually apply the appropriate amount of tact to everything they say, and no one's feelings get hurt. When nerds talk to each other, both people usually apply the appropriate amount of tact to everything they hear, and no one's feelings get hurt. However, when normal people talk to nerds, the nerds often get frustrated because the normal people seem to be dodging the real issues and not saying what they really mean. Worse yet, when nerds talk to normal people, the normal people's feelings often get hurt because the nerds don't apply tact, assuming the normal person will take their blunt statements and apply whatever tact is necessary.
So, nerds need to understand that normal people have to apply tact to everything they say; they become really uncomfortable if they can't do this. Normal people need to understand that despite the fact that nerds are usually tactless, things they say are almost never meant personally and shouldn't be taken that way. Both types of people need to be extra patient when dealing with someone whose tact filter is backwards relative to their own.
Friday, March 21, 2008
MST, MDT, MT or Mountain Time
So this morning I was prompted by a pet peeve. When referring to a time zone which one is most appropriate to use?
MST (Mountain Standard Time)
MDT (Mountain Daylight Time)
MT (Mountain Time)
Grammar Girl says,
"It seems to me that people often don't even know whether it is standard time or daylight-saving time. It doesn't hurt to use EST or PST, but I've certainly seen people write PST when it is daylight-saving time, so I think it's fine to say just eastern time or Pacific time. It's better to leave off a detail than to get it wrong!"I agree with grammar girl. If you have the discipline to use CST or CDT accurately, go ahead. Otherwise, you should play it safe. For March 20, 2008, use "The server issue was resolved at approximately 6:30 AM Central Time". Grammar Girl continues to describe a frustration that Arizonans can relate to.
"Also, after living in Arizona and missing enough meetings because of time-zone confusion, I like to spell things out as clearly as possible, so I appreciate it when people say something like "We're meeting at 1:00 p.m. eastern time -- that's 10:00 a.m. your time." (Of course, then you need to make sure you do the conversion right.)"
Thursday, March 20, 2008
Budgets
We have been navigating the red tape in our company to get some software tools we want to be effective. This quote from Milton Friedman kept coming to my mind.
There are four ways in which you can spend money. You can spend your own money on yourself. When you do that, why then you really watch out what you're doing, and you try to get the most for your money. Then you can spend your own money on somebody else. For example, I buy a birthday present for someone. Well, then I'm not so careful about the content of the present, but I'm very careful about the cost. Then, I can spend somebody else's money on myself. And if I spend somebody else's money on myself, then I'm sure going to have a good lunch! Finally, I can spend somebody else's money on somebody else. And if I spend somebody else's money on somebody else, I'm not concerned about how much it is, and I'm not concerned about what I get.Here is a video of Milton Friedman about this. Here is a chart of the quadrants he talks about.
We have been working in quadrant III. Trying to get our company to spend their money on tools we need. We had to convince them that they will get a timely return on their investment.
Wednesday, March 19, 2008
Programs I use at work
Windows Settings I Like
- Select which icons appear on the taskbar - right-click on the taskbar and choose "Taskbar settings". Scroll down and choose "Select which icons appear on the taskbar"Beyond Compare
Notepad++
Visual Studio
Screen Resolution
Programs
Prioritized 2021-03-12
7-Zip
Beyond Compare
Calendar 2000 CNET Link
CutePDF Writer
DS Clock - Time format "h:mm t", Arial (9 pt.), disable sound, pale green background, black text
Eye Saver - choose overlay from the mode. click on the gear icon next to the Overlay checkbox. Set Opacity to 30%. change the color to black.
f.lux
FogBugz
IntelliJ IDEA (Java IDE)
Internet Download Manager
Large Text File Viewer - View very large files.
MS Visual Studio 2013
MS SQL Management Studio
Notepad++
Add JSToolNpp for JSON viewing support. In the Notepad++ installation folder add the NPPJSONViewer folder and its dll to the plugins folder. You can find this in the Apps folder Rich has.
Increase font size by one, View > Zoom (Ctrl + Num +, Ctrl + Num -, Ctrl + Num + /) Num=Number pad)
TightVNC
TortoiseGit
VLC Media Player
WinDirStat
Crimson Editor 3.70 - Has column mode editing [Edit/Column Mode Alt+C ] and it is open source
Also has Convert Tab to Spaces (Document/Tabs & Spaces/...)
Cygwin
Subversion
-- TortoiseSVN
Log Parser 2.2
NeoShooter, 4.0.3b*
Regex Coach
Simple-Adblock.com (Ad Blocking for Internet Explorer)
AdFender
If your menu toolbar is not visible you get to these settings by clicking on the "Firefox orange button in the title bar and then choose AddOns.
Change the Alt+Tab behavior to the FF and Chrome default. In the "Tab Opening" tab, uncheck Location under the "Open new tabs for". This will allow the same behavior as before where Alt+enter opens in a new tab.
Adjust the appearance given to unread tabs. Under the Appearance button, choose Tabs. In the Tab Highlighting section, click Unread. Uncheck enabled. I do not need to be so distracted just because one of my tabs refreshed itself. For the "Current" Tab uncheck the color. It is also distracting.
- Omnibar Instead of Omnibar, customize what is shown in the navigation tool bar. Right-Click in the tool bar and choose customize. Drag the items you do not want into the Customize toolbar dialog. I drag everything except the address bar, the refresh button, the stop button, Ad-Block Plus and favorites. The address bar in FF seems to behave like the omnibar in Chrome. There is no need for the search box.
IECookiesView
Blank screen saver
- path "C:\WINDOWS\system32\scrnsave.scr"
- Shortcut key Ctrl+Shift+F
- Put the shortcut on your desktop and you can always hit the shortcut to quickly eliminate the screen and the distraction while on a phone call and then instantly return to your work.
Foxit Reader (PDF), 2.0*
Dropper - get the color of any pixel on the screen
Chocolatey - a command line download and installation utility for windows
The following commands use Chocolatey to download and install stuff
"choco install 7zip.install" "choco install 7zip.install" install 7zip and put 7zip in the path.
"choco install gow" installs Gnu On Windows, lightweight alternative to Cygwin
* Older or hard to find version. I may have to login to pages.google.com to get these through a web filter.
Monday, March 17, 2008
"8 billion existing web pages be damned"
It is a good description of the chasm between idealistic engineers and compliance with the standards and pragmatists who want to make the software work with the existing customer base.
There is no solution. Each solution is terribly wrong. Eric Bangeman at ars technica writes, “The IE team has to walk a fine line between tight support for W3C standards and making sure sites coded for earlier versions of IE still display correctly.” This is incorrect. It’s not a fine line. It’s a line of negative width. There is no place to walk. They are damned if they do and damned if they don’t.
That’s why I can’t take sides on this issue and I’m not going to. But every working software developer should understand, at least, how standards work, how standards should work, how we got into this mess, so I want to try to explain a little bit about the problem here, and you’ll see that it’s the same reason Microsoft Vista is selling so poorly, and it’s the same issue I wrote about when I referred to the Raymond Chen camp (pragmatists) at Microsoft vs. the MSDN camp (idealists), the MSDN camp having won, and now nobody can figure out where their favorite menu commands went in Microsoft Office 2007, and nobody wants Vista, and it’s all the same debate: whether you are an Idealist (”red”) or a Pragmatist (”blue”).
_
Friday, February 15, 2008
TIOBE Programming Community Index
The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.It has a nice graph displaying the trends.
Thursday, February 14, 2008
Could not load type error in VS 2005 Web Application
Occasionally I get an error like
Could not load type 'MOS5.MOSLinks'
when editing a web page. I have seen a lot of posts that address this error. For MOS5 it has always come down to case sensitivity.
I end up comparing the existing version to a previous one. Today I noticed that the MOSLinks.aspx.vb had this at the top of the file.
Imports MOS5.mosLinks
I edited this line in MOSLinks.aspx
Inherits="MOS5.MOSLinks"
to this
Inherits="MOS5.mosLinks"
After compiling, the error went away.
Occurring in a newly published projectMake sure the folder you are publishing to is a virtual directory.
Repeat a String n Times
From SQL BOL 2000:
Replicate - Repeats a character expression for a specified number of times.
Wednesday, February 13, 2008
Keyboard Shortcuts in Gmail
c = Compose
/ = put cursor in Search box
Maybe these will save me time
Tuesday, February 12, 2008
Beyond Compare File Comparison Rules
I made BC ignore leading whitespace in the "Everything Else" rule set by going to the Tools/Edit Current Rules/ menu. In the importance tab check "Leading whitespace". The right side was much more indented than the left. I fixed this my going to the General tab and choosing 4 characters = tab stops.
Now BC shows me only the important differences in my code versions.
You can pick rules by using the Tools/Pick Rules menu. I don't know why it did not pick VB when I was comparing two *.vb files.
I am using Beyond Compare version 2.4.3 (build 243).
Tuesday, January 29, 2008
Minimum Online Configuration
Automatic updates - Windows 10 does this for you
Anti virus - Windows Defender default for Windows 10. "How to schedule a Windows Defender Antivirus scan using Task Scheduler"
Task Scheduler > Task Scheduler Library > Microsoft > Windows > Windows Defender
Ad-Blocking - Use some simple ad-blocking extensions for your favorite browser. Your sanity and your computer's health will thank you. (Added Jan 2013)
Chrome - Adblock Plus, Ghostery (I use it to block taboola)
FireFox - Adblock Plus, Ghostery
IE - Simple Adblock
Install Brave Browser
Firewall - I don't use a firewall. I have a router between my cable modem and my network. It blocks much of the bad people trying to access your network. You may want to install one if you have people that aren't careful on your network. It will stop malware that you have mistakenly installed to try and phone home.
Internet filter - (Updated Jun 2015)
OpenDNS Family Shield is a free option and it will protect your whole network, if you set it up on your router. It pays for itself with ads. Whenever you hit a site that is blocked a OpenDNS page is shown with ads. You can choose a paid for option and eliminate the ads and increase your log retention to I think 2 years. Here is how you set it up.
Also, we use practices like putting the family desktop in an open area and rules for laptops to be used in an open area. We put passwords on all desktop and laptop computers that only mom and dad know. If they want to use one, we log it on for them for a specific purpose and then they are off. And we use the buddy system for additional precaution.
The technology we use is mainly to prevent someone accidentally coming across unsavory content. Much more powerful is open and often dialog with your children. Talk to them about everything. Listen to what they say. They will come to trust you when something disturbs them. Teach them to stop, crash and tell. If something disturbs them on the Internet, stop. Crash the device or computer. And tell their mom or dad.
As a parent, it is our job to help our children navigate the dangers of the Internet. Gain their trust by being compassionate and empathetic. Teach them the dangers of porn. Teach them to not ask Google about sexual things but rather their parents. Teach them that sexual intimacy is sacred and beautiful and only one aspect of the wonder of marriage. Express love in ways they feel it.
Defragment - Windows 7 and newer automatically defragments automatically.
Reduce start up apps - Programs sometimes are intrusive. They want you to use them. They get themselves to start up when you start your computer. They can slow your system down. Here I detail how you can tell your computer what is important to you.
Friday, January 18, 2008
The Five Browser Shortcuts Everyone Should Know
1. Set up a keyboard shortcut to launch your browser
2. Alt+D to navigate to the browser address bar
3. Ctrl+E to navigate to the browser search box
4. Alt+Enter to open searches or websites in a new tab
5. The middle mouse button opens links in a new tab, and also closes tabs
Tuesday, January 15, 2008
ClearType Tuner PowerToy
Thursday, January 10, 2008
Where Are the Software Engineers of Tomorrow?
If programmers only learn higher levels of software development, who will build the next great operating system? Who will build the compilers for the higher level languages?
Joel Splosky refers to this article and suggests creating Bachelor of Fine Arts in Software Development.
Imagine instead an undergraduate curriculum that consists of 1/3 liberal arts, and 2/3 software development work. The teachers are experienced software developers from industry. The studio operates like a software company. You might be able to major in Game Development and work on a significant game title, for example, and that's how you spend most of your time, just like a film student spends a lot of time actually making films and the dance students spend most of their time dancing.
Thursday, January 03, 2008
Gmail Edit Link Shortcut Key
One peeve I have with Gmail is there is no keyboard shortcut to Edit Link. I use Edit Link often when I compose an email. I have gotten used to ctrl+k in MS-Word. IE will open a hyperlink dialog when I use ctrl+k. Firefox uses ctrl+k to set focus on the search bar. I wouldn't mind learning to remember another keyboard shortcut if they would only provide it.
One more thing. It would be great for it to be the same shortcut key that blogger.com and any other editing tool google has (will have).
**** Update 2009-10-14 ****
I was hoping that the new Custom Keyboard Shortcuts would allow me to assign a Ctrl+K some other kind of keyboard shortcut to allow me to bring up the "Edit Link" dialog box when I am composing a message alas no.