Dotmad.netDotmad.netMy thoughts on software developement using .Net. Articles
Acer's localized international warranty
2007-11-22 06:46:00 I have been looking to buy a notebook computer for some time now. Someone told me about a friend of his who bought a new Acer notebook during a trip to the U.S. as a temporary replacement for his malfunctioning computer, and now he wants to sell this new notebook computer (as his old computer was fixed). It seems he got it in the U.S. with an international warranty. So I called Acer's locale More About: International , Warranty , Loca
Validation of a NumericUpDown control
2007-11-18 14:59:00 The NumericUpDown control has a built-in validation: Values smaller than the minimum are replaced by the minimumValues larger than the maximum are replaced by the maximumThis may lead to a situation in which the user entered an invalid value and pressed the form's "OK" button, leading to saving of a value completely different than the one entered with no notification. To prevent this, enter your More About: Validation , Control , Dati , Vali
From the people who brought you "Catastrophic Error"
2007-11-18 10:33:00 Now comes another great error dialog: "The Operation completed successfully" error dialog. More About: People , Error , The People
Create the ultimate business card
2007-11-17 20:03:00 During the David Platt's lecture I received a business card from him. The card's title is "Rolling Thunder computing" (his company), and his title is: "Supreme and Exalted, Dictator-for-life" I think that's the best job title I have ever seen on a business card, and even better - it makes people pause and remember him because it's unusual. Do you have special titles on your business cards? More About: Business , Card , Business Card , Ultimate , Create
David Platt on Why Software Sucks
2007-11-14 21:28:00 I went to a lecture by David Platt on the subject of "Why software sucks", which discusses what is wrong with software today (hint: it's mostly designed by programmers) and how we can improve it. From listening to a previous ARcast with him I already knew he is a very entertaining speaker, and he proved me right (in fact, I kept thinking I could bring my wife to one of his lectures and she would More About: Software , Sucks , David Platt
Three wrong assumptions
2007-11-11 19:52:00 Did some blog reading today, and found out several assumptions I had which were wrong: Assumption: "Protected Internal" means both protected and internal Wrong : It means Protected OR Internal. Assumption: 32bit Windows is limited to 2/4gb ram Wrong: It's limited to 2gb of ram per application. Assumption: OpenFileDialog is harmless Wrong: It loads a mini-explorer, including all the extensions you More About: Assumptions
Buy a shirt with this blog's tagline
2007-11-11 07:09:00 Just did some searching and found this site, which sells T-shirts with the tagline: "Programming is an art form that fights back" (which I "stole" from Chad Z. Hower, aka Kudzu) More About: Shirt
Microsoft Windows Live press conference
2007-11-08 20:20:00 I was lucky to be invited to the official press conference of announcement of the new Live service from Microsoft . It looks very promising, and would give Google (and Picasa) a tough competition. Here are some interesting points from the presentation: Microsoft global market status: According to the speaker there are 280 million MS Messenger users worldwide, and the number of Hotmail users is More About: Windows , Windows Live , Press , Press Conference
Heroes in Microsoft?
2007-11-03 22:18:00 I was just erasing promotion mail from my mailbox when I noticed the photo: I'm not 100% sure, but this looks a lot like James Kyson Lee ("Ando") from "Heroes ". More About: Microsoft
Drawing rounded rectangles
2007-10-31 22:19:00 I needed rounded-corners panels for the application I'm working on.Some search showed there is no built-in solution, and the way to go is using GDI+, and drawing the control's border manually, meaning you need to draw 4 arcs and 4 lines:GraphicsPath gp=new GraphicsPath(); gp.AddLine(X + radius, Y, X + width - (radius*2), Y); gp.AddArc(X + width - (radius*2), Y, radius*2, radius*2, 270, 90); More About: Drawing , Rounded , Angle , Rect
Setting image transparency
2007-10-26 20:36:00 There are many cases in which you need to embed an image in a winform control (such as a button), and usually you'll need the image to have a transparent background. Someone showed me recently an easy way to do this: 1) Set the area surrounding the image to a uniform color which is different from the image's colors. 2) Open Powerpoint, and add the picture to the presentation: 3) More About: Transparency , Image , Spar , Tran , Pare
Blondes have more WCF
2007-10-22 00:07:00 I went to a “Fundamentals of WCF Security” lecture by Michele Leroux Bustamante (dasBlonde) from IDesign, which came after a full day seminar given by her at Microsoft Israel. Michele is an IDesign Chief Architect, Microsoft Regional Director for San Diego, Microsoft MVP for Connected Systems and hold a long list of additional titles. She specializes in training, mentoring and high-end More About: Blondes
Reduce your workplace electric consumption
2007-10-17 17:37:00 Blog action day got me thinking about saving energy. I already wrote about how I try to reduce my effect on the environment at home, but what about work? Do you turn off the lights in your office when you leave? Do you turn off air condition? What about your computer?Each of these actions can save money over time, but more important - reduce the pollution caused by power plants.A study done in More About: Workplace , Reduce , Electric , Consumption
Deadlock from hell
2007-10-17 17:15:00 Thread 1: lock (a) { lock (b) { lock (c) { //some code } } } Thread 2: lock (d) { lock (c) { lock (b) { //some code } } } Main thread: lock (a) { //important code } More About: Hell , Deadlock
Every n matters
2007-10-13 22:58:00 When you study computer science and you start learning algorithms, you are introduces to the O(n) concept, meaning there is a different between an algorithm that takes linear time (1 second for 1000 items, 2 seconds for 2000 items and so on) and an algorithm that takes exponential (2 to the power of n) time, meaning it's a very inefficient algorithm. Although this lesson is important, there is a More About: Matters
Changing ComboBox height in Syncfusion control
2007-10-11 11:51:00 I am using a Comb oBoxAdv control from Syncfusion, and in version 3.2 I have noticed that the control doesn't allow you to change the height beyond a minimum value (depending on the font). There is a PreventHeightChan g e property, but it doesn't seem to work. The solution - override the DetermineHeightsBasedOnFont method with a blank method. More About: Changing , Control
Excel VLOOKUP function
2007-10-11 10:55:00 Syntax: VLOOKUP(A2, D$11:E:22, 2, False) Means: If the value of cell A2 matches a value in the supplied range (Cells D11 to E22), the function's result is the value of the second column from the range, from the row containing the matching value. This function and the matching HLookup function can be very handy. More About: Excel , Function
Tainted if you do, tainted if you don't
2007-10-07 01:10:00 Microsoft's latest move, to release the source code for the .Net framework, has triggered a variety of reactions due to the licencing model used in this release. Frans Bouma thinks that looking at the source code makes you liable to legal action: Take for example the new ReaderWriterLockSlim class introduced in .NET 3.5. It's in the System.Threading namespace which will be released in the pack
Now add some pepper to your password
2007-10-06 19:03:00 I previously wrote a post on password security based on Jeff Atwood's post explaining "Rainbow tables". As it turns out, Jeff received a feedback from cryptographer Thomas Ptacek pointing out some corrections to the strategy offered in the original post. The most important idea was using a cryptographically secure hash, meaning hash which expansive in processor time, unlike the common MD5. One More About: Password , Pepper , Some
Check your InitializeComponent method
2007-09-29 23:13:00 I previously wrote about a problem with a custom form's property.Since then I found problems with additional properties, including the form's default location.As it turns out the cause was a missing call to the InitializeComponent method in the initializer of a parent class. More About: Check , Method
Microsoft is making me jump through hoops to watch a webcast
2007-09-29 19:29:00 This is what you need to watch a recording of a webcast in MSDN: 1) Webcast page - press the "Register Online" button 2) Login to MS passport 3) Event registration - enter attendee name 4) "Thank You For Registering" page - press the download button 5) View recording page - enter email & company name 6) View recording info page - save recording - the default filename is always the same, so you More About: Watch , Microsoft , Hoops , Jump
Team System integration in a software organization - personal case study
2007-09-17 23:44:00 I have been asked several times for my experience regarding installation of Team System inside an organization using (up to this point) an older version control system, so here are few tips:Team system is a complex software to install, maintain and upgrade. Study the various pitfalls you may encounter and plan your installation strategy very carefully. You can find an updated installation guide More About: Software , Personal , Organization
Supporting "foreach" without implementing IEnumerable
2007-09-15 18:10:00 Krzysztof Cwalina wrote a post detailing how have your class support the "foreach" loop without implementing the IEnumerable interface: Public GetEnumerator() method that returns a type with 2 members:The type will have a bool MoveMext() method.The type will have an Current property of type object.Example:class Foo { public Bar GetEnumerator() { return new Bar(); } public struct Bar {
I would like some salt with that password, please
2007-09-13 23:22:00 Jeff Atwood wrote an interesting post on using "Rainbow tables", which are pre-calculated hashes of a range of possible string to brute-force crack a password database. One of the better methods for stopping someone who has your encrypted password from deducing the unencrypted version is "salting" your passwords before storing them, meaning you concatenate your password string with a long More About: Password , Salt , Some
Beware of the AutoScaleBaseSize property
2007-09-13 19:58:00 I have had a problem recently with some of the form in my application, which were descendants of a custom form class (not the classic Windows.Forms.Form class). The form would look fine in design mode, but during run time it appeared to have shrunk, with all the controls in it being affected similarly. It took a lot of digging to find out what was wrong, but after noticing that setting the More About: Property , Beware , Prop , Pert , Rope
Working with a remote development team
2007-09-13 00:08:00 Some times you have a remove developer/team working on the application, as well as in-house team, and they can't use a remote connection to your source-control solution. I found out these methods help: Check out files for them to work on in advance, keep the files checked-out until they give you the updates.Have the remote developer save the original file for comparison (if merge is needed).Have More About: Development , Team , Remote , Working , Mote
XP and Scrum
2007-09-09 00:09:00 In one of the companies I worked at I introduced TDD into the development cycle. This was not done as a part of adopting it as a part of a complete methodology, but as a singular concept. Later, when the company switched to Scrum , we also incorporate ideas like daily build (you don't have to go all the way to continuous integration) and simple designs, but never as partial concepts from the XP
Motorola cell phone stereophonic adaptor
2007-09-08 22:50:00 I'm using my cell phone to hear podcasts, and I'm hearing it in my car using FM transmitter.Unfortonately, the transmitter's jack is a standard 3.5mm, while cell phones (at least mine) use a 2.5mm jack. There are cheap adaptors available for mobile mp3 players (also with 2.5mm), but the phone's socket is a bit different.So I searched a little, and found out the SKN6183 adaptor. Since I couldn't More About: Phone , Motorola , Cell Phone , Cell , Stere
Podcast review #2
2007-09-07 23:17:00 .Net Rocks show 251 on Enterprise architecture - Roger Sessions talks about enterprise architecture, focusing on reducing the complexity of enterprise applications by breaking them into smaller parts (sounds a lot like SOA). He also talks about a mathematical model for deciding on how to break the application to it's components. Could be useful for SOA architects. (3/5) SE Radio episode 65 on More About: Review , Podcast
Dotmad's BlogDay recommendations
More articles from this author:2007-09-01 01:16:00 As 31/8 is BlogDay, I decided to find some blogs to recommend. I have tried recommending relatively new/unknown blogs (at least as far as I can tell), and also focus on people publishing new posts at least once a week. Blonde 2.0 - Recently opened, and already quite a success, focuses mainly on web 2.0 items.Latest gadgets and the technology used - As the name says, the focus here is on More About: Recommendation , Dati 1, 2, 3 |



