Archives
-
[link] favicon.ico generator
Favorite icons (a.k.a favicon.ico) are cool. IE recognizes them when you save bookmark a page, Mozilla based browsers automatically request them. They're a nice finishing touch on a website, but not something that's usually scheduled or requested.
-
[code snippet] Dynamic copyright year
If you're involved at all with websites, there's a reasonable chance that your first e-mail of 2005 will be marked with a red bang (!) and have the following subject line:
-
[OT] Maths Quiz
Think your smart? Well your not. Take this quiz and you can know that your dumb.
Look Around You - Maths Quiz
If you still think your smart than you should also take this programming quiz. To know what kind of programmer you are:
SecretGeek - What kind of programmer are you?
[heard about Look Around You from the staff of Shaff.com] -
[OT] Give the Gift of Google (super bargain!)
I'd really like to believe this is a joke...
-
[tip] Use Freecache to distribute large files
One of my small contributions to the Monoppix project[1] has been setting up hosting for the ISO. As we expected, distributing an ISO that's even remotely popular requires some serious bandwidh. Since the Monoppix 0.2.2.3 Preview Release was posted in August, it's been downloaded 11,067 times. At 404 MB per download, that's 4.47 TB, over 1.1 TB per month.[2]
-
[util] XPKeepPerUserDisplaySettings
I share a home computer with my wife and 3 year old daughter, Rosemary. As a computer nerd, I can't go below 1280x1024 on the screen resolution, while my wife likes 1024x768 and Rosemary uses 640x480.[1]
-
[Util] Updated - Open Playlist in Windows Media
Back in April I wrote a very basic console app which would (theoretically) allow you to play Shoutcast Playlists (PLS files) in Windows Media Player.[1] I say theoretically because in practice, I've been fielding a large amount of support requests from hapless users having trouble setting up the file associations, checking if they have .NET installed, etc.
-
[OT] Leave it to a computer professional to spoil a beautiful moment
Software Architect / Visionary / Philosopher Michael Earls, while working on a contract far from home in Atlanta, muses:
We grow when the people around us have greater expectations for us than we do for ourselves. -
Firefox Plugin - Greasemonkey
Greasemonkey is a Firefox extension which lets you to add bits of DHTML ("user scripts") to any webpage to change it's behavior. In much the same way that user CSS lets you take control of a webpage's style, user scripts let you easily control any aspect of a webpage's design or interaction.
-
Surfacing - been busy with a large ASP.NET project
I've been pretty silent on my blog lately due to time pressures at work. That's easing up a bit, and I'm very eager to start posting again, about (1) what I've learned on this project, and (2) other things I've been wanting to post about but haven't had time.
-
XmlPreprocess and conditional web.config wishes
Loren Halvorson wrote about XmlPreprocess. It allows you to add some basic logic and token replacement to XML config files, like ASP.NET web.config files, like this:
-
[OT] Half-Life 2 Patch Released
The changes in this release are directed at reducing the problem some users are experiencing with sound stuttering. The sound stuttering is not indicative of a sound problem, sound stuttering is only a symptom of texture thrashing on your video card or AGP memory. For information on how to reduce texture thrashing visit this link on our support site:
[THIS IS NOT THE LINK FOR THE PATCH. RESTART STEAM TO GET THE PATCH]
http://steampowered.custhelp.com/cgi-bin/steampowered.cfg/php/enduser/std_adp.php?p_faqid=280
This update will fix sound stuttering that users were experiencing that would last for longer than a few seconds during normal gameplay. This update will also eliminate this same behavior following a quicksave or autosave. There will still be a short pause while the autosave happens, but not the more drawn out stuttering behaivior.
We are still investigating another performance problem on some hardware, which will manifest where the game is getting into a state where performance drops to less than 5 fps and does not recover or crashes.
Next week we will be releasing the Source SDK, along with a surprise for the community.
[via Steam News]
-
[util] ClipPath
ClipPath
"As a Programmer, we are often required to set the path or classpath Environment variables. But Windows Operating does not allow us to copy the full path of a file or a folder,say, c:\temp\try.java to clipboard so that we can paste the same anywhere we require. Clip Path utility tries to solve these problems. It is a windows Shell Extension Program. Once installed, you can copy full path of a file or folder to clipboard.
New features in Version 2.1 include the Addition of one more menu item - "Create Outlook Link(s)"."
Oh man... this is cool! Read about it on Early Adopter and immediately installed it. For me, this just rocks.
I am copying file paths into Outlook/documents/etc all day it seems, and with Explorer it's been a two step process. Copy the path, then copy the file name. With this utility it's now done with one right click.
[via Early Adopter and Greg's Cool [Insert Clever Name] of the Day] -
Free icons and graphics from EggheadCafe and Lokas
EggheadCafe has Free Icons And Graphics For Professional ASP.NET Web Applications:
In partnership with Lokas software, EggHeadCafe.com is providing you with a wide array of business oriented graphics and icons. No license fees, no royalties, and no restrictions. Best of all, all of the graphics have transparent backgrounds that you can adjust in programs like Macromedia Fireworks or Adobe Photoshop.
A small sampling:
The icons on foood.net are nice, too, but they're not free.
-
Gmail adds POP support
Until now, you needed to use a utility like PGtGM to get POP access to GMail. Now Gmail supports POP natively:
-
[OT] Demographic analysis of US Election Exit Polls
this post is about the recent u.s. election, but i don't think it's about politics. it's the results of my fact checking study on the exit poll analysis. i wanted to validate or disprove what i'd heard about the electorate who selected george w. bush, and how they made that choice. i'm not interested, in this post, in what they should have done. this is intended to be a demographic study, not a political argument. more disclaimers at the end, but you get the idea.
-
AdaptivePath feed, Ethnoclassification in RSS
Richard Tallent linked to an excellent article by Peter Merholtz of AdaptivePath about "Ethnoclassification": Metadata for the Masses.
First, the interesting news. Richard's post reminded me that I hadn't read the content on AdaptivePath's site for a while. These guys are just brilliant with internet usability, but I'd forgotten to scan their site for new info for a while...
(brain trying to tell me something... wait this is a problem I used to have more often... not such a problem on other sites because of... )
RSS!
Sure, I want to read what these guys write as soon as it's available, and since they did the Blogger.com redesign they've gotta have a feed...
Nope. They didn't. So I sent them an e-mail, and less than 24 hours later, they've added one. How cool is that?
AdaptivePath news feed: http://feeds.feedburner.com/ap_news
Now for the part you've been waiting for - my thoughts on Ethnoclassification and RSS (sounds like a class I would have done anything to get out of in college).
The basic idea of Ethnoclassification is letting people categorize the world around them. One of the best examples, as Peter points out, is del.icio.us, a shared bookmark system where the users get to come up with the categories for the links. Letting users come up with their own categories has some big benefits - not only is it very user friendly, but it allows users to feed real information into the system much faster than "expert" system designers could. Examples are "moblog" and "cameraphone" on Flickr. There are some downsides to it - users misclassify things and create duplicates : "nyc", "newyorkcity", "newyork", etc.
The payoff of the article is Peter's idea of letting users make the footpaths, then paving over them once the users have defined a general structure.
This is just a quick summary of an already short article - you should just hop on over and read it.
Anyhow, this reminded me of the Categories in RSS feeds. There's a big benefit to freeform Categories early on, but as some general structure emerges it would be nice to have some standard categories. You could always allow freeform Categories, but you provide some standard ones in the RSS schema. That seems like how music genres have emerged in CDDB, and a bit like how usenet newsgroup topics have stabilized. It's nice to be able to set up a new group if it's needed, but there's no point in having microsoft.programming.database.sql, microsoft.database.tsql, databases.microsoft.sql, etc.
Paving the well worn paths improves the user experience by expanding likeminded audiences.
No real necessity to do this now, as the paths are still probably in the creation phase, but something I'd like to see happen. It would be great to be able to search for feeds by topic without relying on string matches, chance, and search engines.
-
[utils] Cool toys from the Scripting Guys
I hadn't seen the Scriptomatic and Tweakomatic. Interesting - they're HTA's (Hyper Text Applications).
[Via Peter Marshall - WebLogs @ DotNetJunkies.com]
-
[feature request] Podcasting Client Audio Post-Processing
I'm mildly interested in Podcasting. I've been test-driving it for a week and will probably post my obligatory YAPO (Yet Another Podcasting Opinion) writeup soon.
I think it's safe to say that Podcasting is a kind of useful application of RSS to simplify the repetitive task of downloading periodic audio programs. With that in mind, Podcasting clients like iPodder could really add some utility with audio post-processing. Here are some things I'm thinking of:
1. Split large MP3's into smaller files for players that don't bookmark or fast-forward slowly. I previously posted some information on how to split DotNet Rocks MP3's with mp3splt). I'd like Podcasting client to automate this. It should be configurable, but at a minimum should let me say "split into 2 minute chunks" or "split into "10 minute chunks", etc.
2. Time Compression - a lot of people have rejected Podcasts because it takes too long to listen through them to compared to the amount of information you receive. In WMP I usually turn the speed tup to about 2x and still get bored sometimes, but most MP3 portables probably don't allow speeding up the play speed. Podcast clients run in the background on powerful modern computers, though, so they should have no problem re-encoding the audio a higher speed I get to pick.
3. Add background music - during my commute, I regularly flip between music and spoken word (books on tape, NPR, talk radio, or Podcastable content like DotNet Rocks). There's no reason the two couldn't be mixed together. I could pick a folder or list of music MP3's that would make good background music, and my Podcasting client could mix them together. Then I'd get to hear my music and get my content.
4. Recommend similar feeds[1] - It's hard to find good content now. iPodder.org has a Podcast directory, but it's not very useful. Assuming the content selection continues to grow (and it had better or this whole thing is going down like Boba Fett), they need a webservice that recommends feeds based on the ones I've subscribed to (yes, the aluminum foil hat crowd would need an option to shut this off).
[1] The astute reader will note that this has nothing to do with audio post-processing. Yeah, well it was one other random feature idea and I thought I could slip it by here.
-
[feature request] URL's with offsets - www.sample.com/interview.mp3#time=32:05
Adobe's PDF Viewer, as much as it bugs me, does have one really cool feature I'd like to see spread - it allows you to link directly to a page within a PDF:
<a href="http://www.sample.com/document.pdf#page=42">see page 42</a>
Scott Hanselman posted about it recently, although I first learned about it while working with a website search product (iPhrase) that spiders PDF's and jumps to the page with the text you searched for.
What a great idea. So let's take it a step further...
<a href="www.sample.com/interview.mp3#time=32:05">hear Jon Stewart make fun of bowties</a>
Most audio / video players can skip ahead in a file they're streaming, so why not let me link to a starting point? I've been thinking about this while forming an opinion on Podcasting. One of the main features that's made weblogs and rss successful is that they're so easy to reference and interlink. Podcasts aren't, but if I could link to an interesting part halfway through a DotNet Rocks show, for example, they might be more useful as an information and discussion resource.
Any media player (WMP, Winamp, iTunes, Real Player, Quicktime, etc...) could add this support in today, just as Adobe did with their PDF Viewer.
It needn't stop there, either. I think being able to reference a portion of a file resource could open some new doors. Sure, it's not as dirt simple in most cases as asking for a specific byte range in a file (which is natively supported in HTTP). But the HTTP Content-Range supports multiple range types and could be extended quite a bit. I could, for example, request a pixel range on a GIF and the server could handle this for me. Not appropriate in some cases, but helpful in others. It's a trade-off: the server does a bit more processing, but now I'm able to link to a face within a group photo: <img src=www.sample.com/images/group.gif#pixels:180,200,580,600> Servers always have the option not to support this HTTP Content Encoding / Range Type (it's built into the spec), but there's a lot more flexibility if we make it possible.
This gets more important as we move beyond HTML and images to a technology infrastructure that runs over HTTP (SOA, RSS, etc.). Being able to request a specific segment of a resource opens some new possibilities.
To come back to reality a bit (assuming they're not going to extend HTTP at my blog request), there are still some cool applications in addition to media time references. What about linking to a section of a web page that didn't happen to put an anchor right where I'd like to link. What about http://www.sample.com/page.html##byte:3580 or http://www.sample.com/page.html##vertical-position:1500px, etc.? The browser would load the whole page and scroll to the proper position. Sure, I might link to a byte range in the middle of a javascript function, so either scroll to the nearest HTML or refuse the anchor as invalid don't scroll. I'd be no worse off than I am now.
I think linking to a time offest in a media file just makes sense. The other ideas are intended to spark further thought, but seem to be semi-viable to me. What do you think?
-
Spotting GDI Leaks with Task Manager
After reading KC's post about finding GDI leaks with the Windows Task Manager back in June, I've added GDI columns to my task manager view on all the computers I personally use. It's often a good problem indicator when my machine's really slow but the CPU and memory utilization isn't out of hand. RSS Bandit, my aggregator of choice, occasionally gets a little greedy with the GDI resources. Most apps seem to use a most a few hundred, but RSS Bandit occasionally shoots to over 4,000,000,000 (4 billion). That seems slightly excessive, so I restart it and everything's fine.
It's also indicated a GDI leak in a Reflector Addin I was testing.
Here's how to add the GDI Objects column to your Task Manager:
1. Bring up the Task Manager (Ctrl - Alt - Del works)
2. From the View menu, pick "Select Columns..."
3. Check GDI Objects and hit okay
By the way, this points out that it's still very possible to have resource leaks in Microsoft.NET apps. The .NET garbage collector will clean up your memory after you, but it doesn't watch resources. You have to make sure you're disposing your unmanaged resources.[1]
[1] I'm not talking about RSS Bandit here, it's just a general statement. Often apps use components or call .NET code that just wraps unmanaged win32 code. I subscribe to almost 1000 feeds so maybe RSS Bandit is just telling me I need to cut back a bit and get another hobby.
-
[OT] Inspiring Inkblots
Just took an inkblot test at tickle.com. They're smart enough to say a lot of flattering things so you want to buy the full report. I doubt they ever tell anyone they're a jerk or a hopeless loser, right?
-
[link] Cascading Style (cheat)Sheet
-
[addin] SpoofStick (anti-spoof browser toolbar for IE and Firefox)
Chris Sells recent post about URL spoofing quoted his wife asking "How is anyone supposed to know that?"
There were some good comments on how to detect, filter, alert, or educate around the problem of URL spoofing, in which an e-mail or site shows a link that pretends to take you to one domain but takes you to another:
<a href=www.evilhackerz.com/steelPasswurdz.php>www.ebay.com/update/passwords</a>
I commented that someone could make a browser addin that detected URL text that looked like an HREF but didn't match domains and show a warning.
I just saw a toolbar for both IE and Firefox that doesn't quite do that, but takes a step. It shows you what domain you're on, so you'd at least know (after you'd followed the link, but before you'd submitted any information) that you'd been had:
I don't plan to use this - I get so many spoofing / phishing e-mails that I'm used to the precautions. I think I might set it up on my wife's computer and recommend it to family. At least it answers the question of "How is anyone supposed to know that" and takes a step to doing something about the problem. Hopefully, Phish Detection will be as standard as Pop-Up Blockers some day.
Download Spoofstick here:
http://www.corestreet.com/spoofstick/index.html -
ASP.NET SQL Server Session - Links and Overview
A co-worker asked me about setting up SQL Server Session state. Here's what I told him:
-
Microsoft Excel Server 2006?
I wonder if there will be integration or consolidation with SQL Server.
When Office 12 debuts in 2006+, an Excel Server, Visio Server and other brand-new servers are expected in the line-up. [Via Microsoft Watch from Mary Jo Foley]
-
HTML Color Schemes
I'm a web developer, not a designer. At least I know enough about design to realize I'm not good at it. However, I'm often expected to be able to come up with basic color schemes and designs. Here's my cheat sheet:
-
Precompile.axd in ASP.NET 1.1 with System.Web.Handlers.BatchHandler
[UPDATE: DotNetGeek tested this out and listed some probable reasons why the BatchHandler didn't make the cut for ASP.NET 1.1. It probably works fine for small code-front folder based sites, but doesn't work well with the VS 2003 project approach. As this project approach goes away a bit in ASP.NET 2.0, it may have been easier to implement precompile.axd. I still think it's pretty worthwhile to look through the handler code in Reflector, since it's some pretty slick stuff.]
-
[OT] Why Half-Life 2 keeps getting delayed
Valve vs. Vivendi Universal dogfight heats up in US District Court
-
Fritz Onion slides and demo code
Someone gave out this link when Fritz Onion was on DotNetRocks a few weeks ago and I've been meaning to post it. Tons of great slides and demo code:
http://pluralsight.com/fritz/speaking.aspx
Fritz also blogged recently about how he keeps his notes - a local install of FlexWiki. That beats the heck out of my http://notepad.yahoo.com/ solution - FlexWiki is versioned, searchable, interlinked, etc - kind of like a really light OneNote. I've often thought if I ever write a book, I'd like to build it up from a Wiki.
-
Diffs in Reflector
Cool! Sean Hederman just released Reflector Diff addin.
-
[fun / middle earth] Fellowship 9/11
I have a personal policy against talking about US politics on my blog. I don't think it would be appropriate or appreciated.
-
Chris Sells on DotNetBeatBox!
This week .NET Rocks! regular guest (and guest host) Chris Sells joins Carl and the gang for a really fun discussion (after he comments on the mail and news) about Longhorn and WinFX, Longhorn features on XP, working on the MSDN Smart Client DevCenter, VS.NET 2005, learning about new technologies, learning by teaching, and Avalon. He answers some good technical questions from live listeners, and overall makes the two hours fly by. Of course you get the mail, news of the week, Weird Wide Webb, and Ask Rory. Richard is away this week so Carl gave away an iPod to a lucky listener!
-
Trying to keep up with all the new / redesigned search engines...
While it seems like Google's been developing everything but search, everyone else has been cranking out new (or new looking) search engines:
-
[util] WinMerge
I've been using WinMerge for over a year, but it's really gotten good in latest release.
WinMerge is your basic text file diff / merge tool. It's like WinDiff (if WinDiff handled merging), BeyondCompare, Araxis Merge, etc, but it's free and the development team is on fire. It's an open source project on SourceForge.
WinMerge has always had a really nice, intuitive navigation system (merge and move to next diff, all right, all left, etc.), but the latest builds have added recursive searches (search all subdirectories), comparison within Zip files[1], shell integration, Unicode and multi-language support, and more.
You can write custom filters, too. For instance, this filter ignores .cs, .vb, .resx files (and their ilk), which makes it really easy to merge files from a local dev box to a server:
## This is a directory/file filter for WinMerge
## This filter lets through only files ASP.NET developers care about
name: ASP.NET Devel
## This is an exclusive filter
## (it lets through only matching files)
def: exclude
## Filters for filenames begin with f:
## Filters for directories begin with d:
## (Inline comments begin with " ##" and extend to the end of the line)
f: \.xml$
f: \.xlst$
f: \.dtd$
f: \.html$
f: \.htm$
f: \.css$
f: \.gif$
f: \.bmp$
f: \.jpg$
f: \.png$
f: \.js$
f: \.dll$
f: \.aspx$
f: \.asmx$
f: \.ascx$
f: \.config$
d: \\*$ ## Subdirectories
I've been using the latest features in experimental builds through the summer, but since they're at a Release Candidate build I feel good about recommending it to the general public (or, I guess, that segment of the public that cares about text differencing and merging. Sorry, Grandma!).
[1] Requires you install 7-Zip. 7-Zip's interface looks like a Windows 3.1 refugee, but you can just install it and never use it and WinMerge will do the Zip compare thing.
-
Music Thieves?
Robert Scoble summarized some of the reaction to Steve Ballmer's comments about most music on an iPod[1] being stolen. Very upsetting.
And if we're honest, Steve Ballmer's comments are on the money.
Let's do some simple math (Fermi question style):
- A $399 iPod holds 40GB.
- At 1MB / Minute (rule of thumb for 128 KB/s), that's 40,000 minutes of music[2].
- At 3 minutes per song, that's over 13,000 songs.
- At 13 songs / album, that's 1000 CD's.
- At $17 / CD, that's $17,000 to fill up a $399 iPod. Sure, you can get CD's cheaper, but considering that half the songs on an album are lame and don't make it to the iPod, I figure $17 / CD is fair. Yeah, you can download them one at at time from iTunes / Walmart / etc., but how long will it take to download 13,000 songs clicky clicky style? I'm sticking at $17 / CD.
The real question... do you have a digital copy of at least one song you haven't paid for? I know I don't want to answer that question...
I think Ballmer's just being honest. Are we?
And if you're that diamond in the rough who's gonna get all up in my face, how many of your friends are legit on the MP3 front? What percent of the music on the world's iPods is paid for? We all know it's true, and Information Minister bit is starting to look purty silly.
[1] Or any digital music device. iPod just happens to be the popular one at the moment.
[2] Closer to 41,000 minutes since a GB is technically more then 1000 MB, but I'll spot you the GB. Who loves ya, baby?
-
ASP.NET Forms Auth Vulnerability
This may be fixed in ASP.NET 1.1 SP1, and may not be a problem for W2K3. Details sketchy, but this has been reproduced.
NTBugTraq
SourceForge thread
Here's the short version:
Say you have a secure page in a subdirectory - http://site/subdirectory/securepage.aspx
If you browse to it with a backslash instead of a forward slash in a non-IE browser, you bypass forms auth: http://site/subdirectory\securepage.aspx
Alternatively, in IE you can replace the / with %5C (hex for backslash) and again bypass forms auth: http://site/subdirectory%5Csecurepage.aspxNew Vulnerablility in Asp.Net Forms Authentication which allows malicious users to read "private pages" - Looks like there's a way to bypass ASP.NET forms security, which is bad news. Reading the thread, it may be fixed in the 1.1 SP1 Framework - I couldn't reproduce the reported problem on my own server, which is running SP1. This is important enough that you should test it on your own servers though. [Via Larkware News]
-
Fritz Onion on DotNetRocks
If you are remotely interested in ASP.NET, you just gotta listen to tonight's DotNetRocks show. The guest tonight is Fritz Onion, the author of Essential ASP.NET.
I can't say enough about that book. Before I read it, ASP.NET was just this magical black box. I understood how to work with it, but I had no idea how it worked. Fritz takes it apart and explains it at the perfect level - very thorough, but understandable. You're gonna need to understand the stuff in this book to have a chance with Scott's interview questions.
You can read Chapter 3 (Configuration) on Amazon here.
You can always download the shows on the Monday following the show, but you miss out on the chat room fun then. They usually take questions from the chat room, and the commentary is usually fun, too.
You can read Fritz's blog to pregame: HTML / RSS.
Info about DotNetRocks: HTML
DotNetRocks notifications: RSS
-
Viewing MSDN code samples in Firefox or Mozilla browsers
UPDATE: This should no longer be required - apparently the MSDN CSS has been fixed to support Firefox.
-
[tip] Speed up VPC under XP SP2
[Update: Virtual PC 2004 SP1 is out and is the official, supported way to speed up VPC under XP SP2. This hack is no longer required. Get VPC 2004 SP1 here: http://www.microsoft.com/windows/virtualpc/downloads/sp1.mspx ]
-
[utils] slayer office favelet suite / FireFox Web Developer extension
I agree with secretGeek - this may be the coolest thing I've seen this week:
-
RSS is out of order? The whole system is out of order!
RSS doesn't scale. As blogs and RSS aggregators get more popular, they overwhelm web servers. The kind folks who run weblogs.asp.net and blogs.msdn.com were getting slammed for bandwidth and made a bad decision - they chopped all RSS feeds all posts to 500 characters, and the aggregated web page feed to 500 characters, unformatted.
-
WQL / Reflection DataProviders for ADO.NET
WQL DataProvider for ADO.NET WQL DataProvider is an ADO.Net data provider, so you can use it just like usual MS SQL DataProvider, but for WQL (WMI + SQL = WQL). This DataProvider supports SELECT, ASSOCIATORS and REFERENCES queries. Doesn't support event queries. [Via The Code Project Latest Articles]
Having written a custom ADO.NET data provider before, I'm appreciative of the amount of work that this entails. Downloading just the source didn't go smoothly for me, but the dependencies were in the demo project so I can't complain. I didn't see the actual code for WQLDataProvider.dll in the project, but that's what Reflector's for. And if you just want to use it and don't care about the code, use the DLL and you're set.
This allows you to databind against Windows Management Instrumentation (WMI), which employs a SQL like syntax to query systems, applications, networks, devices, and other managed components. The project includes a functional WMI Query Analyzer.
And while I'm at it, if you haven't seen Matthew MacDonald's article on Creating a Custom ADO.NET Provider, it's worth a look. The cool thing about the article is his sample - he implements a Reflection Data Provider [source]. Cool idea. I tested it out by databinding on the types and members of the Reflection Data Provider itself. Talk about dogfooding... -
[OT] Nuclear Power's Bright Future... (just not in the USA)
-
[Funny] Poorly-drawn cartoons inspired by actual spam subject lines!
These crack me up.
-
Miguel de Icaza on Longhorn changes
Interesting post by Miguel de Icaza on Microsoft's recently announced changes to Longhorn. Good to read if only to get a better understanding of the complexities of Avalon's implementation.
My prediction is that Avalon v1 will be a throw-away: it is not really the foundation on which you will build applications: V2 will likely not be backwards compatible, they will have to re-architect bits of it: which means that people will end up with two frameworks running side-by-side: Avalon V1 and Avalon V2.
The above problem is compounded with the fact that the CLR has not really sorted out a good model for sharing components across versions of the framework: the GAC solution today is a bit of a hack to keep things separate and allow for multiple installations, but does not solve
This is like cooking, you can not rush a good steak, or a cake or an omelette by cranking the heat. Some things just take time. [Via Miguel de Icaza]
-
Monoppix Preview (0.2.2.3) Release
Monoppix is a GNU/Linux distribution which includes Mono, XSP, and Monodevelop, and runs completely off a CD. It allows you to get familiar with Mono development in Linux without installing anything on your computer.
Monoppix was based on Knoppix and Miniknoppix and was developed by Roiy Zysman (zroiy at spymac dot com). -
ISORecorder v2 (beta) - Works in XP SP2 and W2K3
I was happily using ISORecorder to burn ISO images to CD-ROM's / CD-RW's until it stopped working under XP SP2. CDBurn has worked since then but it's just a command line app.
Alex Feinman just released a beta of ISORecorder v2, which works in XP SP2 and W2K3.
Careful - v2 doesn't work on pre-SP2 machines, and you'll need to uninstall the old ISORecorder before installing v2.
more info (new features / known issues / screenshots)
[p.s. 6 GMail invites - contact me if you'd like one]
-
Monoppix - CSC Quickstart Walkthrough
This quickstart was written by Roiy Zysman and is included in the Monnopix ISO [ monoppix-v0.2.2.3.iso 404 MB].
The following steps will show you how to write a small Mono program, compile and execute it
1.Once the Initialization stage is over , open up the kwrite text editor.
2.Enter the following text:
using System;
public class Test
{
public static void Main()
{
Console.WriteLine("We got mono...");
return;
}
}3.Save as /tmp/test.cs
4.Open a terminal window by clicking on the panel 'shell' button
5.execute the following commands in the terminal window:
- cd /tmp
- mcs test.cs
- mono test.exe
-
Monoppix - Basic XSP (ASP.NET) and Monodevelop Walkthrough
Monoppix is a GNU/Linux distribution which includes Mono, XSP, and Monodevelop, and runs completely off a CD. It allows you to get familiar with Mono development in Linux without installing anything on your computer.
This walkthrough was written for Monoppix 0.2.2.3. It will step you through:
- Downloading the Monoppix ISO
- Burning the ISO to a bootable CD
- Running Monoppix off the CD
- Starting the XSP server
- Testing an ASPX webservice
- Editing the ASPX file in Monodevelop
- Saving the ASPX file to your /home/knoppix/ directory
- Restarting the XSP server in your /home/knoppix/ directory
- Verifying your changes
- Quick info on taking screenshots in Monoppix (or any Knoppix)
1. Download the Monoppix ISO
The Monoppix ISO is available from http://monoppix.url123.com/download [404MB]. The download goes through Freecache which should ensure a high speed download.
2. Burn the ISO to a bootable CD
The easiest ways to burn an ISO to a bootable CD in Windows are:
- Nero, using the CD-ROM (BOOT) option
- ISORecorder (free, XP SP2 or Windows 2003 need to use the ISORecorder v2 beta release)
- CDBurn (part of free Windows 2003 Resource Kit, works on Windows XP, command line only)
3. Running Monoppix off the CD
Make sure the CD is in the CD drive and restart your computer. If it boots in your normal operating system, reboot again and change the start device priority in your BIOS to set the CD drive to higher priority in the boot order than the Hard Drive. At the prompt, you'll need to enter a Knoppix cheat code to tell Knoppix what hardware to use. If you're using standard equipment, you're probably okay with just "knoppix" (without the quotes). If you're using a laptop or LCD monitor, "fb1024x768" will probably work.
4. Starting the XSP server
Open a console window (the taskbar icon that looks like a shell). Type the following command:cd /usr/share/doc/xsp/test && mono /usr/bin/xsp.exe
This will start up the XSP server. You should see the following:
Next, open a browser. Monoppix includes Konqueror (the taskbar icon on the right) and Mozilla (in the Start menu). Browse tohttp://localhost:8080/
5. Testing an ASPX webservice
Click on the second link, TestService.asmx. Click the "Add" link on the left, then the "Test Form" link on the top. Enter two integers and submit the form:
6. Editing the ASPX file in Monodevelop
You'll need to start Monodevelop from the command prompt in this release. Open a console window and type the following:/KNOPPIX/usr/bin/monodevelop monodevelop
Select File / Open from the menu, then browse to /KNOPPIX/usr/share/doc/xsp/test. Open the TestService.asmx file.
Edit the code. My changes to the code are underlined below; feel free to make whatever changes you'd like as long as it compiles.
<%@ WebService Language="c#"
Codebehind="TestService.asmx.cs"
Class="WebServiceTests.TestService" %>
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
namespace WebServiceTests
{
public class TestService : System.Web.Services.WebService
{
[WebMethod]
public string Echo (string a)
{
return a;
}
[WebMethod]
public string Add (int a, int b)
{
return String.Format("Here is your total:{0}",a+b);
}
}
}
7. Saving the ASPX file to your /home/knoppix/ directory
Since the TestService.asmx file is located on the CD, you can't save your changes there. You can save files to the /home/knoppix/ directory, though, since that's located on the RAM drive. Select "File / Save As...", navigate to /home/knoppix/, and save the file:
8. Restarting the XSP server in your /home/knoppix/ directory
If the console window from step 4 is still open and running XSP, select the console window and press Enter (or Return, if you have a really old keyboard) to close XSP.
In a console window, type the following command:
cd /ramdisk/home/knoppix/ && mono /usr/bin/xsp.exe
9. Verifying your changes
Refresh your browser window if it is still open, or open a browser and navigate tohttp://localhost:8080/TestService.asmx
Verify that your changes have taken effect. In my example, I changed the output from a simple integer value to "Here is your total: xx". Well worth the hours of work:
10. Quick info on taking screenshots in Monoppix (or any Knoppix)
Monoppix doesn't include Ksnapshot. I took these screenshots with xwd. I used the following command:
xwd | xwdtopnm | ppmtojpeg > /home/knoppix/filename.jpg
-
XP SP2, IE, the Local Machine Zone Lockdown, and you
XP SP2 is especially tough on content running in the Local Machine Zone (meaning html files running on your desktop, a CD, or elsewhere on your machine). XP SP2's changes to the LMZ prevent all active content, including Javascript, Java, ActiveX.
-
Google Releases Gmail Notifier
If you want POP access to GMail, there's PGtGM. If you just want a notification, there's now an official GMail Notifier:
Philipp Lenssen writes "After several unofficial, screen-scraping Gmail utilities, Google now released the official Gmail Notifier (Beta) for Windows. It will sit in the Windows tray, alerting you of new emails in your account (if you are lucky enough to have one already). Additionally, the Gmail Notifier can connect 'mailto:'-links in web pages to Gmail."
[Via Slashdot: ] -
Today's controversy is brought to you by the letter J
First, Tony posts an innocuous message about the XP SP2 updates to IE on the IEBlog:
-
weblogs.asp.net / .TEXT admin now supports Firefox
The recent upgrade to .TEXT admin includes an upgrade to FreeTextbox 2.x, which means it now supports Firefox / Mozilla. Firefox has supported WYSIWYG HTML edit mode for a while, it just needed to be turned on.
-
XP SP2 to RTM very very soon / Some SP2 gotchas
UPDATE:
XP SP2 Release Schedule
5th August RTM Announcement
10th August RTW (release to web)
24th August Windows Update/Automatic Updates release
[via NeoWin] -
More ASCII Art
A few recent posts on the weblogs.asp.net feed [1 2 3] reminded me of a some code I wrote a year ago and have been meaning to post.
-
MSNBC News Aggregator
Check out the MSNBC Beta News Aggregator page: Newsbot. Similar to Google News - which, interestingly enough, is still in beta.
-
[OT] A real education - in 4th grade
I just heard about a cool idea a local 4th grade teacher is using to teach kids a lesson most folks don't learn until after college.
-
[Funny] Fun With C# and HP Laserjets
I just recently stumled across Ode To Code. Good stuff.
-
[HTML] FIELDSET and LEGEND tags
...one of my co-workers who is something of a css junkie showed me some tags I was not aware of before, and how they can be nicely styled up to give some interesting form effects. The tags are the “fieldset” and “legend” tags which can enclose one or more “form” elements (I won't try to post the html here for fear of skrewing up other dotnetjunkies weblogs). They render quite nicely in IE without styling (see below, I like the rounded corners). And you can style them up with colour (see here towards the bottom). They also display quite nicely in mozilla (albeit without the rounded corners). They are in the HTML 4.01 standard so you have a fighting chance of them working in older browsers too.
-
[Funny] Steve Ballmer TV Ad for Windows 1.0
Ballmer Selling Windows 1.0 circa 1986.
-
Server.Transfer vs. Response.Redirect
Server.Transfer is often a better choice than Response.Redirect.
-
[FIX] Outlook Web Access (OWA) shows installer dialog on message edit screen
OWA 2000 and 2003 have an annoying bug that shows an Office Installer dialog when you bring up a message edit screen (new message or reply to message).
-
Reminder - @@IDENTITY
@@identity reminder
-
[OT] Vinyl Data
One strategy that major record companies have been employing lately to deter downloading is adding bonus computer content to new CD releases. I recently discovered that this technique is not unique to CD's, but had in fact been practiced in the vinyl era as well. That's right: there were a handful of records released in the late 70's and early 80's that contained computer programs as part of the audio...
...good article with screenshots here... very thorough history software included in audio format on music releases. you can even play some of them online, and i suggest you do - the thompson twins need your help: -
[Tip] Use IE for FTP, even if it's no longer your default browser
[Update: There's a decent FTP client for Firefox now: FireFTP. I recommend that instead of this registry hack.]
-
RE: Why is IE going down so much?
I don't think IE usage is still in the 90% range. Stats in my previous post on this topic, IE Market Share... and Why It Matters, show it in the low 80's and dropping - the July numbers show this trend is continuing. Remember that "alternative" browsers often report themselves as IE so they don't get "downlevel" HTML.
-
ASP.NET Resources does a Microsoft.com redesign
In case you missed it, Milan of ASP.NET Resources ran a cool series on redesigning the front page of Microsoft.com with an eye towards Web Standards (CSS, ECMAScript, XHTML, DOM).
-
[IIS] Reminder - July 9 is National Metabase Backup Day...
... and August 9 is National I Told You So Day, so get cracking. Backing up your IIS metabase is really easy, and if your metabase gets corrupted you're gonna need it[1]. Sure, you want to back up your production metabases, but back up your dev machine right now.
-
[FIX] IE crash when closing a window which is displaying a PDF
Kills all open IE browser windows. Following error message is displayed:
-
Who does the actual work?
Pop Quiz - You send your Toshiba laptop in for repairs. Who does the actual work?
- Federal prisoners
- HP
- Independent contractors
- Best Buy
- Toshiba volunteers
- U.S. Military trainees
- UPS workers
-
"Windows cannot find 'http://www.google.com.' Make sure you typed the name correctly, and then try again."
Well, I've done it. I've gone and made Firefox my default browser on my home computer. One of the first things I noticed is that opening a URL as a “Start / Run” command pops up the following error before correctly loading the page:
-
[OT] LCD Projector << Tax Refund
We just ordered a BenQ PB6200 LCD Projector.
-
RE: Web Graphics Exploit Marching Across Internet
Sounds like Snow Crash - view an image, get infected.
-
Reverse Reverse Enum Lookup, or GetName
-
IE Market Share... and Why It Matters
The world was stunned this past week by reports that the Internet Explorer development team was finally caught in a "spider hole" near an unassuming farmhouse in Redmond. They're actually continuing development on IE, and are interested in what people think. [see IE Storm Watch for the sordid details]
-
No, I wasn't aware of that...
(from MySQL Maestro) -
POP access to web e-mail
The major web based e-mail providers have been cranking up their spam filtering, which is great, but I still have to slog through it to catch the false positives - mail I'd like to see that got incorrectly marked as spam. For instance, I would have missed a GMail invite yesterday if I'd just dumped the spam, but going through it invloves checking 300+ likely spams a day. That seems to a common problem, from talking to friends and scanning blogs.
-
Hiding that "Server Application Unavailable" error message
Sometimes custom HTTP messages don't work. Especially with ASP.NET.
-
Cool solution to the "Ugly RSS Link Issue"
I was just struggling with "Ugly RSS Link Issue" this weekend - you want the little orange XML link, but you know that a lot of folks are gonna click on it and see naked XML and think it's time to reboot or possibly even get a new computer... one with a lot more megapixels.
-
Piracy and Unconventional Wisdom
Interesting article on software piracy:
-
[util] Check COM Object by ProgID
Extended a utility VBS from Hairy-Spider blog which checks if it can create a COM object. Added listing of COM Object Description, Current Version, and File Path to DLL / EXE if it can get it.
-
[util] MoreGoogle
MoreGoogle is a 30K plugin that modifies the presentation Google of results to add cool stuff like thumbnails, “open in new window” link, and links to archived versions of the site (at the Wayback Machine) and related links (Alexa).
-
What would you want in a Linux / Mono Live CD?
I've been wanting a Live CD with Mono so I could start playing with .NET apps on Linux. I got a response to my blog request for such a thing, asking what I'd like included. Well, heck, I don't know much about Linux so I thought I'd ask around. I say pack it out - if I'm gonna burn upwards of twenty cents (before rebate) on a cdr, I want to fill it up. Trouble is, I don't know what to fill it up with.
-
[Bookmarklet] Copy text with links
Someone contacted me through my blog and asked if I knew of an IE Addin that would copy page text with expanded url's, so Google becomes [Google](www.google.com).
-
[Tech-Ed] One of the best values at Tech-Ed (even if you're not an attendee)...
The hidden gem at Tech-Ed is the Microsoft booths in the Exhibit Hall .
-
[Tech-Ed] DEV320 Visual C# Best Practices: What's Wrong With this Code?
Good presentation - disguised a best practices talk as a quiz to keep it interesting. Much tougher to spot the problems then to nod along with a bullet points about writing good code.
-
[Tech-Ed] WIN321 Running IIS Web Farms: Tips and Tricks
I attended WIN321 Running IIS Web Farms: Tips and Tricks Monday. The slides are online here [updated], but here are some high points:
-
[Tech-Ed] BOF RSS Without the Blog
(don't worry, I'm not going to be able to attend that much of Tech-Ed so I'm not going to be blogging every single session)
-
[Tech-Ed] BOF - Code Generation
Scott Hanselman lead a BOF on Code Generation. I agree with Andres - there was a lot of discussion on business rules definition, which was interesting but I think took away from more common uses of codegen.
-
TITLE tags for hyperlinks - little datagrid usability thing
[updated based on feedback from Rick and Fabrice]
-
It's a Tech-Ed miracle (for me, anyhow)!
It's like a scene out of a Christmas special. Looks like I've got a last minute opportunity to attend at least bits and pieces of Tech-Ed.
-
Online Book - A .net developer's guide to Windows security
I "google stumbled" onto an amazing online book by Keith Brown - "a .net developer's guide to Windows security". The whole (in progress) book, including some sample code, is available online. There's even an rss feed with updates.
-
[SQL] Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Problem:
-
Windows Orchestration Engine in Longhorn
AWARE THAT many people are beginning to give up hope of ever seeing a new version of Windows, Microsoft is continuing to send its spinsters waxing lyrical about what it will contain when it arrives. The latest prediction that the Redmond sleeping giant has ‘leaked’ to CNET is that it wants to embed core orchestration and workflow into Longhorn. New workflow and orchestration technology, called the Windows Orchestration Engine will be ready for the Longhorn/Orcas time frame.
CNET quoted Bob Muglia, senior VP at Microsoft's Windows Server Division, who confirmed that work was under way. "Stay tuned," he told them showing his remarkable ability to pun in the face of tough questions from CNET hacks.
[NeoWin]
WOE seems like an unfortunate acronym.
Almost as bad as the Children's Hospital Of Philadelphia. -
NeoWin RSS 2.0 Feed
NeoWin's RDF feed is pretty lame if you're used to RSS 2.0: http://www.neowin.net/backend.php?page=main
-
Tech-Ed San Diego - So close, so far
Despite the fact that I live in San Diego, I'm not able to go to Tech-Ed[1]. As an hourly perma-temp, I can't afford the double hit of Tech-Ed registration and a week off from work. Drat.
-
Enterprise Connection String Management in ASP.NET - Best Practice?
This is mainly a problem statement - it lists some solutions, but all have some pretty big downsides. I'd really like to find a good solution to this, so please comment if you have anything to add.There are some significant problems with using keeping connection strings with SQL Server Authentication in ASP.NET web.config files. Here are a few:1. Security - Both username, password are stored in plain text (associated with the server), so if the web.config file is compromised a hacker has the keys to the database. Config files are associated with the HttpForbiddenHandler, which mitigates the risk of hackers getting to web.config files, but only via HTTP.2. Control - Keeping login information in web.config files makes it difficult to control developer access to production databases, since developers will likely view web.config files during production support activities or in source control.3. Administration - Keeping login information in individual files on a per application / per webserver basis makes changing passwords (including regular password rotation) difficult.Trusted Connections (using Windows Authentication rather than SQL Server Authentication) seem to offer a better solution - connection strings don't contain login information, and centralized account maintenance of Windows accounts is well defined and supported. Trusted connections don't send credentials over the network, so they're much more secure Several Microsoft security articles propose this approach:However, this approach sounds like it works better in theory than in practice when it comes to ASP.NET applications. While the network communications are more secure, using Trusted Connections requires changes that make the ASP.NET application less secure.There are two methods available for connection to a database server with Windows Authentication - Domain Accounts and Mirrored Accounts.Trusted Connection cons (both domain account and mirrored account):1. Impersonation still requires putting a password in a config file (machine.config and web.config) so we've got passwords in plain text again. It is possible to encrypt the impersonation identity and to store it in registry, but this complicates administration.[1]2. Impersonation requires a little more setup on the webservers - the impersonated account needs write permissions on serveral folders (good info here). Also, upgrading .NET versions doesn't migrate machine.config information (why?) so there is additional work / risk when upgrading .NET versions.3. Impersonation in ASP.NET complicates matters a bit. I've run into some unrelated issues with ASP.NET impersonation in the past that indicates it's a bit of a frontier.Domain Account cons:1. Security issues have been mentioned with running the IIS user as a user that is a member of a domain.Mirrored Account cons:1. Difficult to change passwords, need to edit web.config / machine.config on multiple webserversMuch more discussion here:Alex Chang's blog: How to use Trusted Connection when SQL server and web Server are on two separate machines.
Barry Dorrans' blog: Using sql trusted Connections with asp.net1. Difficult to change passwords, need to edit registry on multiple webservers.[1 again]Custom encryption of Connection Strings in web.config cons:1. Makes management of multiple servers (password rotation, etc.) more difficult2. Custom or homegrown solution - may not be supported, may not be secure, etc.Centralized Connection String Management solution:A central service provides applications their connection string (and possibly other configuration data) in an encrypted format. Applications would use a common component to access and decrypt the information.Centralized Connection String Management cons:1. "Crown Jewels" - if that system's compromised, all databases are exposed2. Key management issues to do secure communications with central server3. Single point of failure for all applications4. Homegrown security solutions are likely to be insecure, and quickly turn into legacy systems that make upgrading difficult.Domain Accounts with Trusted Connections seems the best approach (if the security issue is not such an issue), with the impersonation account stored in the registry. Microsoft documentation / recommendations kind of lay out the options but don't indicate a preferred method. It would be great to have some general guidance on how to manage database connections in an enterprise web environment.It would also be great if impersonation were a bit more transparent - changing an encrypted registry setting is a bit complex. Changing the account an IIS Application runs under is as simple as logging into Windows; impersonation should work the same.Visual Studio 2005 has a Connection String Manager in the IIS MMC that interfaces with web.config and supports encryption, but that's a ways off.Comments? Guidance? What's worked for you? WWMD (What would Microsoft do)? -
[Tool] Document Examiner for IE
Document Examiner (download) is Right-click addin for IE that allows browsing the DOM and updating it on the fly, like the DOM Inspector that's built in to Firefox.
-
SQL used for evil
Yikes. I heard about a website being hacked, probably via SQL injection. This trigger was added:
-
[OT] Disturbing signs I'm on the wane
The trend continues. People always told me I looked like Mark Messier. He's a hockey star on the New York Rangers.
-
[Bookmark] Webref.info
Nice consolidated web development reference site: http://www.webref.info/
-
[OT] Geek watches through the ages
The old calculator watch was cool:
-
[OT] I'm getting dumber, but more visionary
Last time I took an online IQ test I got 142; now I'm 138. Oh, well. At least I'm a Visionary Philosopher - gotta get some sweet business cards made up: Jon Galloway, Visionary Philosopher. There was no posted time limit on this one, but I tried to hurry - I think I took 10 minutes.
-
XML gang sign catching on?
Sam just invented the XML Gang Sign this month:
-
ExplorerBar Control
New cool control from Steve McMahon's vbAccelerator: ExplorerBar
-
LazyWeb.org - too hard?
Stumbled across this: www.lazyweb.org.
-
Interesting discussion on outsourcing
Increasing the Value of the Domestic IT Worker? [Slashdot.org]
-
[util] Download Express
Download Express goes on every computer I build. It's a download manager, similar to GetRight, but cheaper. As in free.
-
Outbound SMTP Proxy?
The company I'm working at is having to go through each application that sends e-mails and verify compliance with CAN SPAM. One of the requirements is a corporate opt out system that ensures once someone has opted out, they will never get an e-mail from you again.
-
[util] AutoBlog
This was posted with a new utility I just wrote, AutoBlog. I got the idea from Raymond Chen's pre-recorded blogs while he was on vacation. Since I've got two kids under the age of 4, I don't always get consistent free time to blog regularly (blame it on the youngsters, they can't defend themselves). I often have to save blog fragments until I get time to flesh them out, which means I then have a pile of posts all at once. I'd rather spread them out a bit, hence this tool.
-
Rebol
Now, I'm no Rebol zealot, I've just played with it for a few hours. This is interesting stuff to play with from a developer point of view, though - it kind of challenges your ideas of what a modern development platform can and should do.
-
[OT] Hang a star on that one - San Diego Padres Park Opener
Whew! A last minute gift put my brother and me in the 5th row on the first base line at the San Diego Padres Petco Park opener. I've been to one baseball game in the past 10 years, but this game was just phenomenal. The Padres won it in the 10th innning, and both teams played great baseball. From the first pitch to Jimmy Carter to the closing fireworks show, this game was a ton of fun.
-
Atomic Clock Webservice?
There doesn't seem to be an "official" time webservice out there. There's a demo one hosted by Altova (makers of XML Spy) here that looks pretty good: http://www.nanonull.com/TimeService/TimeService.asmx. There are several other demo ones out there if you Google timeservice.asmx.
I couldn't build an enterprise production application that relies on a demo that Altova could take down at any time, though. -
[Util] Open PLS Playlist in Windows Media Player
[UPDATE: I finally built an installer and added some error handling, so this should be easier to set up and use. Download the setup from http://www.codeplex.com/openplsinwmp.
Some web radio stations (like the super cool SomaFM) only offer PLS playlists, and Windows Media Player doesn't support PLS playlists even though they're about the simplest file imaginable.
I whipped up a simple app (OpenPlsInWMP) that parses the stream url out of a PLS file and shells out to WMP, so if you associate PLS files with OpenPlsInWM it'll seem like Windows Media Player decided to play nice with PLS files. -
VS 2005 CTP - Package Load Failure?
I installed VS 2005 CTP on a Virtual PC image of Windows XP Pro. At the end of the install, I got several "Package Load Failure" error messages:
-
Knoppix Linux "Live CD" with Mono?
Knoppix is pretty cool - a Linux fling with no committment, runs completely off a CD (your C:\ won't suspect a thing!).
-
[OT] Haze Grey...
...and underway.
-
Nested Repeaters
Scott just posted a great article - Nested Repeaters Part 1. Great code samples and explanations of a topic that can be a bit confusing. I like the databinding syntax he's using, too:
-
[SQL] - Random Dates / Data for testing
NewID() is a really useful SQL function, since it's resolved on a per row rather than per query basis. That comes in handy if you want random values for each row in a table.
-
Salamander .NET Decompiler - Web Based Demo
Reflector is cool (really, really cool), but only decompiles a method at a time. Remotesoft has a cool online demo of their Salamander .NET Decompiler that can decompile an entire assembly at a time. It's web based, so you don't even have to download or install anything - just upload your dll and browse / download your source.
-
Fun way to get yourself in trouble with overloading
Debugged an interesting thing the other day. Turned out to be caused by an improper use of overloading.
-
VS 2003 Macros gone screwy
My VS Macros aren't working - just flicker briefly, the little macro icon shows in the notfication tray, and the macro doesn't actually execute. Debugger doesn't break on breakpoints in the VS Macro IDE.
-
[tip] string.Split(',')
Why bother with
myString.Split(new Char[] {','})
when you can typemyString.Split(',')
-
Confluence 64
Old computer locking up + 64 bit loaded Athlon under $900 + Free (for a year) Windows Server 2003 64 bit = chance try to use the word confluence in an equation. Fortuitous.
-
Free Whidbey!
While it's frightening to go out on a limb with a fringe statement like this (heck, even Frans goes party line on this one!), I'm willing to stand up and be counted in the Free Whidbey movement (logo to follow).
-
[UTIL] Right-Click "Touch File" - Recycle that web app
We've been using external config files to manage separate dev.config / qa.config / prod.config settings for a while and it's worked pretty well. Pretty code sample here. The one difference here is that changes to the referenced external config files don't get picked up right away as web.config edits do, so we're always editing web.config to add / remove whitespace just so the ASP.NET application cache is invalidated and the app reloads, causing it to pick up the new config values.
-
Dot Net Script
Just saw this on CodeProject: Dot Net Script. The innovative approach on this .NET script engine (as opposed to the others listed below) is an XML syntax to allow specifying assembly references and language.
-
Inplace CSS Edit IE Addin
I seem to be collecting IE Explorer bars. Here's a fun new one:
-
New BlogJet!
Well, it's beta, but I'll take it - it adds HTML source code editor!
Download it -
Case insensitive string replace
string.Replace() is case sensitive. Regex.Replace isn't, though...
-
The type or namespace name 'DirectX' does not exist in the class or namespace 'Microsoft'...
Oh, yes, it does.
-
ASP Classic weblog systems?
I'm helping a friend on a website and .NET isn't available on that server. We'd like to add a simple blog system using Access as the data store. I was sure I could find something cheap or free, but I've been surprised that I haven't found anything I'm completely happy with. I've looked at BlogworksXML (no longer supported, but the install files can still be found), but it writes files out rather than writing to a database. I'm messing with UBlog, but the model's a bit different than what I'm trying to do and it's tough to make it fit. dBlog is promising, but it's Italian and I'm not. Am I really gonna have to take that trip down memory lane and write an ASP / Access blog system? Anyone recommend one?
-
More fun with XSLT in VS.NET
These guys have a schema you can use to add XSLT intellisense to your copy of VS.NET:
http://www.fesersoft.com/dotNet/
posted @ 1/23/2004 9:38 PM by Jesse Ezell -
Music Keyboard that runs XP
-
Intellisense Oddity?
Intellisense for overridden methods shows both the base and the overridden method in the derived object, even though you can't actually call the base method from the derived object. Bug or feebleminded developer? You be the judge:
-
MSDN Classes and Libraries Links
Useful classes and libraries posted by the C# team on MSDN. Cool.
-
Code sharing sites - which?
Chris's post reminded me of somthing I've been pondering recently - what's the best place to share code?
-
[OT] If you didn't really "get" Matrix Revolutions...
If you didn't really "get" Matrix Revolutions, this review may help.
-
[OT] Making Faces
This is a total crackup: