Thu, 17 Jul 2008 19:21:00 GMT
Right now I'm working on a project that requires its own custom registration/authentication system and it got me thinking about object responsiblity and OO design.
I'll pose this question and see what kind of opinions everyone has.
I have a "User" class with the usual properties - first name, last name, email, etc.etc.
Should my User class have a method named "Register" where the User object is responsible for knowing how to register itself - OR - should I have a 'Register' method in say, some kind of security class that accepts a User object and uses the property values to register the User? I've abstracted all the direct DB interaction code into a data access library but where the Register method belongs - in terms of good standard OO design - still has me thinking. I might have to dig up my copy of "Object Thinking". It's been a while since I read it but I remember it having good stuff on topics like this.
What do you think the right design is?
Fri, 20 Jan 2006 22:19:00 GMTI just have to point to this, because of the "cool" factor. Some really awesome stuff being developed, and I'm really glad to see it supporting Firefox since it's been my main browser for about 2 years now.
Wed, 11 Jan 2006 21:55:00 GMT
I found out about this from their RSS feed.
Wed, 11 Jan 2006 04:50:00 GMTOver on my Project FAZR Blog - I wrote about how we're looking for 1 or 2 people to join us. If you're interested - give it a look.
Tue, 10 Jan 2006 00:49:00 GMT
From my last post it might seem like I'm harping on the Live Messenger Beta quite a bit. I'd just like to get some help on the latest issue, if anyone can help me out.
From the main window, if I go to Help > Beta Invitations it opens up a browser window where I have to sign into Passport. After that, it just takes me to this page: http://ideas.live.com/ErrorPage.aspx?ErrorCode=2
A bad url? Uh...hey messenger..YOU'RE THE ONE that sent me there!
A friend wanted me to send him an invitation but apparently, I'm not even allowed to do that anymore, either. I wonder how many other people are having this problem.
Mon, 09 Jan 2006 01:20:00 GMT
I'm the type of person that leaves their machine running 24/7. So, the new MSN Messenger 8 Beta has been running for a while now..probably at least 48 hours or more. When I got a system notification area popup telling me my virtual memory was low, I opened Task Manager to look at the status of applications running, and sorted them by memory usage:
Yikes! I hope whatever does that gets worked out before it's released!
p.s. Speaking of Live Messenger 8 - I think I'm about ready to do what Russ Nemhauser did and just rollback to the previous release of MSN Messenger. It's that bad.
Fri, 06 Jan 2006 07:35:00 GMT
So far it seems pretty interesting. I've still got a lot of poking around to do, though.
Fri, 06 Jan 2006 07:31:00 GMTVarious bloggers have already been debating for some time about whether AJAX/DHTML/Web 2.0 (whatever u want to call it) or Smart Client/Windows Forms/Thick Client/ is the way of the future. Well, I'm not debating it. I'm declaring DHTML the winner. Maybe you're wondering why I think DHTML will conquer the smart client. Some might say it already has. Just look at how many applications are already using DHTML effects to drive rich web-based user interfaces. More is on the way. Much more. Am I just hopping on the DHTML bandwagon? Not really. I've reserved my opinion on this issue for a while. I've been standing on the sidelines watching both sides gain and lose momentum in the debate. Will Windows Vista be awesome? Yeah, for sure. But how much is Vista really going to change the way you use the internet? Transparent aero-glass and Flip 3D is only going to mean so much to users - and is really only part of the "wow" factor to me, not a reason to keep using it. To be honest, I spend much more time keeping an eye out for new Firefox extensions than I do for Windows apps. Am I the only one? Another big reason DHTML wins - it feeds into our ever-increasing sense of instant gratification. I click a link to access a web app. Done. Not download a setup.exe|.msi|.zip|.wtf. Then run the setup. Then reboot. Then find a shortcut. Get the picture? Oh, and how's that ClickOnce thing coming, Microsoft? (Yes, to be fair, there is a workaround, but still...) Deployment, anyone?. Ok, how many people (I mean people, not just developers) are forever scorned and jaded by DLL-Hell? I'm not sure Microsoft truly understands how much damage COM and the registry has inflicted (and still inflicts) upon their customers. The pain from DLL-Hell isn't going away anytime soon. In the meantime, DHTML is over in the corner chuckling at COM and it's siamese twin, the registry. I keep hearing the argument from the smart/thick client side that it can work in "offline" mode. I'm being 100% honest when I say that has never been an issue for me with a web application, ever. What is there to argue beyond that? Faster response times? I'm not seeing the smart client advantages very easily. So anyway, there you have it. Declared by me - a name and face in the crowd that really doesn't matter - that DHTML wins.[...]
Fri, 06 Jan 2006 00:39:00 GMT
I ran into this site about 4-5 years ago and just remembered the URL today so I thought I'd share it with anyone reading.
Running a video game rental store sounds like one of the most thankless jobs ever but, this guy has found a way to make it hilariously entertaining. Warning: you may end up spending a lot of time reading the stories on this site.
Wed, 28 Dec 2005 22:02:00 GMT
It's been quite a while since I posted anything here (about a month). To be honest, I have a legit excuse when I say "I've been busy". I've been doing work for Telligent, writing the documentation for the 2.0 release of Community Server. You might think that just "writing documentation" would be a pretty simple, straightforward job (like I did originally) but it's turned out to provide several challenges. Because Community Server has grown into such a robust product, there is a lot of stuff to write about. Blogs, Forums, Photo Galleries, File Galleries, RSS Readers, Security Settings, and on and on and on. I'm only about half-way done with the documentation so far and I've probably got 250+ screenshots of the product.
It's not enough to just "document" the product and it's features, either. I have to think about how to organize the content so that it can answer people's questions in as few clicks as possible. Then there's the glossary, and the index. The table of contents. Keyword indexing. Fortunately, RoboHelp makes most of it pretty automated but it's still time consuming.
The awesome side-effect of documenting Community Server is that I'd say my knowledge of the product has increased by about 2000 %. The guys at Telligent are kidding either when they say that 2.0 is going to be a major improvement over their 1.x releases. It keeps getting better with every week.
I definitely am not going to be able to make my Jan 1, 2006 goal for the DevCampus beta, either (unfortunately). I think once the work with Telligent slows down/stops I'll be able to take a "break" and finish up the site for beta testing.
Fri, 09 Dec 2005 22:16:00 GMT
I've seen many blog posts by people where they completely flame the customer support provided by a company like Dell, HP, Sony, Best Buy, etc. Well, I had a very good customer service experience today so I though, to be fair, I should share the other side of the story.
One of my LCD's at home (a 21" Samsung SyncMaster) started displaying some very thin (1 to 2 pixels wide) lines (about 7 or 8 of them) that ran vertically across my screen (from the very bottom to the very top). I paid pretty good money for this LCD so I wasn't about to just let this problem remain. So I called up Samsung's customer support and after providing a little personal information the Samsung rep gave me some troubleshooting steps to take in order to ensure it wasn't the DVI cable or the video card which, it wasn't. After that, things couldn't have been easier.
Since my LCD was still under warranty (3 years, parts & labor) Samsung is going to send me a replacement LCD, and they're paying for the shipping on the defective one I'll be sending back to them. 7 to 14 business days and I'll be back on a brand new LCD. Thanks Samsung!
Fri, 09 Dec 2005 06:19:00 GMT
I attended a one-day course by Edward Tufte in San Francisco today where he discussed his ideas about information display. It was very thought-provoking and he is an excellent speaker. As an added bonus, all attendees got to take home his 3 books, which I plan on digging into soon, they look really interesting. If you ever get the chance to attend his courses, I would highly recommend them. All I can really say is that he's changed the way I look at statistical data and data presentation in general. Definitely worth the time and effort it took to attend. Has anyone else been to a Tufte course? His PowerPoint discussion was just brilliant.
Thu, 01 Dec 2005 03:02:00 GMT
You could be working for none other than the original "angryCoder" himself - if you're interested contact Jon Goodyear through his blog at http://aspsoft.blogs.com .
Wed, 30 Nov 2005 19:05:00 GMT
One thing I failed to mention in my last post was that once DevCampus is ready for testing, I'm going to have a 3-week Beta period before I officially put it out on the net. I know that an "invitation-only" Beta probably smacks of Google-elitism but, the truth is, I'm just one person and can only handle beta testing feedback from a certain number of testers.
If you think you'd be interested in participating in the Beta, watch this blog in the coming weeks for instructions on how to get invited.
Wed, 30 Nov 2005 18:59:00 GMT
November has been quite a busy month for me and it looks like things are only going to get busier until the end of January.
For being something I only get to work on in my spare time, DevCampus is coming along pretty well. The last time I posted about my progress, I had just finished up building the admin tools that will let me manage the site through a web interface. Since then I've actually had to add a few more admin tools and have also finished about a dozen pages that will be publicly visible, including Login, Registration (and e-mail validation), Password resetting, and a spiffy contact form. The biggest pages to tackle are going to be the home page and the article (a.k.a "Lesson) page. I also want the site to have a severe case of RSS support so it's going to take a bit of time to get that all running as well. Anybody know of a component (dll library?) out there that generates RSS XML if you feed it some data? That would be a big time saver. If one doesn't exist (I'd be surprised) I'll probably open the source to the one I build.
In addition to DevCampus, I've started doing some technical writing for Telligent Systems to create some end-user documentation/guides for their awesome Community Server product that many blog (and other) sites out there run on. I'm excited to be doing this and hope my work will really be a benefit to those that run Community Server. If you visit Telligent's Community Server forums with any regularity you'll probably start seeing my name (or alias, I guess) pop up in there pretty often.
Sun, 13 Nov 2005 07:53:00 GMT
UPDATE: Based on comments I've added a few more images if anyone wants to use them - thanks for the feedback!
I was talking with Alex Papadimoulis on IM tonight and we somehow got on the topic of how (...hmmm...I know this is a sensitive subject so I'll try to be nice here) certain MVP's sometimes give out less than "great" answers on various newsgroups and forums. Now, I know at least a dozen MVP's personally so this is in no way an attack on them - just some attempt at humor. Please, nobody take themselves too seriously with this one.
Anyway - I told him that because of my efforts on the microsoft.public.msn.leetspeak group and through my efforts to bring 13375p34k to the masses, Microsoft recognized me by awarding me with the "LOL" MVP for MSN Messenger designation. All that time spent ROFLing, WTFing, A/S/Ling and OMGHI2Uing has finally paid off. Since I had IconWorkshop and Photoshop fired up at the moment I decided to make myself a little logo real quick. So, there you have it:
I'm going to leave this up my blog links under "flair" (Office Space reference). For all the other non-MVP's - feel free to steal it and use it on your blog, too. For Alex, he was awarded MVP for MS Paintbrush - so I made him a logo too:
(image) (image) (image) (image) (image) (image)
If you'd like me to make you an MVP Logo for your blog (instead of using one of these) let me know and I'll see what I can do!
Fri, 11 Nov 2005 03:22:00 GMT
When you add a MenuStrip control to your form - the Windows Forms Designer automatically sets it as the menu for the MainMenuStrip property of your form. However, when you add a ContextMenuStrip control to your form, it does not set it as the context menu in the ContextMenuStrip property automatically. You have to go set it manually yourself. I wonder what the reason is for this - anybody know?
Also - it's really difficult to change the order (vertically) of MenuStrip controls at design-time on a form when you have more than one. Anybody know the easy way to do it?
Fri, 11 Nov 2005 03:13:00 GMT
UPDATE: I've added versions that do not include the icons for each resolution based on feedback. Enjoy.
I'm the type of guy that isn't artistically challenged but, I'm not exactly Michaelangelo, either. So, I spent about 45 minutes tonight making a Visual Studio 2005 Desktop wallpaper since I was getting tired of my old one. I figured I would make different resolution versions of it for anyone else that might want to sport Visual Studio 2005 on their desktop at work. So, follow the links and grab it if you want; below is a small sample of it - I went for the brushed metal look. I'm also thinking of doing a "Vista" Version (glossy Mac OS X look) later.
Underneath the text are little images that represent VB, C#, VC++, VJ#, ASP.NET, VSTO, VSTS for Architects, VSTS for Developers, and VSTS for Testers - the product "suite" - if you will.
Wed, 09 Nov 2005 10:19:00 GMTOn Monday morning at about 5:30 AM I hopped in my car to drive into San Francisco for the Microsoft Launch event at the Moscone center. To my surprise, I actually got there in an hour. (The toll plaza area can keep you for half an hour by itself sometimes...). So I took a little morning nap in my car until 7:30 until I met up with a friend for breakfast at Mel's Drive In. While we sat by the window having breakfast, we noticed several taxi's circling the block ever couple of minutes that had "Visual Studio 2005", "SQL Server 2005", "Biztalk 2006" and "November 7th" covering them - an interesting marketing approach. Around 8:15 AM I arrived at the "Moscone Center West" and took the escalator up to the 2nd floor where registration was at. A fairly long line had already formed but I made it through in about 15 minutes. A "welcome bag" of goodies accompanied registration, along with the usual attendee badge flare. For Ballmers' keynote, I think it was just dumb luck that I got to sit up in the "VIP" area - my friend had a "VIP" badge, so when our badges were checked when approaching the VIP seating area, he got through and since my badge was turned backwards (not purposefully, just by chance...I didn't even know the "VIP" designation was on the badges...) I got in by association and got to sit about 5 rows back from the stage. The room ended up pretty packed. A few minutes past 9 AM and they unveiled the "mystery" band - Cheap Trick: Then Ballmer came out: Ballmer's keynote went on for about an hour and a half - a few different people came up for demos (as usual) and then afterwards we were free to attend the sessions of our choice. I mostly attended the developer track sessions before lunch and dropped by a few different cabanas periodically to try and hear if anything interesting was being discussed. Before and during lunch I went into the Hands-On Labs room where about 100 computers were set up so anyone could come sit down and try out the products themselves. I mostly used it as an opportunity to play solitaire and minesweeper while I ate my lunch, and to play around a little in Windows Forms 2.0. Microsoft provided about 10 people in the Hands-On Labs room that went around and helped people that had questions - it seemed like that room got packed early and stayed packed for the rest of the day. In the vendor booth area they had the OC Chopper Bike on display: Later in the day I also stopped by one of the Coding4Fun booths where Eddy Recio and George Tsiokos of ASPSoft were showing off The Finalizer (.NET Battle-Bot) : After lunch I went to the "Data Platform Track" room (across the hall from the Hands-On Labs room) to hear about SQL Server 2005 features. I heard Dave Campbell talk about some of the interesting new features related to Scalability and Security. Then later on, Euan Garden held a session that focused on the new SQL Server Management Studio - that looks to be aggregating the functionality previously offered by Enterprise Manager, Analysis Services Manager, and Query Analyzer - all in one nice multi-threaded tool. They even demo'd some cool features related to Dynamic Management Views and how they make use of Reporting Services in Management Studio to display reports about the server - basically putting an understandable view on the usually cryptic data provided by the DBCC commands. What made Euan's session even more fun was the attire he made the presenters wear during their time on stage - I have no idea where Euan came up with this - you'll have to ask him: After the SQL Mana[...]
Sun, 06 Nov 2005 06:49:00 GMT
We'll be meeting at Mel's Drive In at 7:30am for breakfast before the big man Ballmer's keynote at 9am. If anyone wants to meet us there, feel free. I'll be the chubby guy with the shaved head and goatee wearing my "I know Raymond Lewallen" shirt.
See you all there.
P.S. Is anyone else going to be attending the night festivities? AC/DShee, the "mystery band w/ 40 gold and platinum albums", the XBox gaming, Orange County Choppers, etc.? Hit me up if you want to meet together to do something or just to say hi. Sounds like it's gonna be fun.