Software development blog - RSS Feed URL - Blog rss feeds
Home | Most popular rss | Newest feed urls | Popular search | Tags | Submit RSS URL
RSS Feed Categories
.NET
Advertising & Marketing
Africa
Americas
Art & writing
Articles & tutorials
Asia
Australia
Automobile
C/C++
CA
Cisco
Computers
Construction
Developer News
Europe
Finance
Foods & Beverages
Fun & Entertainment
Games
General
Hardware & PDA
Health
Human resources
IBM
Internet
Java
Legal
Locals
Media
Microsoft
Moreover
News & Opportunities
News4Sites
NewsIsFree
Real Estate
Science & Education
Security
Shopping
Society
Software
Sports
SQL & databases
Sun
Telecom & Wireless
Thoughts & comments
Travel
UK
US
Web development
World
 
Recommended Sites
free ringtones sites
yalta
Free Ringtones
free ringtones
free ringtones
ringtones
ringtones
Free Ringtones
Free Ringtones
Free Music Lyrics
Sara Evans
free ringtones
free ringtones
info sites
Map quest
Map quest
fox news
celebrity oops
news
Used Cars
Pet Adoption
drink recipes
free articles
Apartments
online flowers
game cheats for ps2
pharmacy sites
Online Pharmacy
online pharmacy
online pharmacy

finance sites

Consolidate Debt Loans
Student Loans
mortgage calculator
Student Loans
Student Loans
Student Loans
consolidate debt loans
Student Loans
car loans
unsecured personal loans
nationwide home mortgage loan company
pay day loans
unsecured personal loans

Sponsors Sites!


Software development blog
RSS Feed URL : http://www.developmentnow.com/blog/SyndicationService.asmx/GetRss
Category : .NET
Total Views : 17
Latest entries from this feed url
How to Disable AVG Antivirus in Vista

I was unable to temporarily stop AVG antivirus in Vista until I saw this tip from highmastodon:

  1. Shut down AVG Control Center by right-clicking the AVG icon in your taskbar & choosing Quit.
  2. Now click the Vista start button and type "AVG" in the search box. AVG Control Center should appear.
  3. Right-click AVG Control Center and choose "Run as Administrator"
  4. Now you can open up AVG Control Center, double-click Resident Shield, uncheck "Turn On Resident Shield", and save the changes.

Visual Studio 2008 Virtual PC Performance Tips

So apparently if I start a blog post but don't submit it within an hour or two my session times out & I lose the post. Nice.

Anyhow, performance has been terrible with VS2008 inside of Virtual PC. CPU is pegged, 30 seconds to load pages, you know the drill.

So here are some tips to improve performance.

  1. Don't use Virtual PC. Instead, run VS2008 on VMWare or your own computer, and have it access all CPU cores.
  2. Get good hardware. Quad-core CPUs, 3+gb RAM, fast disks (especially in a RAID 0 arrangement).
  3. Install the VS2008 Performance Patch. It didnt' help me, but it might help you.
  4. Make sure your anti-virus is ignoring your VM & compile folders.
  5. Change your <compilation tempDirectory="" /> to point to a very fast drive, like a RAM drive.
  6. Ensure VS2008 is running multiple parallel builds under the Tools->Options->Projects & Solutions->Builds & Compilation. The default is only 1 build at a time, but you can run more if you have a multi-core CPU.

 

 


Slicehost and Securing SSH

SliceHost and Affordable Linux Hosting

I'm trying out a new provider, SliceHost, for the upcoming Portland Open Coffee Club and Portland Open Beer Club web sites. SliceHost provides fast & affordable Linux VPSes with a variety of distros to choose from.

The one downside (for me at least) is that the distros come with nothing installed. Well, I shouldn't say nothing (since SSH is on there), but no database, no web server, no ftp, no PHP, no mail. I was surprised when I first uncovered this, since I ordered an Ubuntu 8.04 server VPS & figured it would have a normal LAMP stack installed. But no, it's a minimal Linux install. That's so if you have specific needs, you can install exactly what you want & avoid installing anything you don't. But if you're more of a programmer than a sysadmin ... well, you may want to check out RimuHosting for a VPS. Great support, nice VPSes, good upgrade path, & the boxes are ready for your PHP code.

Or if you want a bit more hand-holding, you can go with GoDaddy or Dreamhost. GoDaddy's support is meh, but they're easy to get started with and are fine for a small site. Dreamhost has better support, but recently I had a really bad performance experience with them & canceled my account.

So anyhow, this wasn't supposed to all be about affordable Linux hosting providers -- I was also going to mention securing SSH. 

Securing SSH

I've been following PickledOnion's great Ubuntu setup guide, and it mentioned securing SSH by moving it to a different port (other than port 22). You can basically edit /etc/ssh/sshd_config, change the port number at the top, and then restart ssh with /etc/init.d/ssh restart.

Note: once you change the port, don't log out of SSH right away! Instead, open a new SSH window & try connecting to your box on the new port. If it doesn't work, you can go back to your previous still-open SSH window & troubleshoot.

Another option in /etc/ssh/sshd_config is to disallow root access, which is definitely a good idea. Although, if you end up SUDOing users so they have access to everything, then it doesn't protect as much as you think, since someone who can log in as you could do almost as much damage as root, including editing /etc/ssh/sshd_config to switch the ports to something different and allow root back in.

An additional way to secure SSH is to edit your firewall to block most IPs from accessing SSH, and block any unneeded ports. I'll refer you to the setup guide again ... scroll down & you'll see the section on iptables.

BTW, experienced Linux admins probably already know the above tips (plus more!), but I figured there's a lot of people getting into Linux admin work these days, so some basic admin knowledge doesn't hurt.


Subversion: Merging Changes from a Branch into the Trunk

We don't branch or tag super often, usually just on major releases, experimental code, or not-yet-ready code. But sometimes you'll have changes in a branch that you want to merge back into the main development trunk.

So assume your project's trunk is at myproject/trunk.  You then create a branch for a major release in myproject/branches/1.0-release. After a few weeks, you have to fix a bug in the 1.0-release version of your project, so you make the changes to the /myproject/branches/1.0-release branch. Then you build, test, & deploy that fixed version to production or whatever.

But now you want to merge that fix into your trunk. The main thing to remember is that the only changes you want to merge are the ones you made after the branch was created. You don't want to merge the entire branch into the trunk, otherwise you'll end up merging old code (from the branch) into the trunk, too.

BTW you might ask why I use "branches" instead of "tags" in the above example. That's because tags and branches are the same as far as SVN is concerned, and the main difference is that a "tag" is supposed to be a "snapshot" of your code that you don't make changes to (i.e. a static archive), while a "branch" is a version of the code that people might change. Since there's always a chance that we'll need to make changes to a major release (without accidentally including any not-yet-ready trunk changes), all our major releases are branches, not tags.

Ok so enough of all that. Below are some links on this topic that I suggest you read.

  1. SVN Book Chapter 4. It's a quick read, explains the principles, and shows the commands. You can skip through some of the beginning if you already know about branching, but sections "Copying Changes Between Branches" and "Common Use Cases for Merging" have good overviews on merging changes and branches. I'd suggest first reading the explanations and skipping the actual commands, so you know what's going on from a high-level.
  2. SVN Branch Merging from Michael Sepcot. Nice easy SVN commands to follow, now that you understand what's going on. If you're using Subversion from a command line, that is.
  3. How to Merge using Tortoise SVN. If you're a Windows developer, you're probably using TortoiseSVN. This guide explains how to perform the merge. Remember that the changes are merged into your local copy, so you can confirm they're ok and then commit them into SVN.

Happy merging!


Portland Open Beer Club is this Thursday, April 10, 5pm, at Bailey's Taproom

Portland Open Beer Club (a spinoff of the Open Coffee Club) is meeting this Thursday 5pm at Bailey’s Taproom, 213 SW Broadway, Portland, OR. It’s an informal meetup where entrepreneurs, developers and investors can chat, network and grow. Very laid back, no agenda, stay as little or as long as you want.

 

Portland Open Beer Club is different from Open Coffee Club in that it's

·         Beer instead of coffee

·         At 5pm instead or 10am

·         usually attended by more people J

Hope to see you there! If you've never met me before, I'm the tall blond guy in the orange jacket.


SQL Server Management Studio - Export Query Results to Excel

The easiest way I've found involves two steps:

Adjust SSMS Settings

  1. Go to Tools->Options
  2. Query Results->SQL Server->Results to Grid
  3. Check "Include column headers when copying or saving results"
  4. Click OK.
  5. Note that the new settings won't affect any existing Query tabs -- you'll need to open new ones and/or restart SSMS.

Now next time you run a query, do this

  1. Make sure the results are displayed in a grid (CTRL+D or Query->Results To->Results to Grid)
  2. Right click in the grid, and click Select All
  3. Right click in the grid again & click Copy
  4. Open up a new Excel spreadsheet, and paste the data in
  5. Do a global search & replace, replacing "NULL" with an empty string.

Voila!

I had tried before with SSMS's export to CSV feature, and it just didn't escape data the way I needed it to.


Linq to SQL: Cast Stored Procedure Results to Table Entities

So you can probably tell that I've been doing a lot of LINQ lately. :) One thing I've found is that it's easier for me to write complex queries in the database as stored procedures or views, and then use Linq to SQL to retrieve the results, sort, filter, do paging, etc.

The downside of that approach is the results normally come back as a <view or proc name>Result type, instead of the actual table type. That's sometimes an issue, because I use partial classes to give my table classes some extra functionality, and I might want to allow updates, etc. against various tables.

So the goal is to be able to call a view or stored procedure, but coerce those results into a good ol' MyTable object.

You may already know how you can drag a stored procedure or view from your database (in Server Explorer), and drop it on top of a Table entity in the O/R designer. That will cause the stored procedure to return results of that table's type, instead of <procname>Result.

But Rick Strahl had a great post from a while back explaining how you can use views, procs, & dynamic SQL, and cast those results to a specific table type using ExecuteQuery. A snippet from Rick's post is below:

What's also interesting is that when you provide LINQ a query like this it still works with the DataContext's change tracking. For example, the following code actually works as you'd expect:

IEnumerable<Customer>
custList = context11.ExecuteQuery<Customer>("select
* from Customers where CustomerId={0}", "ALFKI");
Customer cust11 = custList.Single<Customer>();
Response.Write(cust11.CompanyName); cust11.CompanyName = "Alfreds
Futterkiste " + DateTime.Now.ToString();
context11.SubmitChanges(); custList = context11.ExecuteQuery<Customer>("select
* from Customers where CustomerId={0}", "ALFKI");
cust11 = custList.Single<Customer>();
Response.Write(cust11.CompanyName);

The cool thing (as Rick mentions) is that you don't have to do a "select * from Customers" -- you could do a "select CompanyName, ContactName from Customers" and it will work, too. You don't need to bring back all columns in order to successfully cast the result to a Customer object.

I'll post my continuing forays into Linq as I continue. One thing that remains to be seen is whether Linq to SQL is robust enough to be helpful vs requiring me to extend it too much to do what I want/need.


jQuery Cheat Sheet

Yeah so this isn't brand new. But the jQuery Cheat Sheet is for version 1.2, at least. Visual jQuery (which I still use a lot) is only for jQuery 1.1. I sure hope someone doesn't come out with a Visual jQuery clone for jQuery 1.2.X ... :)


Grouping in Linq to SQL vs SQL

I wanted to put up a few examples of SQL vs Linq to SQL for my future reference, since we're using it in one of our social media projects for artists. I'm pretty handy at SQL, but it doesn't translate exactly to Linq to SQL.

Example 1

Assume you have a view called vev_bws_mediaVoteDownloadHistory that votes and downloads for different media by date. So it contains columns like mediaId, artistId, activityDate, votes, and downloads.

If we wanted to query this view to get the total number of votes and downloads for a given media, you could use SQL like this

SELECT     votes
= SUM(votes),
    downloads = SUM(downloads)
FROM vev_bws_mediaVoteDownloadHistory WHERE mediaId = 12345

Or use Linq to SQL like this

veDataContext
dc = new veDataContext();
var totals = (from
v in dc.vev_bws_mediaVoteDownloadHistories
where v.mediaId.Equals(12345) group v by v.mediaId into h select new {
votes = h.Sum(x
=> x.votes), downloads = h.Sum(x
=> x.downloads) }).FirstOrDefault();
if
(totals == null)
then return; // no totals Response.Write(totals.downloads); Response.Write(totals.votes);  

Example 2

So the first example was jsut getting a few simple sums. Here's a bit more complex example.

Assume you have a view called vev_bws_userMediaHistory that logs votes for a given artist and his/her media. The view fields like votes, artistName, mediaName, userId (the user who cast the vote), and voteDate (a datetime column storing the date & time of a vote).

So since voteDate contains dates and times, I want to display all the votes grouped by media, artist, and date (not time). I could use SQL like this:

SELECT     votesperday
= SUM(votes),
    date = CAST(FLOOR(CAST(voteDate as FLOAT)) AS DATETIME),
    mediaName,     artistName FROM vev_bws_userMediaHistory WHERE userId=1 GROUP BY     CAST(FLOOR(CAST(voteDate as FLOAT)) AS DATETIME),
    mediaName,     artistName ORDER BY CAST(FLOOR(CAST(voteDate as FLOAT)) AS DATETIME) DESC 

Note that the CAST/FLOOR/CAST trick is used to trim off the time from a datetime, leaving just the date portion. This allows us to sum up votes cast throughout the day into a "votes per day" value.

To do this in Linq to SQL I would use this:

veDataContext
dc = new veDataContext();
var votes = (from
v in dc.vev_bws_userMediaHistories
where v.userId.Equals(1) group v by new {
v.voteDate.Date, v.artistName, v.mediaName } into h orderby h.Key.Date descending
select new {
date = h.Key.Date,
artistName = h.Key.artistName,
mediaName = h.Key.mediaName,
votesperday = h.Sum(x
=> x.votes) }); 

The above Linq select statement allows me to reference the artistName in my ListView via <%# Eval("artistName") %>. If I had instead used this select statement

select new {
    h.Key,     votesperday = h.Sum(x
=> x.votes) }

I would need to use something like <%# Eval("Key.artistName") %> instead. >
LinqDataSource doesn't load child tables

FYI, there's a bug in the RTM LinqDataSource where child tables aren't loaded unless you have updating or deleting enabled. Apparently if you have a LinqDataSource that doesn't have updates or deleted enabled, ObjectTracking is turned off (for performance reason), but deferred queries (e.g. queries to pull back child rows) aren't executed.

So statements like

<%#
Eval("ChildTable.ChildTableField")
%>

in your ListView, etc. won't work.

Annoying, needless to say. But at least now I know.

So, there are a few options:

  1. Set EnableUpdate="true", which will enable ObjectTracking and cause deferred updates to work
  2. Add a SELECT statement in your LinqDataSource (e.g. SELECT="new (field1, field2, childTable)") to pull back everything you need.
  3. Handle the ContextCreated event to either manually set ObjectTrackingEnabled, or manually set LoadOptions.
public void OnContextCreated(object sender,
LinqDataSourceContextEventArgs e) { ((DataContext)e.ObjectInstance).ObjectTrackingEnabled = true;
} OR public void OnContextCreated(object sender,
LinqDataSourceContextEventArgs e) { var dataLoadOptions = new DataLoadOptions();
dataLoadOptions.LoadWith<MyTable>(t => t.ChildTable); ((DataContext)e.ObjectInstance).LoadOptions = dataLoadOptions;
} 

Setting LoadOptions is normally the best approach for performance.


March Portland Open Coffee Club

It's time for web-centric coffee again ... The Portland Open Coffee Club is meeting next Wednesday, 10am, at Pier Coffee (600 NW Naito Parkway, near Glisan & 3rd). Pictures below -- Pier Coffee is a quiet, open coffee house with free wifi and a central location. Stumptown is awesome but I think it's starting to be a bit small & loud for the growing POCC crowd.

What is Portland Open Coffee Club? Well, it's a laid-back, casual gathering for people interested in startups, the web, or technology to talk, network, and meet like-minded people. Read more at http://www.opencoffeeclub.org/

POCC event page on Upcoming: http://upcoming.yahoo.com/event/174640/

P.S. Mark your calendars for Aril 10th, 5pm, at Baileys for Portland Open Beer Club. POBC is the same as POCC, just in the evening with beer instead of morning coffee.


Grids for Project Management

I noticed an interesting post from Allison Beckwith about Project Planning Grids. She also provided links to Todd Warfel's Task Analysis Grid and Blink Interactive's Objects & Actions Analysis. All three posts centered around different grid styles & focuses, but they all discussed ways to map out the different objects/features of a project in an easy-to-understand grid, so that you can flesh out requirements, standardize vocabulary, and understand which items need to be developed when.

Allison & Todd's grids felt higher-level, and included color & position to denote schedule & priority. Blink Interactive's grid was more detailed & was perhaps a better way to ensure you didn't miss a requirement. I could perhaps see starting with Blink's grid to round out your featureset, and then a grid like Allison or Todd's for planning & priority.

At DevelopmentNow we do a lot of project work, so one of the first things we do is map out a project featureset into "chunks" and rough feature descriptions, then assemble them into a basic dependency & delivery list. One of the big aspects in project management is getting scope right, and since there's always a tradeoff between delivery time & overall features, it's important to make sure that you haven't forgotten a critical feature, and that everyone (including and especially the client) understands what will be delivered when. So I can see how the additional dimensions in a grid, along with colors, can help add additional contextual scope information without sacrificing simplicity.

FYI, Todd actually prints out his grids on huge (like 6 feet wide) paper, puts them up on a wall, and talks through them with clients, allowing the client to write on the paper, interact with it, etc.

Some sample screenshots of grids below:

 


Check the best products!
Wonderful Asia Jewelry 4Row Blue Opal Necklace
US $0.99 (0 Bid)
End Date: Saturday May-17-2008 2:01:41 PDT
Bid now | Add to watch list

Asia Tibet Silver Jewelry Green Jade Bracelet
US $0.93 (0 Bid)
End Date: Saturday May-17-2008 2:06:16 PDT
Bid now | Add to watch list

Asia Jewelry Tibetan Silver Turquoise Necklace
US $0.93 (0 Bid)
End Date: Saturday May-17-2008 2:12:57 PDT
Bid now | Add to watch list

1895 Print from engraving, Chinese men, China, Asia
US $39.00
End Date: Saturday May-17-2008 2:15:24 PDT
Buy It Now for only: US $39.00
Buy it now | Add to watch list

ASIA JEWELRY TIBET RED CORAL BEAD BRACELET
US $0.99 (0 Bid)
End Date: Saturday May-17-2008 2:18:52 PDT
Bid now | Add to watch list

WHITEHEARTS , Red and Yellow Trade Beads, Asia
US $19.00 (0 Bid)
End Date: Saturday May-17-2008 2:28:38 PDT
Bid now | Add to watch list

KUCHI Tribe Central Asia PENDANT - 852g7
US $8.60 (0 Bid)
End Date: Saturday May-17-2008 2:30:00 PDT
Buy It Now for only: US $14.00
Bid now | Buy it now | Add to watch list

Origins Light Years Ahead Whitening Sheet Mask+NIB+Asia
US $33.99
End Date: Saturday May-17-2008 2:44:39 PDT
Buy It Now for only: US $33.99
Buy it now | Add to watch list

JEAN MICHEL JARRE ASIAN LP ASIA ZOOLOOK FAR EAST
US $9.99 (0 Bid)
End Date: Saturday May-17-2008 2:46:35 PDT
Bid now | Add to watch list

 
Latest Fox News Feed
dba_spaceused
This article presents a stored procedure for convenient reporting of the space consumed by each table. It's uses SQL Server's sp_spaceused to compatibility but includes the schema so that like named tables can be distinguished.
User Defined Functions in SQL Server 2005
This presentation brings you up-to-date on UDFs. Examples of both T-SQL and SQLCLR functions are supplied along with the sample database.
CSLA: What and Why
Presentation on CSLA, the business object architecture that I use.
SQL Server 2005 Service Broker Presentation
Service Broker is a component introduced in SQL Server 2005. This presentation with an accompanying example script describes Service Broker and discusses how it might be used.
Book Review: Murach's ASP.Net 2.0 Upgrader's Guide: VB Edition
This is a targeted book for the experienced ASP.Net developer who's ready to move up to ASP.Net 2.0. I recommend it.

Presentation: An Application for Executing Ad Hoc SQL in a Regulated Environment
What do you do when the data in an application is incorrect and the application isn't able to correct the situation? You fix it, right? That approach doesn't sit well with the policies required by the regulatory compliance requirements of HIPPA and SOX, nor do auditors look on it favorably. This presentation demonstrates an application built to allow ad hoc changes to data and create an audit trail of changes. Along the way we'll see some interesting T-SQL and use of SQLXML.
Popular Fox News Searches
news feed WWF news latest for news feed news feed wwf nesws news web marketing madical news health news fox news News and Opportunities news sabah times digital camera news news right now fox news WWF NEWS Developer News medical news feed Search result for Related feed to KEPUTUSAN PERMOHONAN SMK TEKNIK Free And Clear Real Estate Articles By JOHN BECK related feed to permohonan borang kemasukan teknik vokasional Tips for Opening a Online Forex Trading Account

Copyright - fox news http://setifaq.org