Archives

Archives / 2003 / July
  • Why Edit and continue is a GOOD thing

    Frans for one time I disagree with you, not on everything but Web projects.

    If like me, you embed some HTML in your code, it's nice to be able to change a badly formed tag or a single hexadecimal color value without the pain to stop the Debugger and restart again.

    Try to consider the amount of wasting time just doing Start and Stop debugging.

    I agree with you that the developer has to think.

    I watched this morning the Whidbey demo on video, and I like the idea that the IDE will show me the line where the error come, edit and continue.

    So many times, exception of you own logical errors, errors messages thrown by .Net could be very obscure, and often not related to the exact problem.

    As an example, I remember yesterday that my code, working smoothly on my development machine, constantly beak on my production server.

    The error messages, the trace didn't give me enough information on the real problem.

    And finally I discovered that it was a stupid thing regarding the rights access on a folder.

    Rather than giving me the exact issue, VS was just saying something else (don't remember exactly what was the message !).

    With Edit and Continue, I would surely impove my productivity, testing different options to solve my issue.

    For the Web development, we are, as developers, pushed more and more to embed some templates elements in the code behind.

    Fine, but if I test something, and I just want to try a new value, with E&C I don't waste time.
    And if I am not happy back to the start.

    I am a VB developer, but I write also some code in C#, and I am sad that MS don't implement this feature in every language.

  • live demo of Whidbey on the web


    How can you have something better than a good demo of Whidbey before the week-end.

    OK the video quality and sound are not top, but it give you a good idea, and it's now so exciting !

    I like the bug that you have almost at the end of the demo. Well they didn't used Edit 'Cut' and contyinue at least on this video.

    Hey
    Roy, cheaper than PDC isn't it ? :-)

  • Quiz V 2


    I know that some people (Isaac for example) are waiting for the admin part of my Quiz tool.

    It's quite complex to build the management page, because I built the Quiz using a single table, so I had to simulate some Master Details data using some nested Datalists.
    And believe me, it's tough challenge to keep everything between each postback !

    So I am very close to finish it. Some debugging, some UI changes, and I hope to release it very soon :-)

    For the moment, just some pictures !



  • Sitemap and Links checks

    How amazing is Office 2003 !

    I just discover today that Visio 2003 is better and better.
    It's not anymore only for organisation charts and technical drawings.

    It's also a fantastic Sitemap  tool. It is very handy to have a nice dynamic sitemap of a website.

    Try it, it worth it !
    It's so easy, the wizard ask you for a URL, and voila !

    On the image below, you can see haow it works remarkably well.
    For example I detected some missing images (the Red Cross :-)) in a deep level that I will not be able to see using VS.

    Right click on any node and you can again continue the links or change some setup.



  • Internet Freedom... not everywhere :-(

    No comment...

    I don't know whats going on in my ISP, Pars Online. But as far as I can see, I can't keep my contract with them anymore and will change my ISP within next month. Now, why Internet.com is my new forecast of being blocked? Simply,
    SearchEngineWatch.com, part of Internet.com, The Internet & IT Network, has been blocked and I can't read a very very good article about Google. Hmmm, you think what should I do?

    Source: Tech Guru - Ali Parvaresh

  • Bob Hope

    Off topic but Bob Hope passed away. I heard one of his quote on the radio this morning.

    Something like this:


    " I had 6 brothers . That's how I learned to dance, waiting for the bathroom "

    Very funny :-))

  • Good news from Microsoft

    Microsoft is boosting its research budget 8%, to $6.8 billion, and will increase that spending "every year that we can" according to CEO Steve Ballmer. Total Microsoft employment could rise as much as 5,000 this year.

    It's surely good news and it has probably something to do with the latest announcements (LongHorn, Whidbey, Yukon, etc...)

  • Xbox Videos now available for Plus! Sync & Go for Pocket PC users


    Catch up on the latest Xbox game trailers while on the go with your Pocket PC. By popular demand, the folks over at Xbox TV have created a content channel for Microsoft Plus! Sync and Go for Pocket PC. Now you can get new game trailers downloaded weekly to your Pocket PC for a fun diversion (aside from USA Today, NPR, NBC Nightly News, Today Show, MSNBC Hourly Updates etc. etc. etc.)

  • Blogging some figures

    Reality check: Jupiter Research has published some interesting figures on blogging. Somewhere between 2.4 and 2.9 million active blogs exist, but they remain a tiny slice of web life. Only 2% of web users have created a blog, and only an estimated 4% read them (which is a good reminder to bloggers and media people to always explain the word weblog and blog and not assume your audience has any idea whatsoever of what you're talking about :^) ...). Blogging is split fairly evenly between genders, but more men than women read them (a 60/40 split). Nearly 3/4ths (73%) of blog readers have been online for 5 years or more, suggesting (to me) they are either fairly young or the more techie crowd that first jumped online.

  • Assembly hell


    I hate being negative on .Net, but there I feel I have to a little bit.

    I experience something since few days regarding the assemblies.

    Randomly on different web projects , I have the same annoying error returned by .Net regarding something wrong in machine.config.

    It's always reported as a problem with the Freetext assembly I use, but I really believe that this is not really the cause of the problem.

    It's really annoying, because this not happens all the time.
    After some investigations, it seems that for an unknown reason, some temporary files, like some dll, are locked by the framework in the .Net temporary project folder.

    The different things I test are:

  • Great job Scott with the new .Text !


    Kudos Scott, the editor is superb and open wide on my screen !

    I didn't tried yet, but is this editor works from a PocketPC ? I know for sure the last one not.

    It's cool to blog on the move !

  • cool User Controls


    I think I mentioned him before, but Andy Smith (Metabuilders) has really cool user controls.

    The last one DualList is really useful.

    The one I prefer the most is the Default button one. When you have multiple submit button on a page, this really rocks !

  • Windows and laptops


    This is going to be my rant about Windows(whatever the version) and laptops.
    Have you ever used a laptop as a desktop replacement ?

    I mean as a developer, trying to work decently with VS .Net, SQL 2000 and other MS tools ?

    If yes have you a good relationship between your laptop and Windows ?

    Because me not :-(

    I am not talking about again a crash with an hard drive, I experienced this.
    But I am talking about the constant little annoyances I experience every day when I develop on my laptop.

    And now I suspect it has nothing to do with the laptop, but more to the fact that Windows has never really be prototyped on a laptop.

    SQL crash more and more, the .Net worker process hangs randomly the CPU at 100%, etc.. etc...

    It seems really now that a laptop is good only to open one document in Word, Excel, and that's it.

    Whatever the processor speed, the memory you add, everything can transform the nice advantage to be mobile in a nightmare.

    Look at SQL for example. I experienced few days ago a General Network error madness randomly without any good explanations.
    Some people suggested that I looked at the SQL logs. Well aprt the cabalistic and very enigmatic messages, I discovered that a huge list of errors appears with a full line of hyphens.
    Yes, you read well, not a single explanation, but just plain hyphens.
    I tried the same project with the same logic on a desktop, and yes it works perfectly.
    So I tonight I reinstall SQL, but it's really hurting to spend so much money on a laptop and having everything working so badly or so slow.

    I am working often from home, and I can't afford the time to synchronize everything valuable from my desktop PC to my laptop.

    So if someone from MS read this entry, please make us happy, write a real laptop OS, you know a little bit like you did for the Pocket PC, something really for mobility.

  • Quiz version 2


    Requested by a quite surprising number of people, my little Quiz application had some success.
    You can have a look at the way it works on the website Scoilnet (go to the Primary kids section to see it in action)
    I decided to publish a more complete version, with this time an Admin tool to manage all the Quiz database.

    I build this tool around a single table in a SQL database, but it's very easy to change to any Access or MySQL database.

    I could certainly obtained a better realtionships model using few tables, but I would like to keep it simple and easy to move from one project to another.

    That's why I used an old trick (remember Dbase III ?), and simply use concatenated strings to store multiple records in one field.

    I reckon that it was a difficult story to write a decent user interface to manage the different fields and the data.

    I will publish an article in my blog tomorrow, and also the full project with a zip file.

    Of course, if you need more explanations, or if you have some interesting ideas on the subject, feel free to comment.

  • How to cover an IE windowed control...


    Finally Joe King share a good trick for every developers, including myself, who fought with this annoyning IE behaviour.

    If you try to have a DHTML layer over a dropdown list for example, the dropdown controls come always on the top.

    Very frustrating with dynamic menus ! I used to push my dropdown controls further down in the page, but if you need a cleaner solution than just hiding the control on a mouseover event, read the full solution on
    Dotnetjunkies.

  • Bootvis – Windows XP Boot and Resume Analysis Tool


    Bootvis is a tool for easily enabling capture and graphical display of boot and resume performance trace data in Windows XP.  Bootvis by itself will not change a system's boot or resume performance.  Bootvis is intended as an aid to allow designers and manufacturers to characterize their system's performance during Windows startup in order to identify areas for further investigation and opportunities for performance improvement. 

  • FreeText Editor new version



    FreeText editor is an outstanding development and free ! Try it it's really a must have. Hats off !

    The latest version (1.6.2) include everything I could dream to have for my CMS project, an Insert Table button and a Word Clean function to remove all nasty tags from .doc documents.

  • Last Microsoft case study: a lesson in corporate Marketing

    To develop the Frontpath platform, Bradbury enlisted the aid of Cursivecode, a Seattle-based company that specializes in Internet and wireless solutions. Andi Rusu, a partner at Cursivecode, explains that developing the wine menu application in Linux proved to be “interesting.” “We had experience programming with Unix,” says Rusu, “so we didn’t have coding issues. At the same time, we were flying by the seat of our pants. Because Linux is very unpredictable, we knew the individual elements were working, but couldn’t really predict how they would act in concert when we fired up the device. It was a complete guessing game.”

  • Our Heroes... retired

    Hilarious

    From the New York Times (7/13/2003), "Gilles Barbier's life-size installation 'Nursing Home,' in 'The American Effect' at the Whitney Museum, depicts naturally aged versions of Mr. Fantastic, Superman, Catwoman and others."

    Hey where is Bill, he's a super-hero isn't it ? ;-))


  • PDC overpriced

    I read the comment posted after Roy's blog.

    I agreed with Roy, this is really a joke !

    And I like the comment from Martin saying that it's only 1695 $ for a pre early registration instead of 2000$.

    What a discounted price ;-)

    And Martin is also right saying that you have to add the cost of the flight and the hotel. So we are talking about 4 000 $ for a conference on something which will become obsolete in two months.
    And don't forget the medias, who attend almost everything they want for free.

    It's like TechEd, I wished I could be there, but how I can justify the cost. Yes surely it's much better than the PDC, but when I said to my boss it was in Spain, he didn't believe I wanted to be there for serious work ;-))

    In Ireland, the situation is very simple, nothing happens from MSFT !

    I know for sure thy use PR people to filled recently the only conference they organized this year... for free !

    Apparently nobody wanted to join, the initial price was 300 euros, and fortunatly for them, not for me, my company paid.
    Even the food didn't worth the money (sandwiches !!)

  • Bye Bye debugger

    I don't know for you but I just discover that I use less and less the Debugging functions in VB.Net.

    No I am not a genius, I still make mistakes, write syntax errors or mispell a property.

    The fact is that I structure more and more my code, applying a lot of N-tier architecture in my projects.

    So I can trace now easily the bug, and thankfully, mos of the time, it's just a syntax error.

    I also reduce the time wasted I used to have with the simple thing of launching a debugging session, search for something wrong and stop, to restart again.
    It's incredible how much time the debugger take to launch, looks some time more like a diesel than a formula one.
    I have just some good hope on the new 'Edit and Run' features in .Net 2.0

    I can achieve to forget about debugging by adding more granularity. Not that I am really an expert in OOP, I don't really do enough on this subject, but using some data helpers like the MS Data Aplication Block seem to be a very productive idea.

    Sure, maybe because my projects are 90% databse related, and not about some complex and obscure mathematical abstraction :-)

  • Don started a new book today

    Here's the first sentence:
     
    Software lives at the boundary between objective and subjective reality.
     
    More to follow.

    From Don


    WoWW!
    What a start, surely the next Pulitzer for such a beautiful sentence ;-))

  • Paul Vick is blogging !

    That's make me happy to see a VB guru blogging, and more if it's Paul.

    Well he started well his introduction in the so called 'fratricide' war between VB and C# ;-)

    And I am agree with the comment he had on this subject. I use too C# and VB, looking more at the type of project I need to build.

    And yes, what's about the other #languages ? I didn't see too much Eiffel or Cobol bloggers in the house ;-)

  • Dscribe - User Management

    OK folks, I just finished my second instalment about Dscribe the Content Management system project I started few days ago.

    This time it's about User Management.

    I am already now working on the Content Status in the workflow, will I hope to publish very soon.

    Please report any bugs or comments. I'll appreciate the feedback

  • Hash Password Decryption

    Does somebody know which method I can use to decrypt an HashPassword cryptd with

    FormsAuthentication.HashPasswordForStoringInConfigFile(MyPassword. "SHA1")

    I know obviously the security issues but if I am an Admin and I want to manage some Users password, how I am suppose to do ?

  • Datalist EditItem ListBox issues

    In the CMS project I am actually building, I have a Datalist with some CRUD manage inline.

    I use an EditItem template, and some controls. One of the control is a Listbox.

    Sadly, I was not able from my code to read correctly the values of the ListBox on a DataList Update event.

    I casted the Listbox like that:

    Dim MyList as Listbox=ctype(MyDatalist.Controls.item(e.Item.ItemIndex).FindControl("MyListBox"), ListBox)

    Nothing works.

    The only way I found is to come back to an 'old' classic Request.Form like that:

    Dim MyList as string = Request.Form(6)


    Why 6 ? Because it's the actual index in my controls list.

    I know, you can say why not using Request.Form("MyListBox")

  • (In) Visibility

    Scenario: A Datalist (or Datagrid), an EditItemTemplate, some textboxes control.
    Imagine you want to have an hidden Textbox control now.

    Don't use visible=false, if you want to get the text from the control

    Instead do something like:

  • CMS -type of content

    In dScribe project, I will have three type of manageable content:


    - Dynamic content: quite easy, coming straight from the database into different placeholders.

  • Dscribe project - User Management


    In our series on a CMS tool, the next story will be publish very soon, and I will talk about User management.

    I will also start the Workflow status, important flag in a dScribe.

    So please if you need any further explanation, or just want to comment, welcome !

  • Pump up the volume ;-)

    A car stereo that can kill you? Cool

    Troy Irving and his Dodge Caravan, which has 72 daisy-chained Ample Audio 1500 DX amps Back when we were in high school, "bass-offs" -- contests where teenagers with pumped up car stereo sound systems would compete to see whose car could reach the loudest volume -- were a really big deal. And apparently they still are, but now they're called dB (as in decibel) drag racing, at least according to this article from Popular Science. The dB drag racer pictured at left has a Dodge Caravan with a 130,000 watt car stereo system with 72 amplifiers and nine subwoofers and needs 36 batteries for power. At maximum volume it can produce sounds loud enough to kill a person. Putting this in the "Portable Audio" category might be a stretch, as the car is so heavy that it can't actually be driven.


    From Popular Science -- Troy Irving's 18-year-old Dodge Caravan has a heck of a sound system: 72 amplifiers -- you got it, 72 -- and 36 big 16-volt batteries to put out the 130,000 watts of power needed to rumble his nine 15-inch subwoofers.

  • Blogs have legal protection -- at least in the US


     "The Ninth Circuit Court of Appeals ruled last Tuesday that Web loggers, website operators and e-mail list editors can't be held responsible for libel for information they republish, extending crucial First Amendment protections to do-it-yourself online publishers. Online free speech advocates praised the decision as a victory. The ruling effectively differentiates conventional news media, which can be sued relatively easily for libel, from certain forms of online communication such as moderated e-mail lists. One implication is that DIY publishers like bloggers cannot be sued as easily. "One-way news publications have editors and fact-checkers, and they're not just selling information -- they're selling reliability," said Cindy Cohn, legal director of the Electronic Frontier Foundation. "But on blogs or e-mail lists, people aren't necessarily selling anything, they're just engaging in speech. That freedom of speech wouldn't exist if you were held liable for every piece of information you cut, paste and forward."

    Source: Wired

  • Data Access Application Blocks are great

    The Application Blocks are absolutly essentials tools to implement in your applications.

    I found the Data Block very useful in my CMS project.

    I am going to look now at the other Application Blocks to see how they can be useful for my projects.

  • Official start for Dscribe ... now !

    Ok folks, here we go I launch my project dScribe now.

    At the bottom of the article, you will find the links to the different files required for this CMS project.

    I wish good luck to this new initiative ;-)

    To introduce dScribe, I will just repeat here the introduction of my first story (please don't flame me for some mispellings, I am not a technical writer ;-)).

  • dScribe project

    Sorry for the delay, but I still have to catch up with some important business issues !

    Anyway the first article on the CMS project dScribe is on the way.

    I hope to publish it tonight, if everything goes well.
    Otherwise, you will have to be patient until tomorrow.

    Of course, this is a kind of new experience, the idea is that the project going on, I will be happy to take in consideration the different opinions I will receive.

    I know already I will probably frustate some C# gurus, but knowing I can do it in C#, I feel really more comfortable to do so in VB. Anyway at the end of this experience, I will seriously consider the tranlation in C#.

    And what's about Cobol# ?. No I am just kidding :-)

    Just a note on something totally different, my fight against spyware and other trojans.
    Well I am not sure to win the war but surely a decisive battle after installing ZoneAlarm, and also the new google toolbar v2, with the popups blocker.

  • Build a CMS -- Project dScribe

    Today is a big event for me. I decide to launch a new initiative on my blog.
    I hope it will work as planned ;-)

    OK, here we go.

    For my project Scoilnet, using my personal experience on CMS(Content Management System just in case you still don't know;-)), I was confronted with many options.

    Because I still don't believe (don't flame me ;-)) in the big CMS tools for medium websites, I decided after a long brainstorming session (with myself, easier to make decisions) to jump in the DIY CMS on my own.

    Don't misunderstand the project. I am not going to compete with Vignette or other big cheeses  !

    Well it's not really a premiere for me, but in .Net, surely yes.

    I studied and read a lot of books, websites, of course and analyzed all the aspects of the project.

    Because so many marvelous things around us were created by some talented folks, I decided to follow their footsteps, and to develop my solution based on the excellent book Building a Content Management System written by Stephen R.G. Fraser.

    As I said already this is an excellent reading. Because I am also more comfortable with VB, I had to rewrite a lot of things from C#.

    I say rewrite because I am not interested by just 'copy and paste', I really want to do my own stuff.

    So this CMS is loosely based on the book content.

    The other different thing is that I like the concept of N-tier architecture, and for that I included in my project the Data Access Application Block from Microsoft.

    I will have the presentation layer and the business rules separated from the data layer

    Using this, it's surely more job, but much more readable code at the end of the day.

    So now, this is working smoothly, and I am now at the moment where everything start to be clear in my mind about what I can achieve with the tool.

    Rather than just publishing a big zip file with all the codes, I want to innovate and I am going to publish dScribe (Ok OK not great name but I like to name things) brick by brick.

    I'm going to start talking about the Workflow, followed by the Content creation, and so on.

    I have no clue about the number of stories I will have at the end, but it's surely an exciting project (for me! And I hope for you too).

    Of course, feel free to comment and if you have some ideas or resources to improve dScribe, let me know.

    So the first part in a couple of hours, about building a nice expandable menu for the Workflow part.

  • SQL 2000 security

    Comment from Frans:

    "Rather than use SQL authentication when connecting from ASP.NET to SQL Server, you should use native windows authentication -- but lock down access not to the identity of the calling user, but rather to that of the ASP.NET worker process identity of the running application. That way you can restrict access to only allow the application access to the data (not the end users using it). You also do not have to worry about the SQL authentication usernames/passwords ever being compromised and access in these scenarios -- since no username/password is ever stored in an unencrypted way"
    That's wrong, sorry. If I have 2 machines, one being the IIS server and the other one being the sqlserver machine, the ASP.NET account is LOCAL to the IIS server. I can't use that account to access the sqlserver instance and do things there. I then have to add the SAME user to the sqlserver machine as well with the SAME password, also as local account.

    -> 2 times the same user and it 'works' because they have the same credentials, but they are different users.

    On the DOTNET-CLR mailing list we had a lengthy discussion about this a month or so ago and we all concluded that it wasn't possible to do this how MS tells us to do it. On 1 box, it's no problem (sqlserver and IIS on one machine). There is however a problem with the contradiction between the advice from MS not to run your sqlserver/iis boxes in a domain / as a PDC/BDC, so you use local defined accounts on the IIS box, not domain users, and the fact that it is impossible to access box B from box A when you are logged in on A as a local user (ASPNET) of A which is not known on B.

  • Programmer blues

    What a night. I was just working like a dog on some coding for my stuff.

    After some few hours of long coding, I finally obtain the most beautiful...
    BLANK screen.

    Doh ! Well at last, my code seems to work and it's one of my most complex one to obtain a white page.

    I know I should be shame of myself, and now I face some more long hours of debugging this.

    But I believe that it's the common thing for everybody there. Whatever happened, I prefer to laugh about it.
    I should probably wrote less code, and think more about debugging, but ... whatever.

    The blues is gone, I'm back now