last updated:19 Sep 2003 23:36 UK time
|
 |
|
(Comments added for week ending Sun 14 Sep 2003) | View Other Weeks
|
|
| Simple ASP Question | Sun 14 Sep | Chi Lambda |
| * How do you do a multiple Insert or muliple Update in classic ASP and MS Access?
Heres my database table:
tblWidgets:
Widgets_ID (number field)
Widgets_Description (memo field)
* My current coding (Updating example):
strSQL = UPDATE tblWidgets SET Widgets_Description = & strDescription &
strSQL = strSQL & WHERE Widgets_ID = & strID
Set objRS = Server.CreateObject(ADODB.Recordset)
objRS.Open strSQL, objConn
* Does the SQL have to be wrapped up in a loop to iterate through all the changes to Widgets_Description sent from the previous page? If so, how? If not, please send me in the right direction.
Thanks. |
| Sun 14 Sep | Li-fan Chen | what you want to do with objConn.Execute qry
where qry is UPDATE statement per ItemID...
And do an execute for each item.
you can also do a objRS.Open on a SELECT where ItemID in (list of unique items)
and then while not .EOF movenext and match the rs('ItemID') to the item id in your 2d array of properties.. once you get the array offset assign the values like this
rs(Description) = arrProperties(intItemID)(0)
Enjoy :D |
| Sun 14 Sep | Li-fan Chen | If you want to reduce round trips and want to assume one transaction anyway you could wrap multiple updates (dynamically written to point to each ItemID) in a single transaction and pass it to objConn.Execute(qry) |
|
| Outsorcing, CIO.com, good articles | Sun 14 Sep | RP |
| Hi guys
I was reading the edition of CIO magazine online and found a whole lot of articles on the subject very interesting. They seem to focus on the fact that outsourcing isnt as cheap as it sounds, that in the long term outsourcing could even mean the end of the american IT department.
Please, do read it. |
| Sun 14 Sep | Chi Lambda | Also an in-depth article on the same subject here:
http://www.baselinemag.com/article2/0,3959,1256718,00.asp |
|
| Speed Reading Techniques | Sun 14 Sep | A Damn Slow Reader |
|
Is there a technique which work ?
Any recommendations ? |
| Sun 14 Sep | Tom Vu | I learned speed reading from "The Great Space Coaster" where SpeedReader warmed up his eyes by following his fingers up and down then side to side. |
| Sun 14 Sep | Lou | One topic in speed reading that comes up again and again is expanding the scope of your vision. Often when reading we read one work or a part of a word at a time. When you read out loud this results in strange phrasings and poor punctuation ... think of it like machine gunning your words.
If you can learn to read multiple words or phrases at a time you'll be a lot faster at reading and things will actually make a lot more sense. Basically try to read two words at the same time, it takes a lot of work and you almost have to be unaware of the effort. When you get proficient you can get to the point where you can read half a line or more at once. Context is what really helps speed up the reading at that point. |
| Sun 14 Sep | Brad Wilson | I never took any formal training, but I have to agree with the concept of reading more than a word at a time.
A lot of it depends on the difficulty of the content. The new Harry Potter book, I could read a page in about 15 seconds, and make it through many hundreds of pages in perhaps a quarter the time that it takes me to read a ~ 150 page philosophy book. |
| Sun 14 Sep | Philo | [nod]
'Speed reading' does not mean 'read with 100% comprehension' - it means 'follow the plot'.
A great set of books to read to get an idea of the concept are Zelazny's Amber series. In that fantasy world, characters often 'walk through shadows' which consists of pages of glimpses of parallel worlds as they travel.
When you read the books, just skim the shadow travel - you can cover pages in seconds by just glimpsing every few lines.
You can do the same with tech manuals when you're looking for an answer, but it doesn't work when you're trying to learn new concepts, because individual sections of the text are not disposable.
Philo |
| Sun 14 Sep | Simon Lucy | Speed reading is not the same as skimming.
You can increase your speed of reading by on average 10 fold, for some people this becomes an irritant rather than an advantage.
Skimming is useful when searching for specific knowledge, even in unfamiliar texts. |
| Sun 14 Sep | Sam Livingston-Gray | Read. A lot. (= In high school, I often neglected homework in favor of reading novels, and got to the point where I could tear through a Piers Anthony novel (and yes, I've since come to my senses and stopped reading his stuff) in about 3 hours. My speed depends on the material (I blaze through Harry Potter, slow down somewhat for Neal Stephenson or Dune, and drop to a relative crawl through code or math texts), and whether I'm reading for recreation or learning, but the more I do it, the faster I get.
I don't know how you'd learn this other than by a 'brute force' method like mine (i.e., tens of thousands of hours of reading), but eventually you should get to where you can take in words, phrases, and sometimes entire short sentences all at once. I really don't read a word one letter at a time; I recognize the whole thing by its shape.
Hope this helps. (= |
|
| Doctor Dobbs Journal | Sun 14 Sep | Snacky |
|
Ive read a couple of time this magasine and I found
some articles pretty interesting.
Do you think that this publication is worth a read for the Software Engineer.
I wanted to have your feedack as I do not live
in the US the, subscription is a bit expensive... |
| Sun 14 Sep | Evgeny Gesin /Javadesk/ | If it expensive in your country, consider that you can find almost all information on the web. |
| Sun 14 Sep | Shlomi Fish | Dr. Dobb's Journal is a great publication, and I recommend reading it if possible. However, like someone else noted most of the material published there is also published on their online site. |
| Sun 14 Sep | Tony E | Be careful subscribing, I did and never got an issue or a refund. Very poor service. |
| Sun 14 Sep | RocketJeff | DDJ is one of the magazines I recently stopped subscribing to.
While it used to be an excellent magazine, in the past few years I've seen less and less content that fits what I need.
Is there a decent magazine that covers general software developement anymore? |
| Sun 14 Sep | Clay Dowling | What with there being no such thing as 'General Software Development,' I think you're going to have a tough time finding a magazine that covers it.
To be honest, I quite like C/C++ User's Journal. Not every article is useful, but I usually find something interesting in most issues. If you don't write much C or C++ though, you'll find this magazine very dull. |
| Sun 14 Sep | Doug Ross | Man, I still have a most of the original DDJs from the 70's. A friend gave 'em to me in the mid 80's. Great articles like '6502 or 6800: which should you choose?' or 'TinyBasic source' (all of the source code necessary for a 4K basic interpreter, if I remember correctly).
Plain white covers and printed on a Xerox, I guess. |
| Sun 14 Sep | no name | CUJ has gotten VERY thin the last several months. Kinda makes me feel like a dinosaur. |
| Sun 14 Sep | Simon Lucy | Verity Stob is worth 4 pounds 50 of anyone's money.
The thinness seems to be lack of advertising rather than copy which is almost as much as its been in recent years. Oh for the thick, card like issues of Dr Dobbs and his Journal of Orthadonture. |
| Sun 14 Sep | RocketJeff | By 'General Software Development' I mean something like Computer Language magazine or DDJ were in their prime - a wide variety of interesting articles about computers and software developement. They didn't stick to a single language or OS - they showcased the interesting and/or cutting edge.
CUJ is still on my reading list, but it has gotten thinner (probably due to lack of advertising & lower subscriptions now that the boom is long over). |
| Sun 14 Sep | no name | I'm still mourning the sad demise of C++ Report.... |
|
| Software Configuration Management in Organizations | Sun 14 Sep | Shlomi Fish |
| I am involved in the Subversion project ( http://subversion.tigris.org/ ), that aims to create a compelling replacement to CVS, and provide a robust version control for everybody. Now, Ive been to its channel on FreeNode and we
were visited by a contributor who is now a Microsoft employee. He told us some things about the state of Software Configuration Management in Microsoft.
Microsoft used to use a version control system titled SLM for their development. This was basically an SMB share with some scripts to commit and check in files. Eventually, they switched to a different ones, which scales very well and is more decent. They also use their own internal bug tracker which was not released to the public.
The Windows 2000 team used ClearCase from Rational Corp. (now part of IBM).
I told the guys there that I know a couple of people who work in Mercury Interactive and they use there their own internal version control system as well, which they started developing 10 years ago. Its written in Perl and has some features not present in CVS, but is still not something that would be worthwhile to ship to the outside, because it will be shadowed by what already exists now. Still, they have an entire team maintaining it, and they cannot switch because they have a lot of scripts that depend on its particular way of operation.
Someone else from the Subversion development team, noted that many companies have created their own ad-hoc SCM systems and spend millions of dollars internally to support them.
If you ask me, wouldnt it be more worthwhile, to write wrappers for the behaviour of the in-house version control/bug tracking/whatever system around an existing, superior open source solution, and pull efforts on maintaining and enhancing the latter instead? I suppose new businesses nowadays will not consider developing their own anymore because theres a wide variety of available tools to choose from. But what about all the existing systems? |
| Sun 14 Sep | Brad Wilson | It seems to me that, if the size of the organization is large enough to have considered rolling their own SCM, then the organization is probably large enough for the following to be true:
1. There's no single good time to migrate the database, and doing it in pieces may be too painful to consider;
2. The politics of the organization may preclude changing.
I would certainly never think about rolling my own. As a member of the Subversion team, my question is: why did you guys roll your own? Why didn't you extend CVS? :) |
| Sun 14 Sep | Shlomi Fish | 'Why didn't you extend CVS?'
Subversion is exactly meant to be a better CVS. However, CVS' architecture does not give way too much to allow everything that is possible in Subversion. CVS is basically a tree of RCS files, where the versioning of each file is kept separately. Thus, moving a file or directory or copying it is very hard.
Subversion, on the other hand, has reachitectured itself around a central database, that allows O(1) copying and moving of files and directories. Since a branch is basically just a copy in Subversion, it also means there's a cheaper branching and tagging. That put aside, Subversion also supports atomic commits, inherently client/server architecture (with the ability to work over HTTP/S) and a very modular design.
Note that Subversion was not meant as a product for in-house use. It was started from the grounds-up to be shrinkwrap. |
| Sun 14 Sep | Ori Berger | Shlomi's post describes the consensus among just about every CVS user and developer, except Tony Hoyle, who's now fitting a database backend to CVS, that provides O(1) branching, atomic commit, and the like, while still remaining compatible as far as clients are concerned (and, most probably, keeping a shadow old-style CVS directory for tools that access it directly).
Mind you, CVS (on the CVSNT branch) already has atomic commits and history-sensitive merging, which were considered 'too hard' by almost everyone. Tony Hoyle does amazing stuff with the old CVS codebase.
For more info, see [ http://cvsnt.org ]
Tony has probably rewritten 50% of CVS in the process, but this was done gradually over the past 2 years, a fine example of refactoring.
Subversion has some features that CVS will probably never be able to compete with, but it looks like CVS will address what was, at first, considered the compelling reasons to start a new version control system. |
|
| Best Anti-Spam & Anti Pop up tools | Sun 14 Sep | A Depressed Procrastinator |
| What are the best AntiSpam and Anti pop up tools around ?
I use Win200 Pro and Win XP Pro |
| Sun 14 Sep | Brad Wilson | Best Anti-Spam tool that I've found is SAproxy. It's a Windows wrapper around SpamAssassin. Very simple to install, and very effective. Works with any e-mail program.
Best Anti-Popup tool is Mozilla Firebird. :) |
| Sun 14 Sep | Tom Vu | Best Anti pop up tools?
Google toolbar |
| Sun 14 Sep | septembersky.com | use Mozilla. It allows you to suppress pop-ups. There is also an add-on called Bannerblind that removes banner images from pages: http://bannerblind.mozdev.org/ |
| Sun 14 Sep | Jed Knight | Use MyIE2. It's a free tabbed browser based on IE, and it's simply excelent.
There are a few quirks in some places, but the browser is excellent.
It features popup supression, etc.
http://www.myie2.com |
| Sun 14 Sep | Jed Knight | Also, if you go to CNET and look at the most downloaded 100 programs, you shall see 2 or 3 browsers, all tabbed, all based on IE.
AvantBrowser, etc.
All of them are excellent (I have tested all of them and stuck with MyIE2). |
| Sun 14 Sep | Gary Pupurs | Anti-Popups: I second the vote for Google's toolbar 20. http://toolbar.google.com/ Works just fine, and is incorporated into my #1 add-on tool for improving daily productivity. And it's free!
Anti-spam: I'm happy with SpamCatcher so far, after also testing MailWasher and several others. After a few days of adding the few approved emails it miscategorized, I have been able to forget about it, other than doublechecking the 'spam?' folder every few days.
They have a Universal(POP) and Outlook version of the desktop client.
I like it because it does MD5 hashes of incoming emails and compares it to it's server-based cache of known/new spams (similar to Cloudmark).
Their server product, SMTP Gateway, is corporate priced at $5000/yr, but if you're a US 501(c)3 non-profit, you can get it for the ridiculously cool price of $3.50/yr (linux or windows) from DiscounTech. Kudos to MailShell just for that great deal... www.mailshell.com and http://www.techsoup.org/DiscounTech/ |
| Sun 14 Sep | another contribution | Here's one that I use:
http://www.endpopups.com/
It works similarly to the google toolbar. The nice thing, though, is that it puts a little red square in the corner of the browser when it blocks a pop so you can mouse over it and see what the blocked link was. If you click on the square, the popup will open. |
| Sun 14 Sep | JD | I use Netcaptor - www.netcaptor.com for Tabbed browsing which also blocks pop ups.
But the best tool for blocking spam, i have ever come across is Mail washer pro from www.firetrust.com . It might take time to get used to it and set it up perfectly, but once you are done, you are done! I received 0 spams these days and it's a massive change from 10+ spam I used to receive everyday!!!
JD
http://jdk.phpkid.org |
| Sun 14 Sep | Mickey Petersen | Proxomitron.
It's a proxy that changes the HTML to remove unwanted elements; this ranges from popups to ads, to those obtrusive and annoying 'hovering flashads' that appear on some sites.
It can be extended using a regex-like syntax and has a steady following with plenty of 3rd party 'scripts' to protect against a wide variety of things. (Google for 'proxomitron filters') |
| Sun 14 Sep | Robert Chevallier | I use and recommend Mozilla 1.4 for browser (Anti-popup included) and mail (Bayesian spam filter included which works great). |
| Sun 14 Sep | fool for python | No extra tools needed. Just use Mozilla suite or Mozilla Firebird and Mozilla Thunderbird. |
| Sun 14 Sep | Johnny Bravo | Mozilla Classic/Firebird still cannot supress _loading_ of banner ads. The abovementioned bannerblind extension, and also the adblocker extension simply make ad elements invisible.
For that particular task I found ZoneAlarm (Pro) quite suitable as it acts as a real browser proxy and prevents loading those images (flash, too). If you think one specific blocked image actually is not an ad you can simply hover over it and let it be loaded and displayed. |
| Sun 14 Sep | Spam Hater | K9 from http://keir.net |
|
| Unit-testing | Sun 14 Sep | BillyBill |
| Has anyone around here used a unit-testing framework like NUnit (http://www.nunit.org/)? Are these any good or just an overhead? |
| Sun 14 Sep | John Topley (www.johntopley.com) | I'd guess that lots of people around here are using the xUnit frameworks. I'm using JUnit and it's really useful, particularly if you tell (N)Ant to run the unit tests when you build. |
| Sun 14 Sep | BillyBill | How often and at what milestones do you guys perform unit-testing in a project life-cycle? |
| Sun 14 Sep | anon |
Well, to get the full benefit of a unit test suite you kind of need to run it all the time.
You use the unit tests to support refactoring efforts. The unit tests tell you your recent changes haven't broken anything.
If you're using Test Driven Design, then the unit tests tell you when you're done.
You run the unit tests after you've integrated some new code in order to confirm that your additions haven't broken the product builds.
Basically, whenever you change something, run the unit tests. For that reason, the unit tests have to be quick. You lose a lot of the benefits of unit tests if you can't run them anytime, all the time. |
| Sun 14 Sep | Brad Wilson | Optimally, every build automatically runs all the tests.
Ingrained in your brain is the tying between 'build & test'. If the code compiles, it's tested. If the tests succeed, THEN you can interact with it and make sure that it's what you want. Until the tests succeed, you're just wasting time interacting.
Realistically, this may not be possible, as the tests take a long time to run. In this case, I would say that at the very least, after each build, you should be automatically running the largest realistic subset of tests you can. That may just be the tests for the class you're writing, or it may be the tests for the library.
Either way, all source code checked into the tree should be running all tests. You should have a continuous integration server which automatically does a clean build and test as soon as anybody checks anything in. |
| Sun 14 Sep | David Roper | 'You should have a continuous integration server which automatically does a clean build and test as soon as anybody checks anything in.'
Better still if the build or unit/regression testing fails, then the check-in should be rolled back.
This way the controlled code base is always 'clean', at least to the limits of the test regime. In my experience having the check-in break means that programmers are rather less inclined to what I like to call 'creeping refactoring'; the pernicious habit of looking at a piece of code and thinking 'that's awful, I'll just fix it'. This is (1) a waste of time (providing the bad code did what it was supposed to do, and that's why we have unit testing), (2) can be come a source of friction bewteen staff and (3) has an awful habit of beaking stuff.
If a programmer doesn't like the implementation of something he can always post a request to re-factor it as a separate work item, but I've found that letting people just re-write stuff willynilly is a grade A1 method for blowing schedules.
P.S. I thought it interesting that Oracle have just discovered distributed builds. I remember doing this on a workstation network with Apollo Computers DSEE in about 1987 or '88. Plus ca change. |
| Sun 14 Sep | Scot | Well, if refactoring breaks stuff very often, it doesn't sound like the unit tests are providing sufficient coverage. I would suggest using a code coverage tool in conjunction with the unit tests to remedy this situation. |
|
| The Making of Oracle Database 10g | Sun 14 Sep | cocoa developer for mac |
| Interesting article on making of Oracles Latest Database
http://otn.oracle.com/oramag/oracle/03-sep/o53making10g.html |
| Sun 14 Sep | BillyBill | Interesting one. Thanks for sharing. |
| Sun 14 Sep | coresi | Maybe is just me but I fail to see the interesting part here. It looks like
a marketing press release with a lot a hype words describing the same process any other developer team follows every day.
The only part raising eyebrows is the one that specifies a developer allocates only 25% of time to coding which kind of implies they do not have specialized QA teams. |
| Sun 14 Sep | Li-fan Chen | The article basically has a body count. |
| Sun 14 Sep | Johnny Bravo | We have a bunch of Oracle 8/9 installations over here. Both versions still have serious bugs not adressed by any patch/update/hotfix/whatever.
Oracle, please stop releasing new versions until you've fixed your previous ones! |
| Sun 14 Sep | tapiwa | I am with Coresi on this one. Looks like a glorified press release. The sort that you would expect in mags read by MIS students.
Classic quote 'Another major product initiative came directly from Oracle Chairman and CEO Larry Ellison, who thought customers relied too heavily on third-party software to run their Oracle database. '
Duh, anyone who has used oracle could have told them that.
Also something in there about Beta testing usually being done after Alpha testing... |
| Sun 14 Sep | HeWhoMustBeConfused | Johnny Bravo, why not share some of the Oracle "bugs" you have mentioned a couple of times. |
| Sun 14 Sep | tapiwa | not sure about Johnny's bugs, but Oracle installation on linux a couple of years ago was like an excorcism.
if they improved that, then I am a happy man. Never had bugs with Oracle on production machines. |
|
| Do home users use Outlook? | Sat 13 Sep | David |
| With my current project, I have planned to add integration to Outlook so that my products reminders are put into Outlooks calendar.
Now, this would be a great feature for me, because I have Outlook on my home computer (thanks to borrowing *cough* the Office CDs from work). I know that most home computers (assuming Windows here) come with Outlook Express installed, but does your regular user have Outlook? Is there any way to get some estimate of how many people use it? |
| Sat 13 Sep | Brad Wilson | For general users, nearly zero. The people who use Outlook at home are generally power users, in my experience. |
| Sat 13 Sep | David | That's kind of what I expected, although it's more of a hunch than experience.
Is there some other calendar program that home users use? For me, I really only use Outlook's calendar at work and then sync it to my Palm. |
| Sun 14 Sep | somebody | My Dell came with Outlook installed, I'm assuming as part of the standard Office option. I would guess from this that any home user with Office would have Outlook as well. Not sure how many of those actually use it though. |
| Sun 14 Sep | Mark TAW (.com) | Probably power users and people who got computers and don't know how to use it... most ISP's will explain how to set up their email programs in outlook, and most people who have someone set up their mail program will have outlook set up.
So my guess is it's polarized between power users and the technology ignorant.. some sort of inverted bell curve. The middle people probably use web mail or think they're cool and want to avoid viruses and find other mail programs. |
| Sun 14 Sep | Stephen Jones | If Office is pre-installed it will set Outlook as the default mail client.
People who use Outlook at the office will often use it at home if they need to synch.
Most home users won't be using another calendar program.
Check up what comes in MS Works though, and if you are selling to home users in the UK, check up what comes with Lotus Millenium Smart Suite, or Corel Word Perfect Suite as vast numbers of these are bundled with mail order PC's (the biggest outlet for PC's in the UK) |
| Sun 14 Sep | Chi Lambda | My only electronic calendar is through my Sony Clie (Palm OS software). I have MS Office 2000 pro at home but I don't have Outlook installed. All I need for email is Outlook Express or Mozilla Thunderbird.
At work it's a different story.... |
| Sun 14 Sep | Richard Sunarto | Well, I use it everyday as my university is using Microsoft Exchange Server. Most of the times I am using Microsoft Outlook, however sometimes I am using 'Outlook Webmail'.
In my opinion, it is a good product. I installed it in my home pc and my notebook. Also all the Pcs in library have that. |
| Sun 14 Sep | Richard Sunarto | I am also using the calendar and remainder functions. They are very useful indeed, for my own class schedule, assignment, and exam.
The campus 'global addressbook' is very powerful as I can send any mail to any of my campus friends.
Well, I am a home user. :-) |
| Sun 14 Sep | Brad Wilson | It's worth pointing out that most PCs (especially low end PCs typically used in homes) do not come with Office. If they come with a bundled office suite, it'll be Works.
The likelihood is much, much higher that people will be using web mail or Outlook Express for their e-mail, and probably nothing for calendaring.
Oddly enough, my wife (a power user) uses both Outlook and xReminder Pro for reminders. The work stuff goes into Outlook, because it gets sync'd to her Pocket PC, and the home stuff goes into xReminder. |
| Sun 14 Sep | Stephen Jones | Dell bundle works, but pretty well nobody else in the UK does - after all why pay for something that is worse than what you can get for free, and much worse than Smart Suite or Word Perfect Suite.
I don;t know what the situation in Europe is.
Remember a lot of people buy the educational version of Office - you can get one as long as you have a kid of school age, or a student, in the family. an smaller number depeniding on the country, buy an OEM version, plenty make copies of the version they use at work (which was within the license terms for many users of Office), and of course there are those that simply buy a pirated version.
If you are going to link with a scheduler program than you might as well choose Outlook as there is no single alterntative. You could of course consideri bundling a freeware scheduler, and offering the choice. |
| Sun 14 Sep | fool for python | All the power users I know use anything but Outlook.
As for Exchange, ISPs are starting to block prot 135:
http://weblog.infoworld.com/udell/2003/09/12.html#a795 |
| Sun 14 Sep | Jed Knight | Around here:
Home users and people who are barely computer-literate usually use either webmail or Outlook Express.
Power users, programmers, admins avoid Outlook Express like a plague. The early versions had lots and lots of bugs and vulnerabilities.
Also, Outlook Express is not feature rich.
Some power users use Outlook, usually if they need the workgroup features.
Most of the power users, programmers, admins use alternate e-mail clients.
I have tested a lot of e-mail clients, and I consider both The Bat! and Poco Mail to be excellent, outstanding e-mail clients.
The Bat! http://www.ritlabs.com/
Poco Mail http://www.pocomail.com/ |
| Sun 14 Sep | flamebait sr. | People with PocketPC based PDAs based at home will most likely use Outlook because it's there, free, and can hold their calendar. But they may not actually use the email part of it.
People with PalmOS based PDAs often use Palm Desktop.
Otherwise, anybody's guess. |
| Sun 14 Sep | Philo | I'm currently having 'issues' with The Bat!
I've been using it for a while, and overall I'm pretty happy with it, with two major and one minor exception:
1) You can't filter on custom headers. This kills a lot of spam-trapping capabilities
2) It's written in Delphi, and the message editing window has that 'full of spaces' -style editing. Click anywhere in the window and that's where your cursor goes, not to the end of the line like most Windows apps these days.
In addition, if you edit text after you've typed it, it doesn't reflow, which is annoying as hell.
3) They just released a new version, but there's no sign of what's new in it, despite requests on the message boards for a changelog. Very bad form, IMO.
Philo |
|
| Techies that talk too much | Sat 13 Sep | a noid |
| Whats the best approach to take when dealing with folks that never use one word where two, or even better five, will do? I have a couple guys I work with that somehow feel the need to give fine grained, detailed explanations of just about everything. For instance, we have those daily blabfests in the morning where everyone comes together, we stand up the whole time and each person takes a turn summarizing their position for the day. Were supposed to take about five minutes or so. One of the fellas, though, often takes about 20 minutes to give his schpiel. Instead of saying, I fixed bug 125, hell get into a description of every thought that passed through his head and every action he took in pursuit of the bug, making the rest of us glassy eyed.
And why is it that I find so many technically inclined people just love to hold forth whenever they can? Krikey it makes me crazy! |
| Sat 13 Sep | Lou | Why not address the problem head on.
'John, while I really appreciate the details you provide in your daily reports, we really need to try to keep these brief so we can spend our mornings being productive.'
Don't address it in public, that would be embarassing for him and put him on the defensive. If its not your job to run those meetings, ask the person who's job it is to do so.
If that's not a possiblity, appear distracted, look at your watch often, and if need be, leave. Nothing sends a message faster than moving feet. |
| Sat 13 Sep | Annoyed Lou | I hate people who don't just ask you the QUESTION. Instead, they tell you a story of what they were doing that led UP to the question... 'so I'm thinking, I need the XYZ folder, and then I go, gee, I can't remember where it is, so I'm looking all over for it, so I look in my C drive, and I look in my Program Files subfolder, and I look in my .... and then... and then....' ZZZZZZZZZZZZ.
Just ask me DO YOU KNOW WHERE I CAN FIND THE XYZ FOLDER and I will answer! |
| Sun 14 Sep | anon |
[For instance, we have those daily blabfests in the morning where everyone comes together, we stand up the whole time and each person takes a turn summarizing their position for the day.]
This sounds like a 'stand up meeting'.
In order to be effective, stand up meetings are supposed to be short. 10-15 minutes is optimal.
Stand up meetings are really designed to answer these questions:
1) What did you do yesterday that might effect others?
2) What will you do today?
3) Do you need any assistance?
Print these questions and post them where you do your stand up meetings. Whenever someone starts to ramble on, have the team lead point to the questions and ask that person to take the discussion off line. |
| Sun 14 Sep | RB | Some of my colleagues also do this. In their case it's because they are less experienced and need to talk about how they are going to implement something. The rest of us can easily think of 5 different ways to implement the thing, so the details bore us. Sometimes I cut them off, other times I figure it helps them to learn if I suggest a number of different approaches.
In either case I sum up their 'speech' in a single sentence and ask if that is correct. Over time I figure that they will realise that they only need to utter a single sentence in order for me to understand. |
| Sun 14 Sep | ANON2 | Another one that gets me is people that like to pull the Socratic method out at the most inopportune times. I'll be under the gun with some problem and go ask for help. Instead of a nice clear answer, I get a bunch of what seem to me to be thetorical questions fired back at me, ostensibly to help me find the answer on my own. While I appreciate a chance to learn as much as the next guy, there's a time and place for this sort of thing, and holding up delivery ain't it.
I agree with the others, though. The best way (though not necessarily the most comfortable) is to confront the problem head on. Maybe before the meeting remind the members that the meetings are consistently going over time, so try to boil what you have to say down to the essentials. Obviously, this will be directed at the guy that does all the talking, but it allows you to send the message without singling him out. Another tip might be to head him off as he goes for his morning coffee, too. |
| Sun 14 Sep | ANON2 | rhetorical, even. My fingers have a mind of their own. Sorry. |
| Sun 14 Sep | Bored Bystander | Ok, here's a counterpoint.
Yeah, agreed, the 'Socratic method' is often overused under inappropriate circumstances by poseurs who want to cultivate that faux college professor demeanor. But how about the opposite problem?
I've encountered waves of resentment, putdowns, etc by the more illiterate types in our field who don't want under any circumstances to be able to label software things or behaviors and who don't want to think, talk, read or write about what they're attempting to do.
IE: there's a certain faction (of 'illiterate rednecks') in our industry who cultivate illiteracy and lack of communicativeness as a personal statement. They hate reading about software. They don't comment. They don't name variables meaningfully.
These types basically, in my opinion, withdraw from and abdicate any professional level of interaction. Whatever they're doing at the time is 'my little secret'.
Moderation in everything... |
| Sun 14 Sep | ANON2 | That's definitely true too. And there's the crew that refuse to think for themselves. Any time they are faced with something that isn't obvious, off they go to ask someone instead. That's probably more aggravating than the Socratic thing I mentioned above. |
| Sun 14 Sep | flamebait sr. | Offtopic, but I've found that the socratic method is the best way, used properly, for somebody who's not a manager but still wants to communicate good practices to the co-workers, without coming off as controlling or preachy.
Of course, the best way to do that is to get things down to just a few questions. If somebody's worth teaching, they already grasp the basics from college. ;)
It can be a case of insecurity. The person is insecure that they did enough work the day before the status meeting, so they will spend time trying to show that they did, in fact, do something. They want to go through the options because they need to be told that what they were thinking was the right idea. They go through a whole rigamarole to find the XYZ folder because they want to justify why they are trying to bother you instead of being able to find it. |
| Sun 14 Sep | Johnny Bravo | Bored,
you mean that kind of person that names variables fuck1, fuck2, etc. ? |
| Sun 14 Sep | Bored Bystander | Depending on the application, those variable names may be meaningful! |
|
| Web page watcher? | Sat 13 Sep | Philo |
| Does anyone use a tool to watch web pages and notify them when they change? I think ideally it would be something that plugs into IE so you can right-click on the page or click a toolbar button to watch the page.
The notification process Im flexible on.
Philo |
| Sat 13 Sep | Lou | OmniWeb (for the Mac) has this feature, and I believe Opera does as well. In OmniWeb you bookmark the page and a green arrow appears letting you know that the content on the page has changed. I'm sure the feature isn't too complicated to implement, the HTTP protocol supports a request to see if the page has changed. |
| Sat 13 Sep | Li-fan Chen | What you want to do is get a HTTP Fetch component or something and grab the body. The header will always change.
Run a CRC32 or Hash and cache the key. Compare as you go through out the day while grabbing the same page.
By the way the header also tells you if the content has changed, but it's a bit useless with dynamic pages which is why you'll want to do this whole Hash work around.
It's not the perfect solution because you are spamming the web server with requests you'll never read. |
| Sat 13 Sep | Philo | True, but so long as you pull one request of just the page every five minutes or more it shouldn't be a big deal.
BTW, make that hash of everything between tags, and you'll want to parse out the viewstate if it's an aspx page.
Philo |
| Sun 14 Sep | Li-fan Chen | Let me guess, you are trying to write a watch dog :-)
I have been meaning to write one.. |
| Sun 14 Sep | BillyBill | Some sites do: http://www.rba.co.uk/sources/monitor.htm |
| Sun 14 Sep | Matthew Lock | There is a notification by email feature already built in to IE. Make a bookmark, then right click on the bookmark and make the page available offline. On one of the offline page options there is an option to notify you by email when the page changes. |
| Sun 14 Sep | na | banner ads usually screws up the thing, displaying current date as well.
wouldn't be nice if things were built 'correctly' in the first place, where these issues are easier to handle |
| Sun 14 Sep | Jan Derk | In Mozilla/Firebird:
Right click any bookmark and select properties. In the bookmark properties window on the Schedule tab you can set how often you want to check for updates. The Notify tab allows you to select how you want to be notified. |
| Sun 14 Sep | Matthew Lock | Does the notification feature actually work in Firebird? I have tried it heaps of times but nothing actually happens. |
| Sun 14 Sep | Javier J | I was a very happy user of MindIT! Notification service, and when it went down (or became pay-ware, I'm not too sure) I went around looking for _good_ sw to do the same: look at pages, notify when there are changes, etc.
Yes, I know you can hack-your-own, and there are plenty perl-scrpits out there that will do it for you, so installing Cygwin could be another possibility. But I wanted it to be hassle-free, to have support for changes highlighting, regexp-matching, mail notification, programmable checking intervals and all the bells & whistles:
And I found it: Website Watcher
http://www.aignes.com/index.htm
All that, and many more things that I haven't had time to really look over (for instance, logging-in before check, to check password protected pages, etc).
A _really_ cool tool. I have it running on my systray all the time doing its thing, and when I want, I just have a look at the changed sites, with the changed pages 'lighted up'. Of course, having an always-on connection is preferable to really get the best out of it. (I have over 300 'watched' URLs at the moment :D)
DISCLAIMER: I am in no way affiliated with aignes.com or its products; I am just a very happy user. |
| Sun 14 Sep | Noah | WebMon works very well and is freeware: http://www.markwell.btinternet.co.uk/webmon/ |
| Sun 14 Sep | Jan Derk | Hmmm. Matthew, you are right. It used to work when I tested it in an older Mozilla build, but it sure is broken in the latest Firebird version. |
| Sun 14 Sep | Simon Lucy | Its been broken for a while, which is a pain, it kept me up todate without me having to do anything at all. |
|
| program manager vs. product manager | Sat 13 Sep | David Levin |
| Joel describes the program manager function from his days at microsoft, but his discription of the role sounds similar to that of a product manager. Are the roles within a software company different? or are we talking about the same function? Does the program manager report into development and the product manager reports into marketing? |
| Sat 13 Sep | Brad Wilson | It differs at every company.
Last company I worked at, product and program managers were both marketing. Programs were composed of products, so program managers managed product managers.
Project managers were the development managers. |
| Sun 14 Sep | tapiwa | program manager
product manager
project manager
process manager
p....... manager
how many of these PM's can we churn out. |
| Sun 14 Sep | billm | As you guessed, at Microsoft Program Managers are part of the development org (along with developers and testers) while Product Managers are part of Marketing.
Historically (at least in Office and Windows) Product Managers were not so involved in the planning of new products, but were mostly tasked with putting together the mktg strategy to get what has been built out the door. Depending on who you talk to, this may or may not be changing. |
|
| MySQL Installation & Configuration | Sat 13 Sep | TOdd D. Levy |
| I recently downloaded the open source version of MySQL & MyODBC (binaries not source code) to practice with before buying the commercial version.
I am running Windows XP Professional with all critical fixes & patches installed on my PC.
I have no DBA background and I have not used a command line interface to any significant degree since Win95 days.
Can anyone give me simple instructions on how to configure MySQL so that I can start using it. Dont assume I know anything:)
As an alternative, can anyone recommend a book that will help me along these lines; again, a beginners text.
Regards,
Todd D. Levy |
| Sat 13 Sep | M | When I have used MySQL in the past, their online documentation has been fairly decent. If you want to know how to setup a login, it is in the contents, if you want to know the format of an insert, it is in the contents.
http://www.mysql.com/documentation/index.html
The link has some online books as well, but I have been able to get by with their online documentation.
BTW - Isn't your time worth paying a little extra for an MS SQL Server license? Reason I ask is because SQL Server does really well with little maintenance/management for average work and is windows user friendly. Their main tool for management is Enterprise Manager, which IMO is much more polished than what you will find for MySQL. To be sure, I am not saying SQL Server is better than MySQL, but for non-DBA-windows users (as I think you are describing yourself), it might be a better fit.
Good Luck! |
| Sun 14 Sep | Mike | 'Reason I ask is because SQL Server does really well with little maintenance/management for average work and is windows user friendly. '
The reason I'd ask is because MySql is still a limited rdbms. Does it even have ATOMICITY yet? |
| Sun 14 Sep | Philo | Todd, what is your goal?
Are you trying to learn SQL? Trying to learn MySQL? Trying to learn 'databases'?
I'm concerned because you mention paying for it, and I believe that you only have to pay for it if you plan to use it commercially.
So your question sounds something like someone going to an auto aficianado's forum and asking 'How do I get my formula 1 racer moving? I'd like to figure it out before I buy one...' - that you're trying to dive into something that could really hurt you (producing a commercial database product before you even know how to run a query)
So - enlighten us! What's your motivation?
Philo |
| Sun 14 Sep | Jan Derk | MySQL is also free for commercial use. You only cannot modify or distribute it if your own code is not GPL.
The MySQL manual contains installation instructions.
http://www.mysql.com/doc/en/Installing.html
Here's another guide:
http://perl.about.com/library/weekly/aa111400a.htm
You can use the WinMySQLAdmin application that comes with MySQL on windows. It is in the bin folder. But be warned, it is kind of crappy. To modify databases I prefer to run phpmyadmin in a local web server. |
| Sun 14 Sep | Duncan Smart | To back up 'm's suggestion to look into Microsoft SQL Server (if you're intersted in RDBMS's in general as opposed to MySQL specifically) it's worth noting that a developer license is only $49 - although it's called 'Developer Edition' it's actually the full monty. There's also the 120-day evaluation version.
You can download Oracle's database servers for development purposes, for free. Although you may find it a little more painful admin'ing it. |
| Sun 14 Sep | Gary Pupurs | Dont forget MSDE 2000, it's the SQL Server 'Lite' edition (a throttled SQL Server, 2GB max, 5 users optimal).
You can use it free when you build your app with any of the MS developers tools. And it responds to any of the MS or third-party management tools for SQL Server...
If you've downloaded the .NET SDK, you've already got it installed on your box... |
| Sun 14 Sep | Stephen Jones | ----'If you've downloaded the .NET SDK, you've already got it installed on your box... '-----
You've already got it on your box if you 've got Office 2000, and it's running at start up, and quite likely allowing your machine to be infected by a load of Trojans.
Enjoy |
| Sun 14 Sep | Philo | Stephen, join me - let's imagine a world where some people don't seize every opportunity to make off-topic backhanded comments against Microsoft or their technology. Where, if someone asks about help with learning databases, the replies generally focus on, now bear with me here - helping that person learn databases.
I know it's a radical thought, but just try to picture what it would be like if a thread that's not about viruses or ABM doesn't actually contain references to those things....
And mind you, it's not just the 'Microsoft su>
|
| Sun 14 Sep | Stephen Jones | I'll stop making snide comments about MS when it's MS and not me that has to go around clearing up the mess caused by tens of million machines needllessly running SQL desktop. |
| Sun 14 Sep | no name | Stephen-
I had no idea you personally cleaned up that whole mess. That's pretty impressive. |
| Sun 14 Sep | Stephen Jones | Maybe not, but it goddam feels like it!
Today and yesterday was Lovesan day. Get into work on Saturday (here the week runs Saturday to Wednesday) and find my machine infected with Lovesan. The anti-virus has caught it but the problem is having enough time to do the system32 folder scan before the RPC crash restarts the machine. After a dozen attempts succeed, and then go to clean the registry, and download the patch, and install it.
An hour later get another call, from one of my two bosses, and go off to uninfect his machine, and download the anti-virus. In the afternoon the two lecturers who liase with the computer department over the databases call me because they have the same problem.
Now remember I'm not a sysadmin and have a full time job that has nothing to do with computers, in which I have never received any training whatsoever. The next day I check out the other machine in the office for my two officemates. Running slow inexplicably, but it turns out it wasn't Lovesan. However, I get a rare and unfortunate attack of civic responsibility and decide to patch the machine anyway. It's a W2K machine (the others were XP) so I go to the MS download centre to get the W2K patch and find it needs Service Pack 2 installed first, and the machine was installed with SP1 and hasn't been updated. So I go to the download centre and download all 127MB of Service Pack 4 - takes 7 hours, and it's a miracle it doesn't abort, but I'm getting the nice warm glow all responsible cyber citizens should have. Then I install it. The fun starts. On reboot I get a Stop error, 'unhandled exception L8120.pr2' or something like that. Try reboot, try safe mode, try last known good, get out the W2K CD, try repair, and still get the stop message. Finally I manage to restore all the old system files, and the macnine boots. I now have a machine that reports itself as SP4 but has some or all of its system files SP1 so I try to uninstall SP4. Missing something or other, and also Outlook insists it needs reinstalling but I get access denied to the folder on the HD that the setup files reside it. Reseeting perimissions to everybody can do everything on the HD does the trick, combined with extracting all the SP4 files from the .exe, and two hours later (and two and a half hours after my finishing time) the machine is back where it was at seven in the morning.
Now, what really bugs me is the unnecessary work caused by somebody at MS thinking he's clever. Why on earth does SQL desktop run when you install Office Professionall? How many office users need it. Even the majority of part-time Access programmers don't use it so don't run it at start-up. The same goes for the Windows Debug Manager (WDM) which Office 2000 fires up at start up, even though it's doubtful if 0.1% know what to do with it, and it probably only 0.01% would be able to solve the particular problem with it. Well it doesn't do any harm? Yes it does; Britannia 2000 (I think I've got the version right) uses IE to run, and a bug in their code brings up the goddam debug manager, and prevents you from starting the program. Took me 45 minutes to realize the solution was to stop WDM running at start up, but plenty of people must simply have chuded the CD away.
And Office 2000 has other examples of complete disregard for the end user. You set it up to run all from the Hard disk, but it still doesn't enable everything, and time and time again it asks you for the CD, which you quite likely haven't got, or is with the sysadmin in another building, and he's clocked off for the weekend. We had a lecturer at work who dealt with recrutiment for the electrical engineering department. For months he used his Yahoo mail for everything even though we had a college mail server, because he didn't have Outlook set up, and when I tried to set it up I found it asked for the CD, and I only had the English ones, and it wouldn't even accept another Office 2000 Arabic CE - it had to have the exact CD that it was originally installed with.
Now, I have spoken on this forum highly of MS software, particulary Access, and I have specced a new training centre to use SQLServer instead of My SQL or Oracle, but unlike some who are so far up Bill Gates's 'arse that their neck sticks out of his mouth (which explains why they appear to be speaking for him) there are certain aspects of its behaviour that deserve all the criticism they get (even on days when I'm in a good mood). |
| Sun 14 Sep | Clay Dowling | Back to the topic at hand, Todd, you will find a number of very good tutorials at devshed.com as well.
If you downloaded binaries though, getting the database running is as simple as running the install scrip, then starting up their little admin program and starting the server. It should have been installed somewhere on your start menu.
I've never compared it side by side with SQL Server, but I've used both and so long as your needs are simple I think that MySQL is a fine little database. I've written a lot of software using it. |
| Sun 14 Sep | TOdd D. Levy | People, People, People,
I appreciate the advice; at that which was on topic.
I will certainly look into MS SQL (can't beat a $49 developer edition - does this allow me to distribute commercially?) and Oracle, but I have specific reasons for my interest in MySQL.
In any case, this is exactly what I had in mind:
http://www.analysisandsolutions.com/code/mybasic.htm
This is very basic, simple, and does not assume I know anything.
Thanks again,
Todd D. Levy |
| Sun 14 Sep | Albert D. Kallal | As far as I know, the MSDE desktop version of sql server does NOT get installed by default. In fact, it is a separate install.
As for MySql. I found that is installed, loaded, and ran perfectly the first time around. You can also download a GUI to create and manage tables. In fact, I was very impressed how easy it was to setup and run MySql. This “ease” is not doubt a large reason for it popularity.
In fact, that GUI has icons that look JUST LIKE the ones from ms-access. Clearly, the folks at MySql have a great attitude and are willing to grab anything that will help in terms of familiarity. Here is a screen shot of the MySql manager, then a screen shot of ms-access. Notice how many of the icons are EXACTLY the same.
http://www.attcanada.net/~kallal.msn/test/MySql.htm
These MySql folks are quite smart, as most Open Souce people would not even consider using the same icons!
Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn |
|
| Overcoming Procrastination (HELP!) | Sat 13 Sep | A Depressed Procrastinator |
|
Hi guys,
Im a sofware developer who is feeling a bit burned out.
Im a good performer at work but beside work I dont do much, I just surf the web for hours or chat on the MSN.
I wanted to start working on a small game in order to self publish on the internet and go the gym and work out but I simply cannot because I just cant get anything done after work, I feel so tired and lazy.
Can anyone has some tips and advices to give me in order to fight procrastination
seriously this is killing me, theres so much I want to get done and I cannot get started, its frustrating ...
Thanks for listening!
A Depressed guy! |
| Sat 13 Sep | anonymous | I was like that. But the bills kept piling up and with all the expenses I decided to get a least a little work done each day. After a while the home business found some steam and now I am too busy dealing with all the orders. It's not much but the business pushes you forward after that. |
| Sat 13 Sep | B# | As stupid as it sounds, just do it. Give yourself triggers to reinforce the fact that you are wasting your time.
You corpulent pile of blubber! (just my personal method )
Exercise is a natural anti-depressent as well as an excellent method to increase motivation. Pick something you like, bike riding or jogging in the park is a great way to girl (or guy) watch or even (gasp!) interact.
I'll have gotten very high from yoga and long distance running and it also increases virility and lessons the need for sleep... blah, blah |
| Sat 13 Sep | B# | I started to disconnect my phone in the mornings and I was amazed at the productivity increase and how little need I had to surf. I kept telling myself I needed the net to do research and about once a week I actually do NEED it. |
| Sat 13 Sep | M | As B# was elluding to, disconnecting can do wonders for your life. Disconnect the cable and disconnect the high speed internet (assuming you have internet at work). Take a one month challenge to do away with these distractions (okay, maybe 95% distraction, 5% utility). Use that month to jumpstart your ideas. |
| Sat 13 Sep | anon | Set up some rules for yourself, too, like 'No surfing until after I have had my walk.' In other words, make the stuff you like to spend your time on contingent on getting done with the stuff that you are avoiding. Then follow the rules.
Also, stay conscious of your priorities. There's no such thing as 'I don't have time to exercise' or whatever. You do have the time, you just choose to spend it on something else. If that something else is more important than taking care of yourself, then so be it. Chances are, though, that it is not, if you think it through.
Another thing is to choose a goal and then subordinate everything else to it. If the stuff you are doing helps you achieve that goal, then keep doing it. If it doesn't help, or worse, takes you away from your goal, then you have to stop it or limit it. Sitting in front of a computer or television is a great example of something that takes you away from a goal of getting trim. Recognize it as such and deal with it appropriately.
Coach yourself with 'Every hour I sit here surfing will require me to run one extra mile later on in order to undo the damage I am doing.' Keep one of those thermometer graphs like they use for fundraisers and maintain it. It can show you the 'physical debt' you are building up. Put an automated version of it on your desktop so you can stare at it in horror while you fool around. Make it beep every time it ticks up a notch. |
| Sat 13 Sep | rz | this might sound tongue in cheek, and it is, but only sort of.
you probably just need to get laid. I had the same problem you did, then i realized I hadn't had a girlfriend for a year and a half. i solved that problem and away with it went all my procrastination, depression, lonliness, etc. if that seems hard, i recommend exercise and keeping a journal. the http://www.davidco.com guy has a bunch of tricks, but those are the main ones. |
| Sun 14 Sep | na | http://www.mentalhelp.net/psyhelp/
This book (you can read/download it free) has some (many) tips how to overcome different behaviours, and recommends several techniques for those. Chapter 11 and 14 is for you I think.
-------------------
Topics:
CHAPTER 3 - Values and Morals: Guidelines for Living
CHAPTER 4 - Behavior, Motivation, and Self-Control
CHAPTER 5 - Stress, Anxiety, Fears, and Psychosomatic Disorders
CHAPTER 6 - Happiness, Depression and Self-Concept
CHAPTER 7 - Anger and Aggression
CHAPTER 8 - Dependency and Conformity
CHAPTER 9 - Understanding Ourselves and Our Relationships
CHAPTER 10 - Dating, Love, Marriage, and Sex
CHAPTER 11 - Methods for Changing Behavior
CHAPTER 12 - Methods of Changing Emotions
CHAPTER 13 - Methods for Developing Skills
CHAPTER 14 - Methods for Changing Our Thoughts, Attitudes, Self-concept, Motivation, Values, and Expectations
CHAPTER 15 - Methods for Gaining Insight into Ourselves |
| Sun 14 Sep | A Depressed Procrastinator | B# : Please, not the old Nike Slogan 'Just Do It!' ;-)
I've been advised by a friend to study Anthony Robbins
work.
Has anyone attented any to his seminaras, read any of his books or listened to any of his audio materials ?
I thought if this guy help Fortune 500 CEOs he might be able to give me some tips & advices ?
Basically my questions is : Is Anthony Robbins worth to read & listen ? |
| Sun 14 Sep | Phil | Go to the gym, no matter what.
Then you'll feel better.
Work on code without the internet connection.
Write 3 (no more) things you want to achieve today on a card and carry it with you.
Do them. Not other things but just what's on the card.
At the end of the day put the card in the trashcan.
Repeat every day.
Remember : a bad habit is just an habit. It can be changed. |
| Sun 14 Sep | Bella | Yea., forget the game for now. Try some non computer activities. Try to pick something that is easy and reasonable to do on a daily basis. Like cooking, or running, (not skydiving) It will also make you a more interesting person. "All work and no play makes Jack a dull boy". Good luck. In the end, you need to pick someything that you are motivated to do, so you drop the surfing habit. |
| Sun 14 Sep | Phillip J. Eby | You don't need Tony Robbins, or at least not all of his work. You need only one pattern that he teaches, the 'swish' pattern. He didn't invent it; it's really a Richard Bandler thing (one of the guys that Robbins actually learned most of his stuff from). Anyway, it's described in a number of books, including:
Unlimited Power (Robbins)
Using Your Brain... For A Change (Bandler)
Change Your Mind, And Keep The Change (Andreas)
Robbins' book presents few details on the technique. He presents it as a simple formula, but in that simplistic form it doesn't work for everybody. Bandler's book is better, it gives you plenty of information to let you tune it to your personal cognitive style. Andeas' book is intended for therapists, but it goes into a lot of variants for people with unusual cognitive styles. On the whole, I'd recommend Bandler's book, because it's short and results-oriented, with almost no 'you can do it!' fluff added.
Anyway, the 'swish' is used to induce a motivational response, keyed to a very specific sensory cue. For example, seeing the computer in front of you. Visual cues are easiest to work with, but the Andreas book also offers some hints for using sound or touch as cues.
It just occurred to me that you could also google for 'swish pattern'... Indeed, the first hit that comes up:
http://www.manifestation.com/neurotoys/swish.php3
has at least as good of a description of the technique as is in Robbins' book, and even includes a little animation to demonstrate the process. But Bandler's book is *much* better, because it calls attention to the many details needed to make it work properly. If you use the linked page above, let me call out a few points that are only vaguely implied in it:
1. The 'response' image must be dissociated: it's a 'picture of you', not 'seeing through your eyes'.
2. The 'cue' image must be associated: you see the cue through *your* eyes, as though it was in front of you right then. *Don't* make a 'picture of' it, just 'picture it'
3. You *must* clear the visual field between swishes. If you don't, you'll effectively be coding a continuous loop between motivation and demotivation.
4. The response image should be an 'image of the you who has more choices', rather than an image of you *doing* something. You don't want a specific action, rather, you want an image of yourself as the kind of person you want to be, who would be able to make good decisions about how to spend his time. In effect, this image is really a kind of symbol or variable for a mental state you want to induce.
5. Again... do NOT try to program a specific behavior. You want to expand your choices, not give yourself a new automatic response. (Trust me on this one!)
6. Do the technique QUICKLY. The first couple of times, you can go slowly in order to get set up, but after that do it FAST. The animation on the page I linked gives a fair idea of the needed pace.
7. UNIT TESTING. That is, check that you've embedded the response, and if not, recheck your technique. To test, visualize the cue; you should find that the response image pops into your head immediately without any conscious effort. If not, do the technique again, FASTER. If it still fails your 'unit test', you probably need a different set of submodalities than the standard 'distance' swish, and should consult the Bandler book I mentioned.
8. FUNCTIONAL TESTING. The unit test only checked that the routine is installed; now you need to test whether it does what you intended! Go and put yourself in the cue situation. How do you feel? Is it what you intended? If not, rethink your response image and go back and do it again. Also, check whether there are *other* cues that trigger your procrastination/depression response. A swish has limited generalization, so you may need to do the technique for more than one cue image. Don't try to do them all at once; be systematic and do one cue at a time, unit test it, and functional test it.
Not surprisingly, NLP (Neurolinguistic Programming) is a lot like other kinds of programming. The co-creator of the field, Richard Bandler, started his career as a mathematician and computer programmer. While working his way through school, he got a job editing transcripts of various therapists' work, and he noticed some interesting things about the way really effective therapists work. Together with one of his professors -- John Grinder, a linguist -- they developed the discoveries into a fascinating area of study for anybody interested in how people think and communicate. Most of Tony Robbins' stuff is extremely watered-down Bandler and Grinder. You know how computers in movies behave, versus computers in real life? That's the relationship between what Robbins puts out and the real deal. Or maybe more like the difference between reading an article on Java for PHB's, and doing a class project to implement a JVM!
Anyway... good luck, and don't spend so much time on this stuff that it becomes a new method of procrastination... :) |
| Sun 14 Sep | flamebait sr. | Try grabbing some food with nutritional value (sugars just give you a sugar low) after work but before you start on something. Try a cup of caffiene, also, but remember to stop the caffiene at least 4 hours before you plan on sleeping.
You haven't mentioned your weekend time. Often times, it's easier to get stuff done over the weekend and just reserve the nights after work for playing, socializing, and domestic upkeep.
Work out in the morning before work. As with any workout plan, start light and work your way up.
Get out on the weekday evenings instead of chatting online. Only chat online with people you actively care about.
One technique for dealing with random websurfing is to make sure that you get bored before too long. So, unless I'm actively working on something that needs websurfing, I've got maybe 10-20 sites that I read, and that's it. If you restrict yourself to those sites, you still have the freedom to surf, but you will get bored if all you are doing is reloading the same 20 pages all weekend (unless you are a slashdot troll, of course)
You might try sitting down for an entire weekend and doing *nothing* but surfing the web. Start on Friday and continue until Sunday night. If you manage to get sick of long sessions of web surfing, you will not want to do it as much. I've managed to cure myself of a few compulsive behaviours that way.
Develop a trigger event or events that means that it's home-coding time. Try having a set of music that you only play while coding at home. Have a specific beverage, a specific location, etc. that means you are working on your game. Light candles, whatever it takes. |
| Sun 14 Sep | B# | Phillip
You nailed it! |
| Sun 14 Sep | Philo | Phillip - sounds suspiciously like the same theory underlying affirmations. Also related to my personal theory that we make our own luck - if we firmly believe we're lucky, we will be, and vice versa.
All rooted in the idea that you can teach your brain to subconsciously guide your reactions to stimuli...
Good stuff!
Philo |
|
| Adjusting requested salary? | Sat 13 Sep | Interviewee |
| Im currently working as an independent consultant. I was contacted about a month ago by a Fortune 50 company that has a strong consulting branch to work for them full time.
At the time they asked what salary I was looking for, and I gave them a number. Since then, while going through their interview process, Ive had some additional opportunities come up on the independent side. As a result, Id like to increase the salary Im looking for with the Fortune 50 company.
If I explain the change in circumstances to them, do you think a request for an increased salary (about 10% higher) would turn them off?
Id really like to hear from our more senior/hiring decision type people - how would you react if a prospective candidate contacted you and politely asked for a higher starting salary? (assuming you felt they were worth it). If they werent worth the higher number, would you just make the offer at the original amount? Or would you think forget it? |
| Sat 13 Sep | Mike Gamerland | Until you are an employee, everything is negotiable, however if you appear to be playing games, you are doomed.
If you accepted a number, then I think you are obligated to the number you agreed to. While changing your mind is probably not fatal, it can be to some managers.
If you are going to try, then go for: 'I have been giving it some thought and based on the responsibilities you are looking for me to take on...'
OTOH -- you can negotiate what is still left open. More vacation, instant vestment, health care, etc. And while the HR person will tell you those are not negotiable, they almost always are.
Good luck... |
| Sat 13 Sep | anon |
Well, most places I've worked now have pretty strict salary guidelines based on skill sets. It saves the HR types from having to think too hard, you see.
Since the Fortune 500 type companies tend to be large, I'd be willing to wager they all have something like this in place. Your room to maneuver is limited. They will most likely come to you with a figure themselves and say: 'This is what we pay people at your level'.
Still, it never hurts to ask.
Good luck. |
| Sat 13 Sep | Interviewee | Mike - good point. I want to clarify that I haven't 'accepted' anything. I simply mentioned the number in response to an early 'what are you looking for?' question.
And in all sincerity, my circumstances since that question was asked *have* changed, otherwise I wouldn't even consider asking. |
| Sat 13 Sep | Brad Wilson | You made a 'good faith estimate' of your salary, based on the types of things you expected to be asked to do. Simply tell them that they've added some duties to the list that make you think your initial estimate was low.
Tell them you'd like to wait to discover if they add additional duties to your list. When they're ready to make an offer, you'd like to revisit the issue of salary. Worst case is that you can't get a bump.
If they get offended, then calmly explain to them your original envisioned job requires that led to your estimated salary, and the recent events that caused you to want to re-consider. If they aren't willing to even talk about it, then you better strongly consider what that will mean to your future salary negotiation efforts. |
| Sat 13 Sep | no name | Interviewee, this scenario is actually not unusual. Good candidates, if they make a few applications, will often have multiple competing offers.
Now, here's the important thing for you to take in. The way 'hiring types' respond to this is usually not in your interests, and you should not expect to get good advice from them.
Hiring types, especially recruiters, will try to bluff that you just have to decide. They will usually try to avoid having to offer you more money, unless you're actually a bit experienced in business negotiation, and know that's what it's all about.
If you have multiple offers, your value in the market is higher, and other things being equal, a company that wants to hire you must bid higher for you.
It is your call, but I would say you would not be happy to accept the existing offer, if you have other options. So you should tell them you have other offers and wish to negotiate a higher rate. Of course, only do this if you are prepared to lose that offer. |
| Sat 13 Sep | M | Sounds like no offer has been made yet. Asking for your current salary is a typical interview question. If you are crafty and the person asking is not, you can usually get out of having to tell them, or suggest a range. You should do all you can to sell the employer on your skills and leave the salary stuff for after an offer of employment has been made. Until they offer you employment, there is no reason to talk further about salary. Once they do, you are within reason to discuss what you think you are worth, just be sure you keep reiterating to them what skill you have and how you will be of value (the value you are asking) to the company. |
| Sun 14 Sep | T. Norman | m is right. They haven't made an offer, and you haven't accepted an offer. So neither of you is bound to any specific figure. Wait until they make an offer, then you can ask for more if it isn't up to what you want.
While it is true that these big companies usually have fixed salary scales, there is still room for negotiation because they will generally will have a range for each position, not a fixed figure, and their first offer won't be at the top of the range. |
|
| what type of company is fog creek? | Sat 13 Sep | rz |
| Is it an S corp or LLC, or C corp? If C corp, is it based in Delaware or NYC? (or somewhere else)
Just trying to get some ideas on what will work for my company. Right now I do consulting as an LLC in Boston, but am wanting to move to NYC, taper off the consulting, and focus more on selling my product. Obviously I will be talking to my accountant but wanted to get some ideas first.
thanks! |
| Sat 13 Sep | Robert Jacobson | Most states now have a searchable database of corporate filings. (Usually in the state's Secretary of State office.) Go to
http://wdb.dos.state.ny.us/corp_public/corp_wdb.corp_search_inputs.show
and plug in 'Fog Creek.' This just tells you that it's organized as a Delaware corporation that's doing business in New York. Whether it's a S corp or a C corp depends on separate forms filed with the IRS, which AFAIK aren't publicly accessible.
As a practical matter, there often isn't a huge functional difference between an LLC and a corporation. The major benefit of an LLC is that it can be structured more informally, and the major benefit of a corporation is that its structure is a bit more familiar to people (like potential investors and shareholders.) Both offer limited liability and different options for tax treatment, depending on the state laws.
Of course, this is not legal advice. As always, consult with your accountant, or better yet a lawyer who specializes in corporate law. |
| Sat 13 Sep | Scot | For a good discussion on the pros and cons of different corporate structures, see Tax Savvy for Small Business
by Daily.
It does a good job of discussing the financial aspects of the decision. (I have no vested interest.) |
| Sun 14 Sep | flamebait sr. | And remember that the rules are different for each state, of course. |
| Sun 14 Sep | rz | thanks for the information! |
|
| What's your latest project? | Sat 13 Sep | BillyBill |
| Hi people,
So, what are you guys working on these days?
Im working on a .NET-based errand scheduling system for a Fortune 500 company. Will post the demo URL as soon as its up & running! |
| Sat 13 Sep | Dustin Alexander | I'm currently hammering out an XML based transaction protocol for transferring large amounts of data over three networks [IP, Telephony, and a paging system.]
In addition, I'm designing and implementing a process for producing a customer report that merchanidizes this.
Fun stuff. |
| Sat 13 Sep | Evgeny Gesin /Javadesk/ | We are adding new enhanced modules in our e-Commerce solution for not a Fortune 500 company. :-) |
| Sat 13 Sep | Almost Anonymous | Just started on a complete redesign of www.CoffeeGeek.com -- first complete redesign after 2 years. Design is done; now the coding begins.
Developing various small applications for the SonyEricsson P800 smartphone (http://www.sonyericsson.com/p800). It's the Symbian OS -- a very different and interesting platform. |
| Sat 13 Sep | somebody please shoot me now | I'm writing a POS system in some language you've probably never heard of. |
| Sat 13 Sep | Alyosha` | I wish I knew ... |
| Sat 13 Sep | na | I'm forwarding emails between my boss and a consultant |
| Sat 13 Sep | Philo | Man, but reading 'POS System' *always* makes me laugh...
Philo |
| Sat 13 Sep | retired and loving it |
My latest project is an experiment to see how long I can get away with surfing sites like this before they fire me.
6 months and counting.... |
| Sat 13 Sep | Pardon? You'll HAVE TO SPEAK UP A BIT | Software to control and coordinate patient testing via some custom build audiological testing hardware. Configure the hardware, run a test, store the results and present them to an audiological clinicial for analysis. |
| Sat 13 Sep | mackinac | Reading the Sunday job ads, emailing my resume, talking friends into taking my resume and forwarding to anyone who might be interested, posting my resume on job boards, searching job boards...trying to become employed.
Tomorrow I'll head off to the Embedded Systems Conference. It's not a job fair but there will be a lot of employed people there and I am hoping it's contagious. If not, at least there are a lot of good seminars and visiting Boston should be fun. |
| Sat 13 Sep | M | My current project is to train my two Indian replacements. I hope it is over budget and takes twice as long. |
| Sun 14 Sep | Bill Rayer | Developing a computer language. |
| Sun 14 Sep | Shlomi Fish | I've recently contributed some patches to the Subversion version control system, and worked on various Perl CPAN modules. I also worked on some essays and on a version control comparison. I also interviewed a 77-years old hacker I'm acquainted with and been polishing this interview.
Finally, I began translating ESR's Homesteading the Noosphere to Hebrew.
You can read more about what I have been doing in my weblog:
http://www.advogato.org/person/shlomif/ |
| Sun 14 Sep | John Topley (www.johntopley.com) | I'm working on a J2EE integration framework for legacy software. |
| Sun 14 Sep | suhu | Working on a Invoice & Inventory system using VB6 and Access. Taking longer then expected, though. |
|
| security question | Sat 13 Sep | Jed Boree |
| My employer asked me to write an ASP .NET web site which allows the users to upload files to it.
Each user has a directory of his own, and can make subdirectories.
The users can upload, view and download files, and move files from one directory to another.
Now, the problem is that the user must access only his own files from his own directories.
I proposed two alternatives in order to acomplish this:
1. Every ASP .NET page that manipulates the files or directories (moving files, viewing files, etc) should check if the user has loged in.
If the user has not logged in, of course we shall disallow any operation and display an error message.
If the user is logged in, then we check the parameters of the operation - check if the directory into which the operation happens is indeed that users directory, and if its not, just display an error message.
My boss says that this is insecure because the IUSR user has access to all the users directories, and this is a very bad potential security breach, because there are many hacking tools that attack IIS.
The boss says that the security achieved by this is insuficient.
2. I proposed that the scripts create a Windows user for each web site user, and every such user will have access only to his own directory.
When logging in, the ASP .NET application should impersonate a certain Windows user, and so it will have access only to the users directory.
But, the boss doesnt want to have the script create Windows (or domain) users.
So, the two alternatives I proposed are not acceptable to my boss.
He wants me to find another alternative, which doesnt have the disadvantages listed above.
What other alternative is there?
How can I do this?
I would realy apreciate a good advice.
Thank you! |
| Sat 13 Sep | Chris | Do the files actually have to be real files on the filesystem?
If not, an easy way to do it is to store the files as encoded strings in a text field in SQL server, and you can then control the security 100% in your application.
There is a sample WinForms app that does this using WebServices and such, search 'ColdStorage' on MSDN.
You could do it by storing all the files in a single directory on the server and then keeping the details of access to each file in the SQL server, but this still has that step of 'Storing the files on the server' which I think is where your boss is having the issues? |
| Sat 13 Sep | Duncan Smart | >>'My boss says that this is insecure because the IUSR user has access to all the user's directories, and this is a very bad potential security breach, because there are many hacking tools that attack IIS.'
This is just bullshit - these things -- 'IUSR user' and 'because there are many hacking tools that attack IIS' -- are completely unrelated. The IUSR account is very limited in what it can do. The hacking tools that breach IIS security do so due to buffer overruns that let them run, not as IUSR, but as LocalSystem (and we're talking more priviledges than Administrator here). So no matter what account your code runs under a buffer overrun attack will bypass it completely.
Anyway your code in ASP.NET does not run under ISR anyway - it runs under the ASPNET account -- another low privilege account.
IMHO, The SQL solution suggested by Chris sounds a bit overengineered for what your trying to acheive and I'm not sure what it wins you -- whether the files are stored on the filesystem directly or embedded in SQL server, your application is responsible for implementing the security. Also, 'storing the files as encoded strings'? Why do that -- why not store them as BLOBs in an IMAGE field?
How are you implementing authentication? FormsAuthentication? Anyway I thing the simplest this is that you store the files on the filesystem, but totally control access to them via ASPX pages -- make them inacessable without going via your app, i.e. store them outside of your app's virtual directory. The ASPNET account will need appropriate permissions on the file store directory you create -- make sure it doesn't have write permissions anywhere else (it won't have by default, unless you have Everyone FullControl somewhere... which you won't, will you? ;-) )
Then doing the the thing you suggested, with a directory per user. When the user requests a file send it to them via a 'proxy' page that uses Response.Clear then Response.WriteFile to send it back. Centralise all the file handling code. Make sure it's impossible for the user to use something like directory traversal ('../' in paths) to get at the other user's stuff. Never trust any input the user gives you that would allow them to do this - always sanity check it.
HTH |
| Sat 13 Sep | Philo | Is there a reason that secure FTP won't solve your problems?
Philo |
| Sat 13 Sep | Li-fan Chen | Second Philo here, although the file depository might be situated on a well-connected co-host. Most people have to upload and download crap using dial-ups and DSLs. And that means timeouts and quality of service disruptions because other programs overwelmes the download. Web uploads are one of those not so great (but not so bad either) ways to upload large file so you might want to consider secure ftp/scp or something else. |
| Sat 13 Sep | Albert D. Kallal | I 3rd Philo here!
Why not even just use the browser ie5, and ie6 has a great UI for ftp now. If you enable folder view, then users will have difficulty telling the difference between a regular folder on the pc, and the ftp one. I use ie6 as a my ftp client all the time. Cut and paste, and drag and drop all functions just like it does now in Windows.
Even better is that you don’t have to install any software. IE6 will ask for a the user name and password.
About the only advantage of some web interface I can think of is automating the process of signing up new users, and the creating of passwords etc. If this part can be done manually, then you don’t need to built a interface.
Also, if you use ftp then control and security is that of windows, and you can restrict users to their own dirs...
Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn |
| Sat 13 Sep | Jed Boree | The reason why I'm not using FTP is that the users must see a nice user interface, without installing anything on their computers.
So, we must do everything through a web site with nice design, step-by-step help, etc.
This is a very important requirement. |
| Sun 14 Sep | Christopher Baus | webDAV
http://www.webdav.org/
(ie microsoft web folders).
Interfaces already written.
I would just use the existing standard and extend to your needs. Microsoft and apache implementations are already available. |
|
| Decoupling Request and Response | Fri 12 Sep | three-tiered newbie |
| I am working on a new application and so I am currently experimenting with different approaches to solving my problem. Very generally, the problem is to let the user enter some information on a web page, press a button, and get some results back. Very familiar territory, Im sure. Theres a few twists, though, so I am trying different stuff to see what works best.
One approach that seems promising would have several clients put their request into a queue which is then serviced by a shared analysis engine, which produces a result that can be formatted and returned to the user. The problem is I dont know how to: 1) get the ASPX page to wait while the analysis engine services its request, 2) have the engine get the results back to the ASPX page, and 3) make the analysis engine stay alive all the time.
Ive come up with all kinds of approaches, but each is complicated and messy, so Id like to see if there is something simple I could do so that I can try this out. Anyone have any ideas?
Im using C#/ASPX/SQL Server, if thats important. Thanks in advance. |
| Fri 12 Sep | Li-fan Chen | You could run batch jobs like this.. and get a collective answer back for multiple clients.. the only problem is that you have to program your web flow so that it is part of the form filling to keep going back asking 'are we there yet?'
You could have a simple javascript/vbscript on the clientside that polls using client side XMLHTTP with a job id.. so example: given AA-ZZ concurrent outstanding requests you created a couple dozen batch jobs..
each job is id'ed 1-24 .. the twenty four batch jobs.. will give back a done into a table..
you have to have a simple xml asp page that polls this table to see if
qry = '
SELECT TOP 1 DateAdded,
FROM tblBatchJobs
ORDER BY DateAdded DESC
WHERE JOBID = Request('JobID')
AND DatePart(hh,DateAdded, getdate())< 2
'
If RS.EOF
' Either batch job is older than 2 hours old or job never existed...
Else
Job completed..
End If
On the client side.. once the job is confirmed to exist (server will say something like the following)
5
you can redirect the user forward in the form flow..
but I really think you should just use email notification for anything that requires the user to wait more than 120 seconds.
-- David |
| Fri 12 Sep | Li-fan Chen | Sometimes I get this nagging feeling I am doing homework for IT freshmen... |
| Fri 12 Sep | Christopher Baus | Are you CPU bound or IO bound? That would effect your design. If it is all database oriented what is wrong with using ADO on the server? I've worked on CPU bound (calculations and charting) web based systems and ended up implementing a custom queueing solution. But this was a few years back. The tools might be better today, but somehow I doubt it. |
| Fri 12 Sep | Christopher Baus | Another question. Is the analysis complicated enough that it requires dedicated hardware? In my opinion this starts to get non-trival... My guess is trying to use something off the shelf will involve myriads of work arounds. |
| Fri 12 Sep | three-tiered newbie | Thanks for the responses so far.
What's plaguing me is that each computation requires a lot of highly structured data to complete. I could probably write a giant mess in the database to get the results, but I'd prefer to be able to load the large data structures when the system comes up and then just leave them there while clients query against them, so that I can take advantage of the structuring capabilities of objects in the middle tier. Loading all this data each time a request is made doesn't seem to be an option.
I think the comment about being a freshman seemed kind of unnecessary. If you have reservations about offering advice, feel free to withold it. I was hoping more for a discussion among colleagues than a give me the answer kind of thing. |
| Fri 12 Sep | three-tiered newbie | I don't think it will be a problem to run the calculation engine on the same machine as the web server. |
| Fri 12 Sep | Li-fan Chen | Hey, I am sorry to offend you. It really didn't seem all that complex at first, and as the bar raises it's becoming less unusual for less experienced programmers to tackle such big architectures. Ofcourse, an experienced programmer will have the privilage of successfully completing such a project. Anyway, assuming you can forgive me....
Sounds like you are talking about a main memory database... what's the application..and more elaboration on the thinking behind your architecture.. Tell us a bit more.. I think that will help a bit.. |
| Fri 12 Sep | three-tiered newbie | No problem. I was probably a little overly sensitive because it's already a blow to my overly puffed up ego to have to ask for advice ;)
Anyhow, I don't want to get bogged down in minutiae, but the basic application is for production scheduling/workflow. There are three large data structures: a bill of materials (a treelike structure), a routing map (a network structure), and a rete network that is used to operate on these. The application has several kinds of clients for doing things like asking questions about the system, entering data into the system, and running calculations on the system for things like what-if analysis and data summarization.
Earlier implementations of this pulled a lot of data to a work station and did most of the work there. I'd like to deploy it much more widely than it is now, though, for a variety of reasons (thus the focus on the web). I'd also like it if several people could connect and observe the data live so that they could work together on some of the what-if modelling.
Obviously, I could deploy a client application to do these things, but a web client would be nice for a variety of reasons. Also, like I mentioned earlier, I have several approaches that I'm pretty sure would work, but I'm trying to avoid a really messy solution if I can. What I'm mostly after is clean approaches to some of the problems I mentioned in the original posting.
Thanks again for the input on this stuff too. |
| Fri 12 Sep | Brian | It originally sounded like you wanted to make your queries asynchronously, but your later posts make it sound like you're just concerned with paying a startup overhead for each request. If that's it, you can run as a service or a COM+ application, or just force your dll to stay loaded (e.g. by storing a reference in the Application object). |
| Fri 12 Sep | three-tiered newbie | The particular approach I am asking about basically amounts to a main memory network database containing on the order of 2 million objects. The heavy structure makes it difficult to do some of the operations cleanly in an RDBMS. I am no database expert, though, so that could be a factor. In earlier client/server implementations, I would have the client pull a portion of the data over when the application started and work locally. As things are getting more and more heavily shared, though, the scope of each operation is widening, so parceling up the data is not as easy as it once was. The simplest thing is to just have one model with all the data instead of many models with most of the data.
My thinking is that each client request would be shaped into a command and put into a queue (so that I could serialize access against the shared data structures). The data manager/calculation engine could pull each of these out of the queue and execute them against the data, producing a result. This result would then find it's way back to the requestor, get formatted, and then be returned to the client. For long running calculations (some of the scheduling operations can take a long time), I plan to use email alerts similar to the ones described above.
At this point I can't really say whether the application would be IO bound or CPU bound. Some of the global calculations can be very CPU intensive, but they can also touch a large percentage of the objects in the system as well. I'm hoping to do some experiments to uncover answers to questions like this, but I gotta have something to experiment with first ;) |
| Fri 12 Sep | three-tiered newbie | Brian,
Thanks for the tip. I'll have to look into those techniques. You are correct, part of my problem (since I am, as advertised, a three-tiered newbie) is that I can't pay the overhead for loading on each request. Some else over here recommended looking at building a Windows service, too, so I think I will start there. Thanks again. |
| Fri 12 Sep | Christopher Baus | If you pulling the whole database into memory then you are CPU bound unless you generating a lot of page misses from limited RAM.
Am I correct in assuming that two requests are dependant on each other? |
| Fri 12 Sep | three-tiered newbie | Sorry to have been unclear. Yes, the approach I am considering here will almost definitely be CPU bound, unless .NET objects are fatter than I suppose. For the general problem, though, it is unclear to me which effect might dominate.
I'm not sure I understand your question about two requests being dependent on each other though. For obvious reasons, a sequence of reads will be independent of each other since no state is changed by these operations. Transient data used in calculations is associated with a sort of Visitor object so that the domain objects remain undisturbed. Sequences involving writes may introduce a dependency, and almost certainly will for some of the more far reaching operations. The current set of data structures allows us to limit the effect of writes to a private image of the data until the changes are merged back into the public image (this part is really nasty to do in the database). |
| Fri 12 Sep | WildTiger | Memory requirements worries me...
2 million of objects could be a lot. Are you sure that you can manipulte all of them in reasonable amount of memory? I.e. if your object is something like 2-4 integers then it sounds reasonable, but if each has name, detail, whatever and is close to 100-1000 bytes you may require huge amount of memory on server. Also from your description it seems like you need almost whole new copy of this structures on each request... So if you end up even touching 1-2Gb of memory you unlikly will be able to serve more then one client alltogether... So I would recommend to estimate amount of memory needed.
Also make sure you understand all memory overhead of all code you are planning to use. Memory managment could kill your application for such a number of objects...
It could turn out that current implementation that is 'do modelling on client' is more reasonable. |
| Sat 13 Sep | three-tiered newbie | Thanks Wild Tiger,
Certainly the memory management will be a challenge. I plan to do some experiments to see how the server behaves as I put it under a higher and higher memory load. Also, I've got to study .NET to see what kind of overhead is associated with even an empty object.
Maybe I'm barking up the wrong tree with this approach. Who knows? Might be time to start brushing up in C again :)
As far as the copying goes, the way the data structure is designed, you only need to copy a small portion of the shared structure for most operations. It works similarly to the way some version control packages manage branches - basically copy what is changing and share what is not. When you are done, you merge the original branch and the changed branch into a new branch, which then becomes the shared branch. It's actually pretty neat. |
| Sat 13 Sep | Chris Tavares | An empty object has 8 bytes of overhead in .NET - a four byte vptr and a four byte sync block pointer. If the object's been used for locking, then there's also a sync block associated with the object. |
| Sat 13 Sep | Walter Rumsby | I know that you're using .NET, but some of the ideas you talk about (holding everything in memory - essentially caching on a large scale) sounds like the functionality provided by Prevayler - http://www.prevayler.org/
Prevayler stores everything in memory, so assuming that you have enough memory, performance is good (i.e. better than data access).
If you go with Prevayler (and therefore Java) you can (obviously) still provide a web-based client.
Other features you discuss (asynchronous processing) would be implementable using a messaging system and Java provides an API for this via JMS. Somnifugi - http://somnifugi.sourceforge.net/ - provides an open-source JMS implementation. |
| Sat 13 Sep | three-tiered newbie | Chris,
Thanks for the information. Doesn't sound nearly as bad as I'd expected, thankfully. |
| Sat 13 Sep | three-tiered newbie | Walter,
Thanks for the tip. I'll take a look at the product you've linked. I'm mostly taking the .NET route because that's what everyone else where I work is using and I guess the company has an enterprise license for everything Microsoft. I think, though, that if I could make all this work, they'd go for it. |
| Sun 14 Sep | three-tiered newbie | Hey folks,
thanks for all the input. I have decided to go back to the drawing board with this stuff and maybe try to rework the basic solution to the problem with an eye towards opening up more implementation options. Seems like the thing that is killing me it the need to frequently operate globally, so I am going to think about ways to structure things so that I don't have to do this very often. Thanks again for taking the time to reply. |
|
| europe outsource to india | Fri 12 Sep | whoa |
| is the european counterparts to shell and bmc types sending development to india ? |
| Fri 12 Sep | whoa | thats "are" ? |
| Fri 12 Sep | Ram Dass | Yes, European firms do outsource to India.
Shell is a global company - I think most of ther IT R&D is done in the UK and Holland. I do not know if Shell plans to close IT elsewhere and only expand in India. |
| Fri 12 Sep | Guillermo | and several others as main banks and insurance companies in UK, Germany....
support lines, development tams, software maintenance...
Europe is not different from USA in this concern.
here is also other outsorce, moving development and other tasks to other cities in the same country where costs are lower.
Here in south of Europe is another country for outsourcing: Marocco (and other nearest) now moving a lot of jobs as telemarketing, support and some other manual tasks, same of Mexico since years.
its natural, but very hard to know in your niche while you're thinking you niche is (was?) at very high rate. |
| Fri 12 Sep | RocketJeff | Actually, it looks like the UK outsources to India while most of the rest of Europe outsources to Romania: http://www.silicon.com/news/500021-500001/1/5975.html |
| Fri 12 Sep | Johnny Bravo | They are already re-relocating back from Eastern Europe, e.g. EDS who had their customer support moved over there but now come back to Germany because of quality concerns. And those companies that still don't get it outsource from Hungary to China, like Oracle or IBM. |
| Fri 12 Sep | Jim Rankin | 'The report, Offshore 2003 Romania, claims that not only is the cost of using and providing IT services there much cheaper than India, but there is an abundance of well-educated and highly-skilled workers who also have a better understanding of western European culture.'
Hehe. I want to see the website where all the Indian programmers are complaining about losing their jobs to the Romanians :).
Also:
'The rising costs for UK firms providing and using Indian offshore IT services could drive organisations to cheaper locations such as Eastern Europe, according to analysts.'
So the IT prices in India ARE rising, enough for firms to notice. Not quite the panacea they thought, eh? |
| Fri 12 Sep | Romanian developer | Yes, the prices in India are probably raising.
I can tell you from personal experience that the prices in Romania and Hungary are raising to.
The advantage people in East Europe have over India is indeed the fact that we practically don't have important cultural diferences with the West Europe or US. |
| Fri 12 Sep | Lord British | You don't have that much in common with us, either. |
| Fri 12 Sep | Globetrotter | 'The advantage people in East Europe have over India is indeed the fact that we practically don't have important cultural diferences with the West Europe or US.'
I disagree. India was not communist controlled for the last 50 years. Communism makes people stupid, angry, abusive, argumentative, alchoholic, irrational and unwilling to take responsibility for their actions. Eastern European developers don't code to spec, don't deliver what the promise, then complain about it and blame other people. On the other hand, Indian developers deliver what the promise. |
| Sat 13 Sep | Romanian developer | We shall continue to work hard and improve ourselves and to keep proving to managers in US and Western Europe that we are a superior or at least equal alternative to India.
Many managers in Western Europe are already convinced of this fact - I met them, and spoke with them, and they simply told me exactly what I wrote before - that developers in East Europe have a culture which is a lot closer to the Western Europe culture.
East Europe is a part of Europe. Most of the countries in East Europe have a 99% European culture - the same as UK or France.
It is not different - it is practically the same.
The fact that communism makes people alcoholic or something is nothing more than a sterotype. Yes, it makes some people so.
But developers are not the average people. Developers are intellectuals - educated people, who have technical university degrees and who perform intellectual work.
And we are not alcoholics, nor stupid!
What happens if I apply the same kind of judgement about the US?
Let's take an average american for example. From the technical support the company I work at does for our products, I belive that the average american can't spell his own language, and that at least 20% of the average americans are braindead.
Hey, feel free to continue to belive whatever you want to belive about Eastern Europe.
But we are intelligent, smart, well educated, and willing to work very hard.
We are hungry for success, and we shall continue to prove to managers in the US and Western Europe this.
We have already proven ourselves many times, and we shall continue to do so. |
| Sat 13 Sep | qa | http://www.salamandr.com/comics/Dilbert/Dilbert-20030803.gif |
| Sat 13 Sep | Hanuman | Go India! |
| Sat 13 Sep | Stephen Jones | Hanuman - King of the Code Monkeys! |
| Sat 13 Sep | Sign O' The Times | If you put two Americans in a room together, they'll sue each other; put two Japanese in a room together, and they'll start apologizing to each other; two Chinese will do business; and two Ukrainians or Russians will sit down over a bottle of liquor. |
| Sun 14 Sep | Hanuman - King of the Code Monkeys | And if you put two Indians in a room together, they'll form three political parties: one each, plus one together. |
| Sun 14 Sep | Serge | And people - please do not be that emotionally involved in these discussions.
Because good programmers wouldn't start defending their countries. They are sitting and working! And they have no time for this stupid discussion.
and you guys should understand that one of the main parts here (that you don't discuss) is the marketing force. Hire a marketer for 100k+ a year and he will find clients for a penguin team that writes software at southern pole.
but as a manager of a pretty big offshore development company I should say that exSoviet countries will kick the butt of many other countries because programmers there are of pretty good quality. and price is reasonable. |
|
| hosting service that doesn't suck... | Fri 12 Sep | Christopher Baus |
| I need a cheap managed hosting service that doesnt suck. They should offer Linux, Perl, Servlets, and mySQL. Any suggestions? Ive been using javaservlethosting.com and they suck big time. Their management tools are horrible, and their support is insulting. They have an inconsistent way with dealing with account permissions, billing, etc. But they are cheap. I guess you get what you pay for.
Does cheap and good exist? |
| Fri 12 Sep | Li-fan Chen | I like to beg of you with the relevant experiences to share with us similar experiences with Windows-based ISPs. SQL Server 7.0/2000 and ASP.Net/ASP+VB are the ones I am interested in. |
| Fri 12 Sep | Anthony Rubin | For Linux hosting I found FutureQuest to be decent. They are very honest and attentive.
http://www.futurequest.net/ |
| Fri 12 Sep | BillyBill | Try finding out at:
www.webhostingtalk.com
www.freewebspace.net |
| Fri 12 Sep | MSHack | I used PHPWebhosting.com. They have been great for over two years.
http://www.phpwebhosting.com/
I have not tie to them other than they provide my hosting. |
| Fri 12 Sep | Brett Kapilik | The best that I have used (and I have used a LOT of them including all of the big guys) is Tera-Byte:
http://www.tera-byte.com
They offer all of what you are looking for for $10/month. I have been using them for my own as well as several clients' Web sites for several years without incident. Their support is fantastic as well. |
| Fri 12 Sep | Servlets Rock | I have been using:
http://www.kattare.com
for a couple of months now and would highly recommend them. |
| Fri 12 Sep | eclectic_echidna | http://www.maximumasp.com
By far, the best for ASP.NET...
--
ee |
| Fri 12 Sep | John | I use www.icdsoft.com it's only 5 bucks a month and they give me php and mysql so I'm happy. Don't know about Servlets. |
| Fri 12 Sep | Ori Berger | http://34sp.com is great, and they take 15GBP/year, which is ~2$/month.
Not sure if they do servlets, but the $2/month package includes MySQL, perl, php, Python, mail, ftp and more.
Not affiliated; Just a happy customer. |
| Fri 12 Sep | rz | http://www.orcsweb.com is the best windows hosting service
http://www.pair.com is the best linux/apache/php hosting service
not sure about servlets. |
| Fri 12 Sep | Bored Bystander | I've found the 'price leader' on virtual private servers is:
http://www.rosehosting.com/
They have Red Hat Linux based virtual server accounts for $29.95/mo with 2 gig disk storage and 20 gig/mo of transfer allowance.
You get root access and your own IP address. You can literally install anything you want - alternate mail server, database, web server, etc. They allow you up to 10 primary domains pointed at your host (their DNS) and an indeterminate but unrestricted number of secondary domains. (no 'bot' here - you send them an email asking to set up domains and secondaries.)
You can buy more domain allowances and storage space as needed.
One downside: they don't do backups. If you screw up your file system or 'rm -r *' from the root path, you're stuck. But they claim to do RAID mirroring of all account storage. I guess you could zip or tar your files and download the archive periodically as a backup regimen.
I have been with Rose Hosting since April and I've been very, very happy with it. It's a cheap 'power toy.'
I had Futurequest as my web host before Rose Hosting and I corroborate that they are caring and generally very, very good also. But they are certainly not the cheapest provider. One downside is that they want to charge $25 (one time fee) to attach each additional domain to an account. |
| Sat 13 Sep | Kendall Swan | IMO, pair is the way to go. www.pair.com |
| Sat 13 Sep | Javier J | Hi!
Interesting and very informative list of hosts!!
Thanks a lot!
I'd like to ask: Do any of these offer shell acess (SSH)?
I know it's not that common, but I'm looking for a shell account on a system that is well located/maintained. Other things such as storage space and the like are secondary, those I can get almost anywhere. I know I could co-locate a server, but that means having to baby-sit it (and it's pricey!). And for the moment, having my own PC online 24x7 connected to my DSL (fixed IP, thankfully!) is not an option.
Thanks a lot |
| Sat 13 Sep | mackinac | >>> I'd like to ask: Do any of these offer shell acess (SSH)? <<<
I have been considering signing up with pair.com. They do state 'Login by Telnet or SSH' in their service description.
Note: pair uses FreeBSD, not Linux. |
| Sat 13 Sep | Jason |
A second vote for phpwebhosting.com. They offer shell access for free, you just have to request it. |
| Sat 13 Sep | BillyBill | I second www.tera-byte.com and www.orcsweb.com |
| Sat 13 Sep | rz | pair has shell access. |
| Sat 13 Sep | Ori Berger | 34sp has shell access, but you have to specifically ask for it; They don't charge more, but they do want to make sure you know what you're doing, and to make sure that you know you can be much more efficient at ruining your account using shell access. |
| Sat 13 Sep | Greg Hurlman (www.squaretwo.net) | For Li, on the ASP.Net/MS SQL side, I highly recommend http://www.webhost4life.com . Great support, all the options you need, and *cheap*. |
| Sat 13 Sep | Christopher Baus | I am going with phphosting.com. So far so go. Much better UI then javaservlethosting.com. Super fast and easy to use. Javaservlethosting is a hodgepodge of about 3 different systems.
I have to say
http://www.rosehosting.com/
looks pretty neat. Hopefully I will some cash to upgrade their service in the next few months.
christopher |
| Sun 14 Sep | Spam Hater | http://www.he.net
Probably the longest aroung, and the biggest (I don't know how to check as of now, but 3 years ago there were sites that checkd the # of sites using their DNS)
Been using them for 5 years, and always happy with them.
(No Java Servlets though) |
|
| ot: brain parsing of language | Fri 12 Sep | blargle |
| this is doing the rounds at work - provides an interesting example of how the brain parses text ...
Aoccdrnig to rscheearch at an Elingsh uinervtisy, it deosnt mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae we do not raed ervey lteter by it slef but the wrod as a wlohe.
Amzanig!
anyone have links to further info about this sort of thing ? |
| Fri 12 Sep | Philo | Google on 'whole language phonics teaching' and you will get years of acrimonious debate.
What the article describes is 'whole language' which was the hot new thing in the 80's - inflicted on a generation of kids. The idea was that since the brain worked that way, let's teach kids language that way.
The *problem* is that that's how we read _once we know how to read_ - it's like multiplication - when you do 8*7=56, you're regurgitating a memorized result. The problem is that when you look at 324*34243, you have to figure it out, and that's why we teach how multiplication works before teaching times tables.
Well, the whole language advocates discovered the same thing - teach a kid to read via whole language and you've given them a fixed, defined vocabulary that cannot expand, because when faced with a new word they're simply lost.
And so we're back to phonics.
Philo |
| Fri 12 Sep | jedidjab79 | ... describes is 'whole language' which was the hot new thing in the 80's...
and, as usual, it takes quite a few years for it to move from California allll the way over to the east coast of Canada. Back in 2000 I went back to the elementary school I attended growing up (my dad's the vp) and took a day to help some of the Grade 1 and 2 children who were having trouble reading. Having grown up myself on phonics, I was _floored_ when they would read a sentence and read completely different words than what was written .. and keep going without recognizing what had happened. For instance, they'd replace 'bus' with 'bat'.
The schools at home started with the 'whole language' nonsense about six-seven years ago and I think they're finally starting to move away from it. Everything went downhill .. sixth-grade students couldn't even spell basic words because 'it's not important about spelling .. just that they express themselves'
p.s. phonics rule :) |
| Fri 12 Sep | Portabella | > phonics rule :)
I bet they rule even more in languages like Spanish and German where spelling isn't completely whacked.
English and French have some major legacy problems. |
| Fri 12 Sep | RocketJeff | It's not just a legacy problem for English - the English language keeps adopting words from other languages with their original spelling (minus Umlauts and other 'funny' symbols).
The French combat this, of course, by having an official body to decide what actually is a French word and what isn't... |
| Fri 12 Sep | Devil's Advocate | When did phonetics become phonics? |
| Fri 12 Sep | Alyosha` | jedi: this only tells me that you have limited experience tutoring 1st and 2nd grade children with reading problems, not that phonics or whole-language is a better approach.
Both are necessary. It's negligent to teach reading without ever mentioning that letters tend to have certain sounds. But English is not a perfectly phonetic language; and frequently, children will come across words that they've never heard before; this is why they need to also learn how to pick up context clues from the sentence. The danger with teaching phonics exclusively is that a child may be able to memorize all 100+ rules of pronouncing English and still be unable to apply them; or perhaps they are able to sound out every word in the sentence, but they still are unable to understand what it MEANS. |
| Fri 12 Sep | shamma-llamma-dingdo |