| last updated:18 Nov 2002 19:20 UK time |
![]() |
| JOS Statistics - Recent Comments (Comments added for week ending Sun 17 Nov 2002) | View Other Weeks |
| Average Raise after 6 months? | Sun 17 Nov | Myron Semack |
| Ok, some background: I graduated in May with a CS degree. I started here right after graduation. This is my first real job. I never interned at the company. They offered me a decent starting salary (above average for this area). I just had my 6 month evaluation (standard procedure). They said they were pleased with my work, said I had management potential, and gave me a raise. Im wondering what the average increase for someone in my position would be. What is the average salary increase after 6 months? |
| Sun 17 Nov | Troy King | Average raise after six months in the places I've worked is roughly $0. Most places I've worked were pretty informal, though, and didn't do performance reviews. |
| Sun 17 Nov | Farid | You haven't told us what are you doing in first place. Secondly, I'd say try to gain experience before thinking about raise. Frankly I wouldn't offer high salary for people right out of college cause I am sure they're green and I can't expect much. Computer science it's not just about text books and the projects you have done in the university. Try to get REAL experience and implement what you've learned. You're way too lucky to put your knowledge to work given this economic climate; it's very risky to hire fresh people out of college these days. Think long term. |
| Sun 17 Nov | Myron Semack | Let me explain, I didn't ask for the raise. They gave it to me. They told me they were impressed with my work, and they gave me what (I think) is a very nice increase. I'm just wondering if what they gave me was good or not. Ok, what am I doing? It's a small embedded systems company (about 30 people, very informal). I'm the first software person they've hired. They used to contract out driver and BIOS development. Now, those things are my responsbility. A lot of what I'm doing has been updating drivers (adding WindowsXP support, writing Linux versions, etc). This stuff hasn't been too difficult. The harder stuff was adding certain features to our BIOS. I'm no assembly-language expert. Since I started there, two of our larger customers have asked us to design customized applications. I finished both of these projects on-time, and the clients were pleased. I'd like to think I'm doing good work there. I've still got a lot to learn. I'm doing a lot of low-level programming. My CS degree didn't give me much of a hardware background, so I've spent a lot of time outside of work learning about EE stuff. |
| Sun 17 Nov | Prakash S | depending on the company, anywhere from 7-20% raise. |
| Sun 17 Nov | Alberto | Raises based on the passage of time (i.e 6 months, 1 year) are senseless. These type of raises do not discriminate between the nuff nuffs and the productive people. Everybody is just a 'time server'. |
| Sun 17 Nov | Giorgio Galante | Depends on what you started at honestly. Are you on the high end of entry level or on the low end for your area. I was on the low end when I got hired and got a $5,000 raise. Which is still pretty crappy overall ($35,000) and I got another $3,000 after 1 year. So I'm at $38,000 after a year and a half's experience. Is that good? I don't think it's great (but better than a punch in the face & an unemployment check.) I've been told by some people with more experience that the only way to make a real jump in salary is to change employers. Opinions? |
| Sun 17 Nov | Myron Semack | They increased my salary by about 20%. The salary increase was not an automatic thing (the review is). How much my salary was increased by was based on my performance. |
| Sun 17 Nov | Peter McKenzie | 20% after 6 months is good, specially in the current environment. You are in a strong situation because you are the only person doing SW at your company. Therefore there is additional risk associated with your leaving, so your salary could be viewed as artificially inflated. Of course, it is not really artificial because you are having to work largely independently and are therefore justifying your salary. Another point in your favour is that your salary can be directly compared with the (probably) enormous outsourcing costs that were previous paid for similar work. I'd say you have a great opportunity to shine and take full credit for your work, something that many new recruits don't have. |
| Sun 17 Nov | Prakash S | way to go Myron! |
| Sun 17 Nov | Bella | I recall my first job back in 1993. I was paid $29k to start. I got great real-world Unix and C experience. After a year, I got a 6% raise, I believe. I was up to $30,800. At that point I was underpaid. Once my learning curve flattened out, and I left for a $48k salary with about 1.5 years of experience. I left for better skills, not money. All my 'real' salary increases were a result of job hopping. I am unaware of the current market, but contracting was the fastest way to a huge paycheck. Put your skills and work ethic first, and the money will follow. Good luck with your career. |
| Sun 17 Nov | WRZ | 'it's very risky to hire fresh people out of college these days.' It isn't that risky if you are only paying $35,000 a year. Yeesh, where are you guys located? related to the original question: i have never had a raise. but then again, I have never had a job that lasted more than 18 months. YMMV. 20% is pretty good. But, if they started you out at $29,000 a year, that isn't so good. Where I'm at (Minneapolis) you can make $50K as a help desk /sysadmin at the university. Then again, the money isn't such a big deal if you get to learn cool stuff. |
| Sun 17 Nov | sam | 20% is excellent -- possibly too good, actually. It could be that you're just doing a fabulous job, or it might indicate that the company doesn't know what they're doing. I once got a 13% raise after about 8 months and thought I was pretty hot stuff... then when I left that job, the person they hired to replace me started at 23% higher than what I made when I left. That's when I learned I had *really* lowballed them when I was first hired. But then again, I wouldn't work for that company again even if they paid me $120k, so I guess what's really important is whether you like the job, whether you make enough to save for when the job ends (always save some!), and whether you're getting the experience you want. Sounds like it's good so far, so you shouldn't be checking other listings more than once every month or two. ;> |
| The guerrilla guide to interviewing | Sun 17 Nov | Tero Lahtinen |
| Very good guide to interviews, Joel! http://www.joelonsoftware.com/articles/fog0000000073.html I have some additional hints to share, based on my learnings in hiring C++-programmers. #1: Joel has some tasks that he asks the applicant to do; Ive successfully used questions posted to Usened News groups and would recomment that to others.The questions people post to news are real-life problems and you would really want to see how your canditate solves real-file problems. The questions in news are often poor: wrong terminology, bad language, vital information missing (am I using Visual Basic or C++, Windows or UNIX, etc. things that youd relly need to answer properly). But poor questions are good: at work you always have to make decisions and provide answers based on incomplete information, you never ever have the luxury of being able to sort out everything that is related to the problem in question. How your canditate answers to poor questions helps you find out the two qualities * if she or he gets things done: (s)he makes educated guesses and assumptions, _spells them out_ and reasoning behind them, (...hmm, the compiler and OS is not mentioned here, Ill assume that MS Visual C++ and Windows are used, because...), and then proceeds with the answer. * smart: just watching and listening how a person starts to handle a problem tells you a lot on how smart (s)he is. Its also worth to have a question that is impossible to answer. The one I had, contained a long hard-to-follow description of a fault and then a code example that was correct! Written on such awful style that it would never pass any code review, but correct. The actual bug was somewhere else, not in the example. Based on the information in the question, it simply wasnt possible to tell where and what the bug was. But smart people could cope with that, they looked the question and eventually told me that they couldnt tell where the problem is. Not-so-smart ones started feeding me with suggestions on how the code excample should be changed (sure the code was horrible and there was a lot room for improvement, but it DID work). No-hire. Then, to save time, I had one question that I always used first, which I called Goodbye-question: int a; char array[a]; Compiler error message: expected constant expression. Whats wrong? Two lines of code and a very basic compiler error message. If you cant tell how to fix this, you are not a C++-programmer. Goodbye. (sure I was more polite). Its amazing how people who dont have the faintest idea on coding actually make a living as programmers. With professionals the question helps to ease : hey, these questions are not bad at all! Well, you just wait..., but trivial first question gives self confidence to the canditate, preventing under-performing under pressure. #2: Managers hire people. Managers dont know technology. Sure, I too was a SW engineer befofe I became a manager and started hiring people. And I knew how to code. But being a manager means that your techical skills slowly dimish. Therefore, I had this rule: the canditate must be BETTER than ME. Id really recommend that to everybody. Some bosses are afraid to have people that are better than they themselves are in their team, cause that would reveal how bad they are (or something). That is sheer stupidity. Manager gets credit if things get done, and the better people you have the better things get done. #3: While you can argue whether pair-work works in programming, in interviewing it does. I always interviewed with a collegue. Try to find a person that has different character than you, then your judgements really compelement each others. No-Hire + Hire = No-Hire, only Hire + Hire = Hire. You both must agree on Hire, or its No-Hire. #4. My final piece of advice: trust your instincs. In an one-hour interview you cant get to know a person, but your subconscious mind works for you. Trust it. If the facts say Hire, but you just have this odd feeling about the person, seemingly without a reason, it should be No-Hire. We once had a canditate that really was very good. However, my collegue muttered somehow he is too eager. Definitely that is a stupid justification for No-Hire, and I would have gone for Hire. But No-Hire + Hire = No-Hire. However, he was later hired to another team. Big mistake! The person turned out to be totally unreliable. |
| Sun 17 Nov | Stephen Jones | There is another very good reason for having at least two interviewers on the panel, and that is that the candidate is also interviewing you. If there is only one person doing the interviewing his attitude towards the company will be too influenced by his personal evaluation of one person. |
| Sun 17 Nov | dmooney | I have also had very good results pair-interviewing w/ another fan of the guerrilla guide. Another good reason is that different people remember different things about the interview, which can last hours. So when going over how the candidate performed I may be thinking he blew a question and the other interveiwer might point out something the candidate said that I missed. It definitely helps to have that redundancy especially w/ the marathon interviews we give (3-4 hrs just w/ me and my collegue on top of the time spent w/ other managers and engineers who don't follow the guerilla guide). |
| Sun 17 Nov | one programmer's opinion | Joel's hiring guidelines work for his company. At many companies programmers must do more than simply sit in a cube and pound out code all day long. When this is the case, you can't just ask a few problem solving or coding questions. There are no 'silver bullet' solutions to finding the right employee. Personally, I feel companies put too much stock in the interview process and neglect to use the probationary period properly to evaluate a job candidate. If the new hire doesn't work after a week or so fire his or her ass. The cost of hiring and then firing someone during the probation period is normally not that much. A bunch of paperwork has to filled out but besides that.... |
| OT? Source control for accountants... | Sun 17 Nov | Rhys Keepence |
| Hi all, I have a quick question mainly to serve my own curiosity - does anyone know if the accounting world has discovered version control systems? My girlfriend, who works for a large accounting firm, was away on business last week. She and her collegues take their laptops, and work from each others shared directories. They came back on friday, and synchronised each others changes by copying relevant files (from 100s of files they all worked on) into a shared directory on a master server. Anyway, it seems that one of her collegues overwrote some files while copying their part onto the master server, and they lost about a half days work. So she was in at work today with the others, trying to fix the mistake. I told her their setup was ridiculous, and explained that even in my 15 employee consulting company we have systems to ensure that our code is versioned, mistakes can be undone, and if I loose my laptop half way around the world I dont loose any code. So basically, Im mildly curious to know if there are any products out there for this type of work. I think the typical developer systems such as CVS and VSS are not really suitable for their work, but surely they would work better than the current system? |
| Sun 17 Nov | Frederic Faure | As you know, source-control doesn't work too well with binary files, which is most likely the format those business data are in. But then... why don't those data live in a database instead of independent files to begin with? Then, users could run the sync tool provided by the database manufacturer to synchronize the work done on their laptop to the database server. FYI, Lotus Notes ( http://www.notes.net ) is quite good at syncing stuff. I have yet to find another tool, ideally open-source, that lets users work off-line, in a WYSIWYG environnement, and sync when they're back at the office. |
| Sun 17 Nov | Bella | If they are on Win2000, you just choose 'Tools->Synchronize' If there are locking issues, it keeps both versions (and renames them) If there are 100's of files that are simultaneously being edited, this clearly is not a robust solution. But this is how I synch my desktop and laptop, and it works fine for me. |
| Sun 17 Nov | tapiwa | If all they did was copy files to the server, then by definition, they should still have the originals on their laptops. Without more detail, it is very difficult to say. What software system do they use to 'synch'? Like Frederic Faure said, CVS not ideal for binary files. Unless the applications that they use actually provides an audit trail, they are pretty much stuffed. Sounds like they were using something like Excel files. If they hose these on the file system, then they are pretty much stuffed. Check out something like openACS http://openacs.org . It is a web toolkit that you can use to build an intranet type service among other things. There is an effort currently going on there to provide a standard intranet 'distro' dotWRK. This is based on dotLRN http://dotrn.org , which is built on openACS. One of the things it gives you (amongst many others) is a file storage service, both personal/private and shared. What it does is that when you upload a new version of the file, it keeps the old version. So while it may be the same file, you will have copies of all the versions you have uploaded. Something like you describe happens, and you just revert/download an older version. |
| Sun 17 Nov | tapiwa | my bad... the dotLRN url is http://dotlrn.org and not dotrn.org |
| Sun 17 Nov | Ori Berger | CVS is not simple to set-up, but once set-up, I think Tortoise CVS is reasonably simple. Branching or tagging might require more understanding, but 'Commit', 'Update' and 'Add' are simple enough and work beautifully. http://tortoisecvs.org |
| Outsourcing | Sat 16 Nov | Rasmus Grunnet |
| My company has a problem: we dont have enough developers to finish the work that we have for the next couple of months. When looking at possible solutions, I checked out different companies that offers outsourcing. I have no experience what so ever with outsourcing programming work. Therefore, I would like some advice. First of all, is outsourcing worth anything? I guess it works for Microsoft, but can anybody else make it work? What are you suppose to look for in a company offering oursourcing? What additional work does it give you? Does anybody have experience with asian programmers, especially chinese? I know everybody else is going for India, but my company has an office in Shanghai, so that would make things easier, I guess. So, what do you say about? Any advice, thoughts, comments that you would like to share. Rasmus |
| Sat 16 Nov | Giorgio Galante | Rasmus, My suggestion is to talk to some of your local clients' (if you have any) and ask if they have any IT consultants they recommend. I work for a consulting company and that's how we get alot of our business. Word of mouth. I would recommend staying local though. Telecommuting is ok (I work from my home office 75% of the time) but most of the time you'll need some face-to-face time. |
| Sun 17 Nov | Krzysztof | Microsoft doesn't outsource programmers. Just FYI. |
| Sun 17 Nov | Liron Levy | Steve mcconnel has a very good article about software outsourcing. Go to http://www.stevemcconnell.com/articles/art07.htm for more general information on the topic. Of course you'll need to make sure that the guys doing the outsourced work have acceptable working experience, they need to write using your coding conventions, use your source control system, write decent documentation for their design etc. You also need to nail down the requirements to a very detailed level. Otherwise - you'll need to pay for each undocumented requirement later (in general - assume that every undocumented requirement, even if it makes sense will not get done). And, finally - work only with companies with high recommendations. You don't want to experiment ... Good Luck |
| Sun 17 Nov | Stephen Jones | Are you sure you want to 'oursource' to get your next two month's work done? I thought outsourcing was something you did with non-core parts of your business, either because they were too difficult to do inhouse, or because they were very basic non-urgnent stuff you could send to a lower wage economy (transferring paper forms to electronic forms for example). I would have thought you would have needed to do a load of planning. If you're overworked won't you find having to write the specifications for the foreign company to actually make the short-term problem worse. Couldn't you get some temps to come in and work with you. If they're physically in the office you will have less need to spend time on detailed documentation. If you are going to outsource I would make sure you have a senior member of the team on the spot at the outsourcer's site. |
| Sun 17 Nov | Bella | This sounds like a sneaky way for your MGMT to get you to oursource youselves. Last poster is right, it makes no sense to outsource overseas for 2 months worth of work. I bet they are dipping their toes for a larger long term plan. Be careful. |
Sun 17 Nov | Matthew Wills | Rasmus,
My company has a problem: we don't have enough developers to finish the work that we have for the next couple of months.I would consider whether the most appropriate response is 'throwing people at the problem.' The Mythical Man Month (book by Brooks) would suggest it is not always the most logical response. Seeya |
| Java and .Net both a Disaster: Research | Sat 16 Nov | at the bellows |
| This ZDNet send-up of a Gartner report is an example of piss-poor journalism. Nonetheless the type of thing that people like to talk about. Java and .Net both a disaster: research http://www.zdnet.com.au/newstech/enterprise/story/0,2000025001,20269968,00.htm Has anyone seen the Gartner report this article is supposedly based on? |
| Sat 16 Nov | crusty admin | J2EE = Java is your hammer, use it everywhere, make it fit! .NET = Environment programmers rave about. It's UI GUI delicious, writes most of the code for me. I think it is valid to point out that a single solution or the nicest looking tool is sometimes not the best choice. There is a reason C, C++, Cobol, and Assembly are still around they work. I don't need some hyped up middleware (application server) or runtime 'environment' to be successful. Of the two I think .NET will win, not because it is technically superior, but because it has better tools and less choice. Yes I said that, less choice. No need to play platform and application server matching. J2EE is just overly complex. J2EE reminds me of the poster on despair.com 'Consulting. When you don't have the answer, there is good money to be made prolonging the problem. It is sad after 40+ years of programming we can't come up with tools that offer any more reliability than the old ways, especially when it comes to business type applications. Cobol shines, all we have done is make desktops prettier and added complication because there are about 50 layers of abstraction. I say piss off J2EE and piss off .NET. We didn't need you before and we don't need you now. You add nothing but cost, vendor lockin and shiny tools and yet another degree of separation from what is really happening. I am not bashing tools that make things easier for programmers, I am bashing technology that promises the world and strings you along wasting time and money. VB, Delphi, and Access are all good and capable tools too and they don't claim to be the answer to everything. |
| Sat 16 Nov | Giorgio Galante | I have to disagree with you on a few points. .NET makes life much simpler on the programmer (simpler == more productive). You generally don't need to worry about the Win32 API, pointers, etc. Obviously some of these things apply to Java/J2EE as well. Where I think .NET shines is the toolset (VS.NET is a developer's dream compared to Websphere Studio et al (Eclipse, Netbeans, etc)) << We didn't need you before and we don't need you now. >> Have you tried creating a Web Service with VB or COBOL? Interoperability is becoming a big issue these days and companies are going ahead with Web Services in their overall software architecture (I met a few developers from a large financial company in Boston last week at a .net training class. All depts at this company have been moving to Web Services for intra/inter-department development.) It's just not doable/practical without J2EE or .NET. If you try VS.NET you'll see how amazingly simple it is to create a web service. And that's not all .NET has to offer - look at the ASP.NET architecture. It's light-years ahead of old ASP/PHP/etc in terms of development tools. Which translates into productivity for you and me. << You add nothing but cost, vendor lockin and shiny tools and yet another degree of separation from what is really happening. >> I'm also tired of hearing about 'vendor lockin.' Especially when it comes to J2EE/Java. Take your pick of J2EE Server: Weblogic, Websphere, Oracle9i App Server. They all have proprietary extensions that try to give themselves advantages over their competitors. Sure, you can choose not to use them. But if it comes down to implementing your own version of EJB-XYZ and 'wasting' X weeks time so that 'someday if we decide to switch' when you could have just used the App Server's extensions; Management will decide to use the extensions. It all boils down to resources: Time & Money. If someone were really, really, really worried about vendor lockin and graduated from Crazy-Go-Nuts University and owned several banks, they'd hire Comp. Engineers to create a computer architecture, a herd system engineers to develop an OS for it, not to mention software engineers to create the software for this OS. Then you have become the vendor & consumer. and can do what you like. Until then, we are 'stuck' with Windows, Linux, et al. Personally, I've used Websphere for about a month and didn't like the slow IDE & near-impossible-to-configure server. (I run a 1.4ghz machine with 1.5gb RAM) In comparison, VS.NET kicks its butt all over the place. Reliability/Scalability may be the only thing that .NET has to overcome against Websphere...if you can get Websphere working that is ;-) But I digress. If VB, Delphi, Access, etc let you do all the voodoo that you need to do...that's great. But some of this 'shiny new stuff' is very promising - just like VB, Delphi & Access were when they were released. |
| Sun 17 Nov | crusty admin | Giorgio, I agree with you about the web services being easy in J2EE and .NET. If they are truly important (hint: they aren't yet by a long shot) there will be more tools to do them with than J2EE and .NET. 'But if it comes down to implementing your own version of EJB-XYZ and 'wasting' X weeks time so that 'someday if we decide to switch' when you could have just used the App Server's extensions; Management will decide to use the extensions. ' Exactly, now we have vendor lock-in. What I gather about web services is that they amount to glue to connect disparite systems or give a third party access an internet capable api. That and they help XML seem more important than water itself. Of the two, .NET will prosper because it seems much easier to use, and can be used effectively by almost anyone with a computer and a 100 dollar copy of vs.net (vb, C#, C++, etc). Sure I can download J2EE and Forte or whatever it goes by today, but is it as slick and useful as .NET, heck no. |
| Sun 17 Nov | Bill Carlson | I agree with Giorgio wholeheartedly. It's difficuly for me to understand the loathing that some people have for 'dumbed down' platforms, such as .NET/Java. There are fundamental truths that need to be accepted: - .NET/Java will not make a bad programmer into a good one. - Sometimes, .NET/Java can make a bad programmer look like a good programmer for a while (esp. UIs), but things are really a horrible mess internally. - Beware financial 'conflict of interest' from your vendor. i.e. Microsoft advocating 'scale-out'. - Cross platform programming to avoid lock-in is usually a loser. How much do you lose by only using the 15 functions that 'actually work' on all five target platforms? And if you do lock in, is Oracle or IBM really a better buddy than Microsoft? - Some of the default libraries in .NET/Java are 'easy', but grossly inefficient. Usually, this is okay. Sometimes, it's not and you need workarounds. Is this any different than C++? - .NET in particular makes coding go amazingly quickly. This means a higher percentage of engineer time spent going 'what are we building? how will it work? what are the 'business rules?' Some programmers don't like or are not very good at these tasks. When their 200 lines of C code become 12 lines of C#, their focus and time usage has to change and some developers are resistant. - Not everything needs to be 3-tier. You're not 'bad' if you put your business logic on the client. Don't believe someone that says their architecture is the 'only way'. - Web services don't solve business problems of communication, reliability and trust. Usually, these are larger problems than what basically amounts to 'how can we use XML instead of ASCII to chuck around some database rows?' - .NET/Java don't 'change everything'. They're just better ways to abstract and simplify the moving around of bytes. Under the hood, it's all just processor instructions. Fortunately, the abstraction is still shallow enough that a very good engineer can still understand how .NET stack frames and garbage collection work. It's not scary. Personally, I think .NET is the greatest thing since sliced bread. This is coming from someone who's written multi-tasking kernels in assembly language and done custom boot sectors for hard drives. Do we need .NET and Java? No. We also didn't 'need' C, C++, OOP, etc. Why did these technologies help? Because the human brain has limits, and when many brains are working together, the complexity of tasks than can be tackled goes down. .NET/Java can be inefficient, especially if used incorrectly. Inefficiency exists all over the place, though. The frame of a house is built using mostly 2x4 lumber. What should this tell you? Most structural members are stronger than they need to be. Sure, you could 'optimize' a house by buying specially sized lumber for each portion. You might even save some money. But you will have spent a lot of time, had to hire expensive craftsman, and the buyer of the house won't care either way. As a general rule, any idea that requires people to get a lot smarter is a loser. The correllary is that ideas that allow (but don't require!) people to be less intelligent are winners. Sorry for the ramble. Thoughts? |
| Sun 17 Nov | Simon Lucy | I can, anyone can, create web services without having the humongous architecture of .NET. It can be written in any of the existing languages and dialects that we already have. That has been true for at least the past ten years. If this were the reason for .NET then it would fail as all such unified 'the universe is this shape' platforms tend to fail or atrophy over time. .NET is about ubiquity. Its a model that says what is good for an intranet system;tightly bound controls, components that run consistently and are off the shelf; is also true for distributed applications. It depends upon selling the idea that you want to ship packaged components and data across a variably sized pipe. The level of abstraction (this month's word), is at a level which hides vitually all of the gubbins of the protocols and bit twiddles needed to accomplish that. On the face of it this reduces the amount of knowledge required to build distributed applications. Its tempting to think that reducing the perceived skill required to produce applications is about the worst result for existing practitioners, even though this leaves practitioners with being accused of making things complicated in order to justify delivery times and costs. .NET though is not a 'one size fits all' solution. A distributed application on only one client platform on only one server platform (which isn't going to be completely ready for a couple of years), tends to imply that the application is dependent upon that platform and how that platform develops. It may make creating the application today simpler, in the end though it might just well be another dead end that will need redeveloping within three years. On the other hand I can't really judge Java, J2EE and such in the same way. Its still on a single platform since its an abstraction of a platform. There are simple ways to make agnostic web services that don't depend on a particular library, component architecture on the client simply because it can be treated as a language. Its as straightforward to create a web service in Java as it is in Perl. In reality all of the problems that Java claimed to fix and .NET claims to banish are illusory. So long as the messaging protocols between client, intermediate tiers and servers are well defined it doesn't matter what any of those tiers are written in or which platform they run on. Choose the language/platform that makes sense for the particular tier that's being developed, factor in all the available developer experience both current and employable as well as the costs involved. .NET or J2EE may well be chosen as a result, but don't try and fit the solution into the box, build the box around the solution. |
| Sun 17 Nov | Walter Rumsby | C'mon, I know religious wars are stupid, but comparing Visual Studio.NET to FREE Java IDEs (Netbeans, Eclipse) is silly. Compare VS.NET to IDEA. That's fair (IDEA wins). |
| Sun 17 Nov | one programmer's opinion | Crusty Admin, Can you say component-based software development? VB, Delphi, and Access are all good and capable tools, but they don't allow developers to build plug n' play enterprise software systems. Corporations love the concept of building compoent-based software systems because it is hoped that this method of software development will allow them to outsource the majority of the work to distributed project teams. |
| Sun 17 Nov | Giorgio Galante | Walter Rumsby Writes: << I know religious wars are stupid, but comparing Visual Studio.NET to FREE Java IDEs (Netbeans, Eclipse) is silly. Compare VS.NET to IDEA. That's fair (IDEA wins). >> Alright, lets compare SharpDevelop to NetBeans, Eclipse, Websphere et al. It's just as free. It's much more responsive/crisp. The Java-based IDEs 'feel sluggish...like a wet sponge ;-)' I don't think you can put IDEA up next to VS.NET. (Coming from Visual SlickEdit 7) I've messed with it and was unimpressed. Personally, for non-GUI related stuff I prefer Visual SlickEdit. But back to the point. IDEA costs $367. You can get VS.NET or JBuilder 'Learning/Standard' editions for much less and you get much more. Put VS.NET up against JBuilder, now maybe you've got some level of competition. But to be honest with you - I wouldn't trade VS.NET for JBuilder. If Microsoft can manage to port the .NET Framework to *nix, Java will be in serious jeopardy. The Mono Project is currently trying to do an open source implementation, but who knows how long that will take to get the full class library built. Ok, I'm not trying to start any IDE/Dev-Platform wars. Suffice to say, Microsoft has built a great set developer tools. Honestly, I'd be quite happy if Sun/IBM/etc build a great, fast, intuitive IDE ala VS.NET for Java. |
| Sun 17 Nov | Giorgio Galante | Ah Crap! the URLs in my last post should be http://www.icsharpcode.net/OpenSource/SD/default.asp and www.go-mono.com |
| Sun 17 Nov | Lemmings on Scooters | Giorgio: Have you tried creating a Web Service with VB or COBOL? You say that like it's something everyone's supposed to be doing. Can someone tell me why I would want to create a web service in the first place? What exactly is this new architecture going to solve? I frequently read about the failings and complexity of software, yet the whizzbang technology of the decade never seems to address these problems. Come to think of it, OOP didn't really live up to its promises either. Time to move on to the next big thing, I suppoze. |
| Sun 17 Nov | crusty admin | Lemmings, to tag onto your post. When software development fails, why does it seem the new or better way is always more complex. We need more K.I.S.S. when it come to programming. A giant new framework or new approach is not always (rarely ever is) the answer. |
| Sun 17 Nov | Giorgio Galante | Lemmings on Scooters Writes: << Giorgio: Have you tried creating a Web Service with VB or COBOL? >> Does it really matter what I've done? I've done the closest thing there is to a web service in Lotus Domino (VB-like syntax) which is to call a function from a URL and return some data. Is it intuitive? Not really. Does it use a standardized format? No. Are the debugging tools decent? Hell no. VS.NET Does one hell of a job in letting you debug web based projects (including Web Services) in my opinion. I don't think COBOL or VB will let you step through a Web Service call. << You say that like it's something everyone's supposed to be doing. Can someone tell me why I would want to create a web service in the first place? >> Not 'everyone' should be doing it. Only the folks who happen to work with systems without common interfaces. Middleware/Integration folk. Web Services is essentially a way to call a function remotely through the http protocol and return some XML data. << What exactly is this new architecture going to solve? >> It's going to allow inter-system communication/processing using a standardized interface & data format format (XML). Imagine a room with 14 people who spoke 14 different languages but they all the ability to read/write in English (for example). While it isn't their native language, they could communicate with each other by writing messages to one another. That's what XML/Web Services gives you. And .NET/J2EE facilitate this. And this is a Good Thing. As far as I know you can't create a Web Service with COBOL (maybe w/COBOL.NET). And I'm assuming it's possible but much more difficult using VB than .NET. << I frequently read about the failings and complexity of software, yet the whizzbang technology of the decade never seems to address these problems. >> I hear this often enough. If you learn .NET you will realize it simplifies your life as a developer. Example: My first .NET project for work was a web page that allows a user to upload a file (Sales Memo) and email a notice to a bunch of people with a link back to the sales memo file. It's less than 20 lines of code. I don't think you could achieve that with VB or COBOL. Yes you could with XYZ scripting language. But have fun debugging it. Again, for me - it's all about the developer tools!!! The better the tools we use, the more time we spend coding on the logical part of our code. << Come to think of it, OOP didn't really live up to its promises either. Time to move on to the next big thing, I suppoze. >> Maybe for you. Personally I think OOP makes you think more about the structure of your program. OOP does work. No, it's not magic. Yes, lots of things are Hyped. .NET/Java/J2EE/OOP/WebServices/COBOL/C/Pascal included. If we all had this mentality we'd still be sititng in buggies getting pulled by horses because the first cars sucked ;-) Lets not forget that the PC industry is very young and so are our tools. These are the growing pains. If you don't like learning new stuff, new technology, it's tough to imagine why you'd want to be a programmer. Look at all that's changed in 40 years. How many microcode or assembly-lang programmers are there out there? Yeah, there's a very select FEW. But the majority have moved on. Lunchtime! |
| Sun 17 Nov | Lemmings on Scooters | Hi Georgio-- 'Does it really matter what I've done?' I was quoting your post, not directing that question at you. Pardon for the confusion. 'Web Services is essentially a way to call a function remotely through the http protocol and return some XML data. ' Hmmm... XML-RPC over http. How new. I recall doing that in the mid 90s, although it wasn't nearly as sexy then. Apparently this concept has gone mainstream, for reasons I don't yet grasp. 'It's going to allow inter-system communication/processing using a standardized interface & data format format (XML). ' I'll have to remember that one for my CIO. Boy will he/she be impressed-- never could resist a seductive, new and complex paradigm. 'My first .NET project for work was a web page that allows a user to upload a file (Sales Memo) and email a notice to a bunch of people with a link back to the sales memo file.' If this type of example has got you all starry-eyed for .NET, then frankly there's no cure for you. Sounds like a great elixir for folks with little or no expectations ('Come look fellas!! I just created a... wuh-wuh-web service!!'). Go forth and crank out those earth-shatteringly new solutions, 20 lines at a time. :^) 'If we all had this mentality we'd still be sititng in buggies getting pulled by horses because the first cars sucked ;-) ' I've looked at .NET, and this ain't like going from horse-driven carriages to the automobile, that's for sure. It's more like thinking your new Chevy is a Mercedes just because the car salesman sold you the 'True Coat' rust protection. There have been incremental improvements in computing, for sure. I'm not in favor of turning the clock back to microcode and assembler. I'm in favor of simple, usable technology, not an ever-rising tower of technologies that consists of one leaky abstraction built on top of another. When .NET/J2EE hysteria begins to wane, you can be sure that the vendors will concoct a new sexy paradigm. After all, they need to sell to keep this merry-go-round spinning. And yes, I'll probably still be bitching about it. :^P |
| Sun 17 Nov | Giorgio Galante | << If this type of example has got you all starry-eyed for .NET, then frankly there's no cure for you. Sounds like a great elixir for folks with little or no expectations ('Come look fellas!! I just created a... wuh-wuh-web service!!'). Go forth and crank out those earth-shatteringly new solutions, 20 lines at a time. :^) >> Eh, it was just an example of how easy it is to do things ;-) It doesn't get me starry-eyed. << Hmmm... XML-RPC over http. How new. I recall doing that in the mid 90s, although it wasn't nearly as sexy then. Apparently this concept has gone mainstream, for reasons I don't yet grasp. >> How easy was it to do back then? (Really - I don't know) << I've looked at .NET, and this ain't like going from horse-driven carriages to the automobile, that's for sure. >> Sorry, I should have clarified - the Web Application (ASP.NET) side of the .NET house is certainly like going from a horse-driven carriage to a car. Building a large-scale n-app with ASP/PHP is much less manageable than ASP.NET's model. Plain and simple. You mentioned you've looked @ .NET - have you tried VS.NET yet? If you haven't - I suggest you give it a whirl before you dismiss it as just a 'new shiny marketing ploy.' << I'll have to remember that one for my CIO. Boy will he/she be impressed-- never could resist a seductive, new and complex paradigm. >> I didn't ask you to be impressed. Personally a good chunk of my work is getting systems to work together. Right now I have to integrate a Remedy Helpdesk/SQL Server backend to a Lotus Notes/Domino database/application. It's a major pain in the ass because they can't talk to each other except through SQL, but you have to jump through some hoops to get Remedy to play nice. Lets say that in the next release, Remedy Helpdesk includes Web Services support - my life will be that much easier (the new/next Lotus Notes/Domino R6 includes Websphere for Web Services support.) I'm interested in what makes me more productive. And .NET/J2EE/WebServices have the potential to do that. |
| Sun 17 Nov | Lemmings on Scooters | Georgio-- Your experience with .NET sounds like a good one, but I still see it affecting the overall prospects for software. Hey, a fancy IDE, code generator and new architecture just might make strides toward software that's usable and reliable. Feels like I've chased that mirage before, though, only this time we're using new acronyms. Despite incremental improvements of these platforms, I haven't seen anything in Java or .NET that demonstrates the programming world is serious about tackling fundamental problems. I'm probably asking too much. In the mean-time, isn't that new VS.Net simply georgeous!!! |
| VB6 ListView Missing Values | Sat 16 Nov | novice |
| Hi, I have a list view in a form that contains missing values after it populates. After hours of agony and desperation, I finally realized that because I set the .sorted property to true (in runtime), that it was dropping values as it populated the list? I guess it attempts to enforce the sorting rules as it populates? So I moved the .sorted = true code to follow the population of the listview, and everything is cool now. Im not sure what my question is, but, like, how could I have not lost all those hours - searching and testing all kinds of other confusing crap that got me nowhere - and just gotten it right the first time. Translation: am I missing something? I.e., some broad, general understanding of how things work, and do I need to educate myself in some obvious way that Im not aware of? Thanks, ic |
| Sat 16 Nov | Evan | 'Translation: am I missing something? I.e., some broad, general understanding of how things work, and do I need to educate myself in some obvious way that I'm not aware of?' Probably. |
| Sat 16 Nov | novice | But you don't know what that is, either? |
| Sat 16 Nov | Alberto | Novice - the answer is in your name. You need experience, that's what's missing. Keep trying, soon you will have solved that particular problem in about 30 seconds. |
| Sat 16 Nov | Alberto | 'Soon', is of course, a relative term. |
| Sun 17 Nov | Troy King | Novice -- Alberto is right. At least you did manage to solve the problem, and now you know about that, at least. A lot would have quit right there, so that says that you've got the sticktuitiveness to make it. We've all been through stuff like that, and I think even the most seasoned of us still goes through it every time something behaves unexpectedly. Now I'm not familiar with how that particular encapsulation of the list view works, so maybe the documentation told you that would happen, but assuming it didn't, this sounds like a normal live-and-learn situation that we all deal with. |
| Sun 17 Nov | Matthew Wills | Novice, Maybe join a VB list (such as http://peach.ease.lsoft.com/scripts/wa.exe?A0=visbas-beginners )? Seeya |
| Dead wood II | Sat 16 Nov | Why Me |
| This is a sequel to my previous post about a web site I converted from HTML to XML. I want to get some opinions on how to deal with this, because I foresee more trouble on Monday. My Perl script did an ok job, I think, of getting the content out of the HTML, but a lot of manual work had to be done anyway. The HTML spanned 5 years and there was no consistency about how it was formatted. Betsy, a help desk person, was supposed to do the manual work but didnt. My manager argued with Betsys manager and finally he lost, and I had to do the work, which took about 2 months. I hated every minute of it, but wanted to seem helpful and cooperative. I have about 7 years of programming experience so I consider myself average, not great (yet). Anyway, Im concerned that being cooperative and helpful may have lowered my status in this office, and I wonder if it will ever be possible to recover. The XML web site is live now. The author (in another state) never had much chance to look at it until after it opened, and he has been e-mailing lists of things that need correcting. I have informed everyone that I am only making changes or corrections to the programs, and all clerical work from now on should be directed to Betsy. Of course, since Betsy only spends about 2 hours a week working, almost none of the corrections on his lists have been made. I dont know what my manager will do. The author will get angry if the corrections arent made, but it seems that no one has any control over Betsy (shes been there 15 years and has lots of friends). My manager has been even more irritable than usual lately, and maybe this is why. Maybe on Monday hell ask me to go ahead and do the corrections, rather than keep waiting for Betsy. I have 2 reasons for refusing to cooperate -- one, I already did far more than I ever should have of mindless repetitive work (Im smart and have a Ph.D., although not in CS). Two, being nice might have lowered my status and prospects for success in this organization. Im not naturally assertive but I love interesting work and hate boring work, so I do not want to be stereotyped as nice but not too smart. If my manager tries to make me do the corrections should I: a) Just say no. b) Quit. c) Say I want to speak to the director. d) Have a long conversation with my manager about how I feel about all this. e) Shoot myself. f) Other. |
| Sat 16 Nov | frankman | The only winner in this seems to be Betty. So do what she does, don't give a fuck! |
| Sat 16 Nov | J. D. Trollinger | Beats the hell out of me. There's no clear answer to this one. I'd suggest looking around for a better job. |
| Sat 16 Nov | Because you're there | It sounds like your manager should be the one to do this, and what he should do is go screaming to the Big Honcho's office and say: 'Look this is really f--ed and we need to sort it out.' Of course it takes balls to do this. From your point of view, go and support your manager and encourage him to see the Big Honcho with yourself. |
| Sat 16 Nov | Alberto | Ask to hire a temp to do Betsys job. Whatever you do don't do it yourself. Take a nonchalant and casual attitute towards Betsys job, expect it to be done ASAP, offer to help if she has problems understanding just what she needs to do, draw the line at physically doing it. Stand back. Only provide written progress reports, make then a weekly occurance, be totally unemotive, make sure whatever Betsy has been assigned is in black and white. After about 3weeks management should get sick of seeing 0% next to her assigned tasks. The key to this is that you are busy yourself, you must have NO spare time to do Betsys job. Otherwise, start looking for something else. |
| Sat 16 Nov | Nat Ersoz | Personally, I would just make the corrections myself. You're in there anyway, just do it, get it over with and try to get onto something else ASAP. Its a very difficult time to be looking for work. But that doesn't mean impossible. Until you find an exit strategy, I would do the best work possible in my 8 hours per day. |
| Sun 17 Nov | Bella | People who fall back on their degrees as an excuse for not doing certain tasks are anoying to everyone. Don't play that card. Perhaps you should work this out b/w you and Betty? Appeal to her rationale, everyone likes to learn new stuff. Tell her she'll be more marketable, etc |
| Sun 17 Nov | tapiwa | I would second Alberto... provide a weekly progress report and task lists. cc to Betty, your manager, and senior management. In the meantime, when you assign tasks, get Betty to agree to do them... Ask her for a timeline as well. I would do it via email, instead of verbal. You can then turn around to Betty and say 'Look where is that XYZ you promised me by today/last week?? I can't do my job otherwise.' If she commits to a delivery schedule, and she does not deliver, then it will be her doing the explaining, and not you. If she refuses to commit, then you can tell mgmt that you are doing all the grunt work, and that if they are happy to pay you PHD money to parse text files, then fine. Either that or they hire a temp? Mgmt will either say, 'Yes, it's your job.' In which case, staying or leaving is your call. They could say 'Bring in a temp.' in which case problem solved. This would naturally lead to ... 'why is Betty not doing this??'. Problem still solved. |
| Sun 17 Nov | Why Me | [People who fall back on their degrees as an excuse for not doing certain tasks are anoying to everyone.] No one there knows I have a PhD unless they saw my resume, or heard from someone other than me. I keep it a deep dark secret unless someone specifically asks what my degree is. But I would NOT have taken this job if I had any idea I would be given such a large amount of clerical work. I hate to be mistaken for a secretary. There is nothing wrong with being a secretary but if you're female like me you get sick of people always assuming you are not educated. They don't assume that about men. The male programmers (and almost all are male in this office) do not have this kind of problem. The ones with PhDs are treated with respect. Do you think anyone ever dreamed of saying 'Oh Dr. Smith, my secretary is on maternity leave could you please do my typing for a few months.' No, it would never happen. Therefore I have to wonder, Why Me? |
| Sun 17 Nov | Nat Ersoz | We recently had one of our HR people leave because she wouldn't play the role of receptionist. My respect for her was only enhanced by her actions, because I tell ya what, I'm not answering the damn phone - neither would the people she was fighting with over the subject. So, you do have some pretty good feedback here. The status reporting, tasking, scheduling idea - well that's something everyone should be doing anyhow. My manager never asked for a status report - I send him one each friday anyway. Its good for me and good for him. It is definitely time to move on. Always keep your integrity and do your best. No one can argue with results. Why you? This is not unique to you as you saw in Dead Wood I. Unfortunately its rather widespread. We still have some minor player Betsies hanging on. (one male, one female) Their time is short. |
| Sun 17 Nov | Ed the Millwright | Do you have a written job description? Does it say 'Senior Software architect, plus Secretarial and Janitorial duties as assigned'? I would argue that the work is outside the scope of my employment. If they insist you do it anyway tell them they will have to add it to your description and increase your pay by $50k/year so that YOU can hire a secretary to handle the clerical work. If you don't have a written job description this is just the sort of situation where you realize that it is critical to have one. Also, NEVER let anyone put 'other duties as assigned' on a description - refuse to accept that when considering on offer. Just say 'Hey, that's not defined? Would it include having to kill people? No, how about having to wash the bosses car? No? Well lets go ahead and try to make that more defined for both our benefits.' |
| Sun 17 Nov | Stephen Jones | Some suggestions: 1) Just do it until you can get another job. Nat's original advice and mine too. 2) Arrange for someone else to do certain specified actions - who it is is not your business - and either give the writer their e=mail or arrange for them to report to you and you to write the status reports as Alberto suggested. It's looking to me as if something has gone seriously wrong here. Why for example wasn't the writer kept very much within the loop? I suspect you were presuming your manager was in charge of the project and he was presuming you were, or that it would run itself. And I'm still puzzled as to what are the 'clerical' tasks Betsy can't do. Are you sure that they are in fact not much more difficult than you think? Also, in my experience it is actually quicker to type a letter myself than to have to explain to somebody how to do it. You should certainly expect up to 30% of your work to be low grade clerical work, simply because explaining how to do these kind of things to somebody else will take up pretty well the same proportion of your time, and you will actually have less control over your time management. |
| Sun 17 Nov | Why Me | I'm a programmer/analyst. I forget the exact wording of the job description but I have a copy at the office. I specifically asked my manager about this at the interview. I get bored very easiy and I would never have taken a job that requires a lot of data entry or clerical work. He assured me there would be very little of what he called 'unglamourous' work. |
| Sun 17 Nov | Stephen Jones | 'He assured me there would be very little of what he called 'unglamourous' work. ' And you believed him! Every job carries a large proportion of grunt work. College lecturers spend vast chunks of their time entering marks, attendances, and marking stuff that makes their eyes glaze over. And as somebody else pointed out in the first thread, if there is a lot of routine work look for a way to automate it If you 'get bored easily' you have a severe personality disorder that will handicap you in any type of work you do. The reason is that you will reach a degree of proficiency in any task that make large parts of it routine, whilst they still remain much too difficult to be palmed off on anybody else. |
| Sun 17 Nov | Why Me | [Every job carries a large proportion of grunt work. College lecturers spend vast chunks of their time entering marks, attendances, and marking stuff that makes their eyes glaze over.] Ok, you are misunderstanding. I have had various different careers and all involved some boring work. However, it was not day after day for months. The repetitive mindless jobs I had when I was young, before and during college, made me realize I had to get an education and qualify myself for something better. [If you 'get bored easily' you have a severe personality disorder that will handicap you in any type of work you do.] I meant that I am intelligent and need to feel there is some overall challenge in my job. Many aspects of programming would bore most people to death, but I happen to find any kind of programming challenging in some way. I don't have a personality disorder and have done various kinds of work very successfully. |
| Sun 17 Nov | Why Me | [And as somebody else pointed out in the first thread, if there is a lot of routine work look for a way to automate it] That is a ridiculous statement. If all work could be automated, there would be no data entry jobs. I spend my life trying to find ways to automate repetitive work, so why wouldn't it have occurred to me to automate this, if it were possible? I knew I'd be attacked this way as soon as I let it slip that I'm female. Dumb woman doesn't even know that computers can do repetitive work. |
| Sun 17 Nov | Leonardo Herrera | I'm amused by the fact that I would have screamed 'Ph. D.' out loud followed by a large string of obscenities, but that's just me. |
| Sun 17 Nov | Ed the Millwright | OK so you have a job description and it says 'programmer/analyst' not 'secretary'. That's it - bingo, you are all set. I had missed that you are female before but why bemoan it and accuse people HERE of being sexist?? That is clearly not the case -- you should put the blame for being sexist right where it belongs -- on your boss who thinks since you are a woman who won't 'put out' like Betsy obviously has, that you are gonnaa have to do clerical work. THey don't respect you as an analyst? Why should they when you keep avoiding doing your programming duties to do clerical secretaries work just 'to be helpful' and 'not offend anyone'. That is viewed as weak. You need to start kicking ass and learn those b*stards what it's like to deal with a hard-core b*! (I know you are not a b* -- it's just that you are going to have to learn when to stand your ground 'like a man'. When you do that, pansy men who feel threatened by your take-charge attitude will call you a b*. I know it sucks and it's unfair but you have to be prepared to deal with this sh*t so I am letting you know what is going to happen in advance once you take these M*f*s by the balls and let them know you ain't gonna take no more sexist sh*t off of their puny pansy asses. 'I have completed my tasks and am waiting for Betsy to finish the clerical work assigned to her months ago.' 'Well Betsy isn't going to do it, why don't you?' 'I consider that a sexist statement, Mr. Big Boss.' 'Er, what do you mean?' 'My written job description clearly says I am a programmer/analyst and not your damn secretary. I don't do clerical work and I don't do dishes. I am a professional. I notice that none of the other analysts in the company have to do this sort of work. That is because they are men and I am a mowen is it not? You can be assured that I have retained a lawyer and am exploring my options at this point because you are clearly in violation of USC 75.43.111.' Go to it! Let em have it and let us know how you kiked their butts. Those b*stard m*f*s really piss me off. |
| Sun 17 Nov | Hardware Guy | When you first posted your problem a while back, I suggested that you have a project post-mortem with your boss, asking for advice on how things could be done better next time. Did you do this? How did it go? |
| Sun 17 Nov | Why Me | [Also, in my experience it is actually quicker to type a letter myself than to have to explain to somebody how to do it. You should certainly expect up to 30% of your work to be low grade clerical work, simply because explaining how to do these kind of things to somebody else will take up pretty well the same proportion of your time, and you will actually have less control over your time management.] I feel exactly the same way. I consider clerical work to be a normal part of life, and it can even be relaxing to do something mindless. But you didn't read carefully -- I said it had taken up ALL of my time EVERY day for 2 months. I don't think many men there, or here, or anywhere, have experienced anything like it. Not only am I female, I am a very small female. Even if I wore pants to work it would not help, because everyone can see I'm harmless. |
| Sun 17 Nov | Stephen Jones | Dear Why me, What you are saying simply doesn't add up. First of all you complain that Betsy doesn't do a small amount of work and then you go along and say that actually what you are talking about is months of mind-numbing tedium. What kind of 'clerical work' ia it anyway? You've been talking about a web site used by one writer. How on earth can that provide months of routine work? And are you sure that Betsy is not stallng on it because she doesn't know how to do it, routine though it may appear to you. The fact that it can't be automated suggests that there is a minimum amount of skill involved. Go back to your manager and point out to him that you are a highly paid programmer and doesn't it seem a waste of the company's money to use you on routine tasks when you could be producing much more value for the company? And next time you get a project of your own inisist on having direct contact with the customer from day one. Apart from anything else you'd have got the company to pay a trip to meet the writer, or at the very least, if they paid him to come to you, an expense acoount lunch. |
| Sun 17 Nov | Stephen Jones | I don't know why you keep bringing your sex into it; there are men who do forty years of what you are talking about, let alone two months. Without actually being able to see examples of what needs to be done (how about giving us the URL of the site?) it's hard to make a jiudgement. I can make one comment which you might find useful for the future. If you had realized that you would have had to do all the manual work yourself would you have still designed the project the same way? |
| Sun 17 Nov | Why Me | [I don't know why you keep bringing your sex into it; there are men who do forty years of what you are talking about, let alone two months.] That's true. But they either didn't have a chance to acquire skills, or weren't capable of it, or didn't want to. The reward for working hard at acquiring skills is you are then qualified for a better job (I can't believe I have to explain this). [What you are saying simply doesn't add up. First of all you complain that Betsy doesn't do a small amount of work and then you go along and say that actually what you are talking about is months of mind-numbing tedium.] Show me where I said a 'small' amount of work. |
| Sun 17 Nov | Why Me | [What kind of 'clerical work' ia it anyway? You've been talking about a web site used by one writer. How on earth can that provide months of routine work? And are you sure that Betsy is not stallng on it because she doesn't know how to do it, routine though it may appear to you. The fact that it can't beautomated suggests that there is a minimum amount of skill involved.] There is a web site of 300 pages and Each one is a scientific article. My Perl script tried to find things like the date and the author's name, the main text of the article, etc. But there were no reliable markers for the script to follow. Nevertheless it extracted most of the text correctly. However the result had to be correct in every detail, not missing anything. My manager did not want to show the XML site to the author until it was perfect, so the author's expertise was not available to me. A proofreader was assigned to work with me and find anything missing or imperfect in the XML site. We went through the 300 pages about 4 times, which took 2 months. We probably caught most problems, but not all. The author was not allowed to see the site until a week before it opened (my manager's decision). He sent us lists of the imperfections he found. It's very little compared to the amount of work I have already done, but I decided I had to draw the line somewhere. If I offer to help Betsy with this, I will be finished before she ever starts. That's what happened before. The work is easy and I know she can do it. Her full-time job was to maintain the static HTML site (which would take a normal person less than 2 hours per week). She has almost nothing else to do, and has plenty of time to finish all the corrections for the site. The content management application I wrote will allow the author to maintain the site himself. Betsy will be free to take 8 hour lunch breaks. |
| Sun 17 Nov | Nike. | Somehow you've made your performance dependant on the willingness of other people, without the power to direct those other people. This is bad, don't rely on the goodwill of other people, if you are a naturally helpful person you can get burned by this one over and over again. You should manage your situation as a great opportunity to improve, it sounds to me like you have have unclear and ambiguous management instructions, this is where the work needs to be done, forget Betsy, distance yourself from her, concentrate on your management and Betsys management, do not be emotive. |
| Sun 17 Nov | Why Me | [take these M*f*s by the balls and let them know you ain't gonna take no more sexist sh*t off of their puny pansy asses.] I know how funny you think it is when women complain of being treated unfairly. It's just an excuse, and the real reason I'm not respected is because my work sucks. But actually, you only have to be half as smart, if you're male, to get twice the respect. |
| Sun 17 Nov | | You need to go to someone higher and make sure they understand there is a problem, however it's defined. Just implementing little tactics won't help. |
| Sun 17 Nov | George Leroy Tirebiter | Don't quit before you have another job lined up. Otherwise, get your ass out of there ASAP. Hopefully you can get a job in what your doctorate is in, that way you won't have to take much shit from anyone. Otherwise ... |
| Sun 17 Nov | Nat Ersoz | 'But actually, you only have to be half as smart, if you're male, to get twice the respect. ' Please don't go there, because it isn't so. Incompetence is widespread, and so is competence - being male or female has nothing to do with it. Don't let this cloud your vision or you'll only make life miserable for yourself. |
| Sun 17 Nov | tim | I recommend finding something outside work that you really enjoy so you have something to look forward to while working. It worked for me at least (seeing 36 films in two weeks at the local film festival was a fun way for me to spend a holiday, plus I got the benefit of looking forward to it for about six months.) Thanks. |
| Sun 17 Nov | lil' arnie | That really sucks, it sounds like you are in a no-win situation. Unfortunately a lot of my neanderthal cousins view women in black & white: either they are less competent, or they are a bitch. I've heard too many of my female friends complain about this kind of treatment to think there's not something going on. If this is the kind of workplace you're in, I would suggest becoming more of the latter. You're going to have to put your foot down. If that doesn't work, and you get tired of the job, then start looking. Otherwise, I had a friend that was doing what many considered to be 'beneath him' and was quite happy. He thought he was making out like a bandit because he was getting paid the same but didn't have to think as much. I'm sure you don't need me to tell you this, but next time/job be a little more assertive and don't cross over any of those lines. |
| Sun 17 Nov | Sosay | Why Me, Have you read 'Atlas Shrugged' Ayn Rand ? I have had many experiences similar to what you are describing. I think the crux of the matter has been touched on by a few people in this thread. 1 - 'In any conflict involving emotion, she who cares least about the consequences wins.' This slacker is able to get away with their behaviour simply because she is not concerned about what you, other employees and the author of the website think. 2 - 'If you can, you will be expected to, if you can't you will not'. (Ok i need a better sentence to sum this up). Capable people often find themselves having to bear the load because deep down they, and other people, know that if push comes to shove they _can_ do it. Incompetant people seem to regard competance as a blessing not a reward for effort. They never see the pain and stuggle that went into obtaining it, hence they don't value it. This problem of dealing with incompetants who create extra work for me and somehow end up making me feel problems are my fault are extra burdensome for me. I seem to be naturally survile and eager to please and am easily taken advantage of. My plan, which is working well so far, is to work only for organisations where ability is recognised and valued, where the people in charge can actually tell the difference between the dead and living wood. For me this has meant small companies and hopefully will end up with me working for myself. Another practical tool i used when i felt i was selling myself short at work with the treatment i was accepting was to start some inspirational projects at home, to remind myself of what i am capable of and what i enjoy. People who love what they do naturally associate their ego with their work, make sure that ego is getting some releif somewhere else in your life if you need to expose it to some short term bad treatment at work. Don't get discouragred, It's great that you can see you are being undervalued. _never_ let the treatment you get from others shake your own sense of self worth. If you have deep down feeling you were meant for something better, you were! |
| UI Books | Sat 16 Nov | Peter |
| Im going to buy a book on useability & UI design, and am looking for recommendations. I already have About Face which I bought and read some years ago. I thought that was an interesting but not outstanding book. I would like a book which has a good practical slant to it (Im a developer) and plenty of coverage of Web useability issues. I currently have a shortlist of 3 that Im considering - Joels book User Interface Design for Programmers, - GUI Bloopers: Donts and Dos for Software Developers and Web Designers by Jeff Johnson, - Dont Make Me Think: A Common Sense Approach to Web Usability by Steve Krug, Roger Black. Any impressions of these books, or any other UI books for that matter, would be appreciated. I would like to support Joel and buy his book but I am concerned it might not have enough depth to it. I guess I could buy more than 1 UI book but Im already buying a bunch of other books in this Amazon order, got to draw the line somewhere... cheers, Peter |
| Sat 16 Nov | Patrik | Peter, I bought Joels book, and I have not read any other in-depth book on UI-design. It is good enough for me to pick up the basics of UI-design, and my UI-design has improved. I have shown the book to some web usability, UI design people who works with UI and Web design professionally, and they have told me pretty much what I expected; Joels book contains no secrets or new things to them. However they said, that if you could bring every coder/tech guy to the level of understanding this book gives the world would be a better place, usability wise. You do not tell if you are a programmer or other software professional in your post, but I can say this; if you are a programmer with limited UI-design skills Joels book is a good place to start. If you will be doing UI-design as your primary thing you might want to check out other more in-depth books. |
| Sun 17 Nov | Farid | Buy Joel's. I think it's the most useful book I've ever read about Usability. Very practical advices, suggestions and how-tos. You'd definitely enjoy it. |
| Sun 17 Nov | Troy King | Peter, they're all inexpensive, and I've seen both Joel's and Steve Krug's books on the $5 - $15 rack at CompUSA. As for time to read, you can read all of Joel's book in one or two days in free time, and 'Don't Make Me Think,' which I enjoyed immensely, can be read in one or two sittings. I have not read 'Gui Bloopers'. The Steve Krug book is 100% Web stuff, and I recommend it highly. Joel's book is also excellent, but considering you can read most of it free online, if you're strapped for cash, you might want to go for 'GUI Bloopers' instead. |
| Sun 17 Nov | Jeff Winkler | While these aren't strictly UI books, they're thought-provoking and good background.. Don Norman - human factors thoughts Edward Tufte - information design and presentation Scott McCloud - theory of comics (Gotta read Joel's book-even if the info is covered elsewhere, it's sure to be entertaining) |
| Sun 17 Nov | Dan Maas | I've read 'Bloopers,' it's a decent book (despite the silly title) but don't make it your first buy. Get Cooper's 'About Face' or Joel's book first. 'About Face' is more encyclopedic, whereas Joel's skips right to the solutions. Another book that may interest you is Jef Raskin's 'The Humane Interface.' Raskin's ideas are pretty far out; the book deals with what could be done if one were to completely abandon contemporary desktop-style interfaces and start again from scratch. It makes for thought-provoking reading. (in contrast, 'About Face' and Joel's book are about how to make better use of the existing desktop-style design elements; they will be more helpful if you are designing a shrink-wrap Windows product, rather than something entirely new and different). |
| Sun 17 Nov | Troy King | Dan, you're so right -- how could I forget about 'The Humane Interface'. That one was excellent, and when Raskin tells about the projects he's worked on, like the portable word processor, it really does make you wonder why we can't fix some of what's wrong with current interfaces. I've also seen that one on the cheap rack at book stores, and recommend it as well. Good call, Dan. |
| Sun 17 Nov | Big B | Don't forget the official UI design guidelines, if any are available for your target platform. |
| Sun 17 Nov | Danil | On the shelf: Heckel, Raskin, Tog, Cooper, McCloud. Nielsen is next on my list - just picked it up this weekend. |
| Sun 17 Nov | Danil | Oops - forgot Pilgrim (Dive Into Mark) which is currently on hiatus. |
| Competing Offers -- Need Advice | Sat 16 Nov | Pulled In Two Directions |
| In a nutshell, Im being presented with competing employment offers under strange circumstances, and Im hoping that some people who watch this board with consulting experience can provide some advice / perspective on the situation. Im currently working under a 6-month contract for a very large financial services firm through a staffing agency. I was brought in in great haste to save managements bacon because a project had fallen far behind schedule, and they needed to have it brought back in line. In the interim, Ive played a major role in getting the project back on track, and my manager has indicated that she wants to keep me on past my current contract. It is in this context that I have been offered a full-time position with a communications firm (one that I had interviewed with prior to taking my current position), to start when my current contract expires. My dilemma is that the second party has required that I provide them with an answer by early next week, but I want to give my current employer an opportunity to put their cards on the table as well. I laid out the situation for my current manager, and she said that she would try to get budget approval for either a contract extension or a full time position for me next week, but that the time limitation could pose a problem. I am sympathetic, as it seems unfair for this communications firm to give me such a short timeframe for deciding on their (verbal) offer when they took their time to get back to me after our interview. A final little twist -- I noticed on one of the major job boards last night a posting for the position with the communications firm. I know they need to cover their ass in case I dont take their offer, but I smell a rat: what if I take the communications firms offer, decline an extension to my existing position, and then the comm. firm finds someone to undercut what theyve offered me? At that point, Id be SOL, or so it seems. So, how do I play this? I would prefer to stay where I am now (better pay/benefits, and Id like to stay in one spot for more than 3-6 months for a while, as Ive been jumping around doing short-term stuff for over three years now). However, I dont know how much I should trust my current manager -- shes very nice, and seems trustworthy, but shes got plenty of balls in the air, and (from what I can gather) a boss with semi-tight purse strings above her. Either way, I obviously want to ensure that I have a position waiting for me after this 6-month gig is over. Thoughts? P.S. My apologies to those who would kill for ONE job offer, nevermind two. My friends think Im nuts for thinking I have a problem here, but it seems that if I play this wrong, Ill be out of luck when my contract expires. |
| Sat 16 Nov | tapiwa | Simple, tell your manager that you want to stay, but that in the current environment, her promise to try and get budget approval is not worth the paper its written on. Sounds like your current employers are not putting all the cards on the table... They should either say we want you to stay, in this position (another contract vs fulltime employee) for this sort of money, beginning this date. If you can get the current employer to commit in writing to something then you are home and dry. If not, then you might want to accept the other offer... check out whether there is a get-out-of-jail clause in the contracts though. If the potential employer can still axe you after you accept but before you start, I would negotiate some financial penalities (or incentive not to kill the offer). If you really want to hold out for the current job, you could ask the new employee for a couple more days 'to go through the contracts' or something. Fairly standard procedure. Given the expense of going through the recruitment process again, they will probably cut you a bit of slack. In the meantime, remember the proverb 'A bird in hand is worth two in the bush!' |
| Sat 16 Nov | sam | On the one hand, the place you're at has something invested in you, and if they *really* want you to stick around, it'd be best if they offer to bring you on as a W-2 employee. If they can't make up their minds -- or if they really want to but can't get the budget approval for it (and BTW, they're probably paying the same or more more for you as a consultant with the staffing agency's markup), that's a pretty good indicator of what working for them would be like. Lots of red tape, for the duration of your time there. If you can deal with that, though, stay. On the other hand, with the communications firm, you're holding the cards. You've *got a job already*, one that it sounds like you like and that's going somewhere. By contrast, you don't know how you'll fit in at the new place. And unless I missed something, they took over six months to decide to make you an offer, and now they want a reply in less than a week. That sounds pretty dysfunctional to me. All else being equal, if you want to stick around somewhere for longer than 3-6 months, it seems like where you are is a good place to start -- since you've already been there for 6! If the comm firm wants to sweeten the deal, that's entirely up to them, but I'd be more inclined to stay. |
| Sat 16 Nov | | If your current employer is committed to you, they will offer you whatever they need to keep you. If they don't, they're screwing with you, so dump them and take the new job. Trust me, contractors get screwed. |
| Sat 16 Nov | Wile E. Coyote | In my opinion a week is not too short a time to get something approved, but then again I haven't worked at every company... Consider this too, maybe your wiley manager wants to wait until the second offer is gone, and then low-ball you this has been done to me before, and may happen to you. |
| Sat 16 Nov | Wile E. Coyote | Oh, and one other thing, next time make the manager feel good. Do something like this ... Well, I am only a contractor here, and they are willing to give me make me a permenanent with |
| Sat 16 Nov | | Also, you have the upper hand in negotiation. Usually you don't. Usually the company does. If your current employer wants you to stay and makes an offer, insist on a long fixed term contract with no penalty clauses for termination. This makes the existing position equivalent to the other position, for you. Thus, you ask for a 12 month contract and, if you are terminated early, the company must pay out your contract. Easy. |
| Sun 17 Nov | Bella | I would never suggest this, but in this env, they can find another person easily. (Or so I've read). Accept both jobs, and push back the start date on offer #2. If current employer gets the offer letter, great accept, and tell firm #2, that an emergency came up at client #1, and you have to extend, and you can't leave them, hanging, but please reconsider me for the future. If current job doesn't come up with an offer, then go start at firm #2. You keep both birds in hand, and look like a nice guy in the process. Sorry, but sometimes you gotta look out for yourself also! Good luck. |
| Sun 17 Nov | Joe | What rates are you getting now a days? |
| Re: "Bad Spam Filters" spiel | Sat 16 Nov | Peter Wright |
| Joel, In the Bad Spam Filters article on November 14, 2002 ( http://www.joelonsoftware.com/news/20021114.html ), you made a number of dicey assertions. Most notably, the assertion that WhatCounts ( http://www.whatcounts.com/ ) is a legitimate email delivery company. A quick search for whatcounts on news.admin.net-abuse.sightings shows enough examples to indicate that their so-called double opt-in system is not remotely perfect: http://groups.google.com/groups?q=whatcounts+group:news.admin.net-abuse.sightings&hl=en&lr=&ie=UTF-8&sa=G&scoring=d BTW, double opt-in is a spammer phrase. Please dont use it. I mean, think about the meaning of the phrase - it implies that youve opted in... twice? Huh? What would be the point of that? You should only need to opt in _once_, but (and this is the important part) it needs to be confirmed that its you - the owner of the supplied email address - opting in. So a CONFIRMATION email should be sent to the given email address, requesting (surprise, surprise) confirmation that it was really you that opted-in - hence the appropriate phrase confirmed opt-in. Another collection of clues as to the nature of WhatCounts is revealed in their so-called 100 Tips, Tricks and Insider Secrets For Successful Permission Email document, linked on their website: http://media.whatcounts.com/insider_secrets.pdf Consider page 8, with the header Ten Ways to Sidestep Being Perceived as a Spammer. Umm... sidestep?? WTF?? Consider the frequent references to double opt-in (with occasional secondary references to permission email and _once_ to confirmed opt-in). The suggestions under Expand Your List (page 3) are particularly revealing, but the real killer is the advice to purchase opt-in lists... as is further detailed on page 9, Twelve Steps to Purchasing a Quality Email List. Heres a tip: its _not_ _possible_ to purchase an opt-in list. It simply doesnt make sense. Its ludicrous. And if you have trouble grasping this concept, think about this: if your spouse or significant other has opted in to having sex with you, can you then sell that opt-in to others? Hmmmmm. The only person that can give (or sell) permission to market to them (or fuck them, or perform any other kind of action on them) is that person themself (and sometimes not even then if, eg. theyre a minor). You cant claim rights to sell or otherwise distribute permission just because you have it, any more than someone can claim rights to sell or give away copies of Fogcreeks software just because they own a licensed copy. And just to put the final nail in Whatcounts coffin: Whatcounts.com offers list confirmation as an OPTION only, so any mailing list they host is likely to be an abuse magnet. Quote from: http://groups.google.com/groups?selm=u3busqia4o70ea%40corp.supernews.com&output=gplain You can probably verify this yourself, Joel. When you started using WhatCounts as a mailing list manager and supplied it with a list of already-subscribed (to your mailing list) email addresses, did it insist on doing a confirmation run on all those addresses? Or did it allow you to avoid confirming? Anyway - WhatCounts looks like they are at _best_ a not entirely conscientious email list manager who will avoid putting in any serious checks and balances on their system because it might reduce the amount of spammer money they receive. At worst, theyre deliberately courting more respectable (ie. wealthy) spammer customers while doing everything they can to sidestep (their own word) being perceived as a spammer or spam supporter themselves. In any case, Id say its perfectly reasonable for ISPs to refuse to accept email from their servers until they clean up their act. Disowning that embarrassing document referred to above and forcing confirmed opt-in for all client mailing lists they manage would be a good start. Finally, with regard to your comment On the other hand, overzealous system administrators are causing serious damage to the connectivity of the Internet by imposing draconian spam filters - Id simply state that UNDERzealous system administrators (not to mention the management giving them their orders) are doing far far far more damage to the Internet email system by continuing to provide support for their spamming clients. Id also suggest that, despite you not being a spammer yourself, youre also helping to damage Internet email in your own small way by continuing to fund organisations like WhatCounts. BTW, were you also aware that the upstream provider of WhatCounts is Level3? One of the worst spam-supporting ISPs in the US? Pete. |
| Sat 16 Nov | Joel Spolsky | Well, the CEO of Whatcounts.com is a reader of this discussion group so it will be interesting to hear his response... |
| Sun 17 Nov | Darren Collins | I had a look at the WhatCounts.com web site (I trust Joel's recommendations), as I have a mailing list that I'd like to move from a free server to a more professional service. I looked all over their web site, and couldn't find any detail about what they actually provide, or what it costs. The site seems to be just one big brochure. If the CEO does read this forum, I'd like to let him know that a potential customer just walked out of the shop. I'm not going to do the '100 question dance' with a sales rep just to find out how I can give you money. |
| Must-see geek sites in or near Seattle | Sat 16 Nov | dmooney |
| Next Saturday I leave for vacation to Washington state for two weeks. I was wondering if there were any must-see geek sites in or near the SeaTac area. What do you guys recommend? Somebody suggested trying to visit Microsofts Redmond campus - that maybe that had public tours or something. Does anyone here know anything about that? It might even be cool so just drive around but I dont know what kind of restricted access they have to their campus. (GEs HQ is near me and you cant get in.) Thanks in adv |
| Sat 16 Nov | Malcolm | I've never heard anything about public tours at MS. There's the 'Microsoft Museum' which is public and you can check out at ms.com/museum. I never went there though, so I can't say whether it's more than PR fluff. You can for sure drive around and gawk and nobody will stop you. You'll see lots of buildings and ball fields. You must know someone who knows someone who works there though -- get them to give you a quick lunch-hour walk-through. Then you can see MS geeks up close. And maybe you can con them into a trip to the company store to get you some cheap software. For the true MS tourist experience you also must get someone to take your picture in front of the main MS sign at the intersection of 40th & 156th streets in Redmond. It's the sign in TV reports whenever there's some MS story on TV. And there's always the boat tour that passes by Bill's house. At this time of year in Seattle, however, I'm not sure I'd want to be out on a boat. If you're really into gawking at tech company hqs you can check out the amazonon.com hq building. Then when you're bored staring at that building you can wander just a little ways down to the market and have yummy seafood at Etta's Seafood while staring out into the drizzle. |
| Sat 16 Nov | Bill Carlson | In 1994, I was in Seattle with a friend, who knew a developer at Microsoft. I don't know what his exact position was, but his security card worked in most every building. We took a tour and walked by Gates' office. Glass doors and a foyer with a mean looking receptionist, but very modestly appointed. I don't think The Bill was actually present at the time, but the door to his office was open a bit - not enough to see though. Overall, much smaller and less pretenious surroundings than one would expect for the world's wealthiest person. |
| Sat 16 Nov | John Palevich | The MS museum is not that exciting - it's got a nice wall display with early PCs and Apples, but that's about it. The MS company store is pretty neat, but you have to be accompanied by a MS employee to get in there. The main MS campus is pretty dull. I wouldn't bother, unless you're really bored. (If you do go there, stop by the Nintendo and Digipen campus while you're in the area.) I highly recommend the Boeing factory tour in Everett, Wa, about an hour north of Seattle. I think you can get busses from Seattle to there. The tour lasts about an hour. You get to walk around the final assembly area, and also see a film where they assemble a 747 in sped-up time lapse photography. http://www.boeing.com/companyoffices/aboutus/tours/ Some other nerd-friendly tourist attractions: The Elliott Bay Book Company is an excellent independent bookstore, it's well worth the visit. The original Starbucks is located in Pike Place Market. It hasn't been allowed to change its decorations, though, so it doesn't even look like a Starbucks. The 'Troll Bridge' in Fremont is a big hit with my friends. The 'Duck' tours of Seattle are also popular. Ducks are amphibious vehicles, so you get to see Seattle from both the land and the water. The 'Seattle Underground' tour is a pretty tame look at the now-buried portions of the Seattle down-town. The pre-tour lecture is the best part of the tour. I've heard that the 'Experience Music Project' museum is pretty cool. It was funded by Paul Allen, one of the founders of MS. It looks like an alien space ship. |
| Sat 16 Nov | Will Glass-Husain | I thought the Boeing Museum of Flight was pretty awesome. (It's located on Boeing Field, but despite the name is not owned by Boeing.) Lots and lots of stuff, from the early biplanes to the first passenger plane (United- 12 passengers) to one of the Apollo capsules. The mock control tower (with live radio coverage from Boeing Field) definitely appealed to my geek nature. WILL |
| Sat 16 Nov | Nat Ersoz | Forget the geek attractions: boring. Visit the Pike Place Market (1-2 hours) Visit Mt. St. Helens Visit Crescent Lake on the Peninsula Visit Mt .Rainier, Paradise is closest ~approx 3 hours Visit the San Juans & go sea kayaking Visit Widby Island - very close, lots of state parks Skiing may have started, you have your pick: Crystal, Baker, Stevens, Snoqualmie There is SO much to do here. Forget the geek sites. |
| Sat 16 Nov | John Palevich | I guess it depends upon your interests. Unless you've got a Japanese-type fixation on visiting large mountains, Mt. Ranier is best appreciated at a distance. (Say, from Seattle.) Paradise is a complete bust of a tourist destination, if you ask me. You end up too close to the mountain -- there's no sense of grandure or perspective. But it is a popular tourist place, so perhaps there's something to it that missed. (P.S. Pike Place Market is quite nice. As is Granville Island market in Vancouver, a mere 3 hours drive north of Seattle.) |
| Sat 16 Nov | Nat Ersoz | Humbug! I took my 18 year old cousin up the Paradise and he made a hobby out of busting every ligament in my knees on the lower trails. The views from just a few hundred feet above Paradise are spectacular and there are miles and miles of trails to be walked. We only scratched the surface. That day we could clearly see both Mt Hood and Mt St Helens from many points along the trail. Walked up the base of some of the glaciers as well. |
| Sun 17 Nov | dmooney | Thanks very much for your suggestions. I'll probably do some of the parks but I imagine it will be rather cold, no? |
| Sun 17 Nov | | I second that. |
| Sun 17 Nov | anonQAguy | may be a bit too far south for where you want to go, but I found the drive east to west along I-84 (roughly from Pasco along the Columbia River toward the coast) to be quite beautiful some years ago. enjoy, travel safely. |
| Mathematics Software and Hardware | Fri 15 Nov | matt |
| I am about to enter University as a pure math major. I have taken high school mathematics. Of Mathematica, Maple, MatLab, and MathCad: Which one of these do you recommend? Would they help with homework/learning math? Of high end calculators such as the TI-89, and TI-92 (i.e. ability to perform symbolic manipulation for example): Which one do you recommend? Again, would they help with homework/learning math? Im also looking for related anecdotes and advice. Thanks so much! |
| Fri 15 Nov | Nathan | i prefer the reverse polish notation of a hewlett packard - the 48GX was top of the line in my day. |
| Fri 15 Nov | Will C | You want one of the TI 8x series. The 92 is too big. You also want mathematica. I would start using Mathematica right away. It really helped me out. (I have a math degree) |
| Fri 15 Nov | Martha | If you stick with math, you will probably end up using all three programs at some point in your college career, so there's really not much point to selecting just one to learn. If you want something for practice, get the cheapest one. For the calculator question, you might end up taking a class that requires a particular model, so inquire at your college before spending the money. I still have, and occasionally use, the TI-89 we were required to buy for whatever class it was. |
| Fri 15 Nov | Martha | Sorry, you listed four programs... I've never used Maple, so my brain just sort of skipped right over it. We used Matlab for quite a few classes, Mathematica only for statistics. But this was almost 10 years ago. |
| Fri 15 Nov | Adam | I would go with the HP-48 GX. It took a while to get used to (about a week for me), but after that I found it to be much easier to use. I would not get a TI-92 if you actually want to learn math. It is to easy to just learn how to program the calculator to do the math for you. You'll do well in the class grade wise but probably will not learn as much. |
| Fri 15 Nov | Igor K. | Interesing. I'm probably old-fasioned, but how do these programs help to learn math? When I got my degree, these tools were not available yet. However, I used them later and think they are great for practical purposes. Still, I think it's dangerous to use them from the start... You know, there's a principle of 'one under'. Actually, it's similar to the recently discussed Joel's law of leaky abstractions. For example: For technical engineer, it's enough to know how to use MATLAB, Mathcad, etc. It's one level under his problem area. But if you're math major, you need to know math on the one level below. I.e. you can use calculator, but not the symbolic-math packages. Another example: If your're about to learn web design and HTML, you shouldn't start from learning FrontPage or DreamWeaver. However, you can use them later, when you know the subject 'one level below'. |
| Fri 15 Nov | Stephen Jones | Joel actually didn't mention the principle of 'one under' in his article at all. He seemed to imply that we all needed to learn 'six under'. It is a farily well established principal though. As for the question of web design, I feel that needs an explanation apart, since the clear applicability of the 'one under' rule there obscures the very different situation in other kinds of programming. His .ASP example of autimatically generated Javascript which doesn't run on a machine with scripting disabled, is so good an example that it confuses the very different cases of VB programmers not knowing how the Windows API work. |
| Fri 15 Nov | Will C | response to Igor: i agree with you , sort of. however, i would never be in the position i am now without mathematica. I did horribly in math in high school. i hated it, and believed i was one of those people who 'couldn't do math.' basically the environment in which i learned math was very competitive. you got one chance to get it right, or you flunked the quiz. if you flunked the quiz, you were a loser who couldn't do math. this is a real negative in relation to confidence building. when i went to school i got the student copy of mathematica. with mathematica, I could check my homework. i could see that i was actually doing things right. if i was doing stuff wrong, i could see exactly where i did stuff wrong. basically, it helped me improve my confidence. i got a math degree, and really enjoy math now. i am a consultant where about 1/2 the time i do typical enterprise-y style programming, and 1/2 the time i do math-heavy data analysis for bioinformatics research. i'd be stuck doing enterprise apps full time if it weren't for mathematica. also, this is my totally irresponsible comment...but i don't believe that anyone employed in mathematics ever does math without using mathematica (or some similar package). If I just knew how to do math on paper, i would be nearly totally useless, aside from being a math tutor or teacher... |
| Fri 15 Nov | anonQAguy | I concur with Igor - SMy daughter's a bit behind you in school, as she's just graduating from HS this year, but my daughter's school had a so-called math class that was basically a class in how to use one particular model of plotting TI calculator. The accompanying text might as well have been written directly from (or even been) the user manual itself. Modern-day phycho-babble education theorist 'airheads' (cousins to the same dangerous idiots that think 'time-out' is the proper way to handle a screaming 3-year old) seem to think using these calculators helps learn math. No, these calculators help employ math in solving real problems; all they help kids do is get hooked on these tools as a crutch. I watched my daughter work problems with her calculator, and instead of knowing from looking at an expression what the nature of the graph's shape would be, how many inflection points it would have, etc, she just plotted it out. When it came to finding roots, she used brute-force trial and error, 'just to get the answer'. That year of so-called 'math' set her behind later when she got back to a more traditional program where they -- holy shit -- actually required her to freakin' understand something of what was going on. If you're already beyond this point and in fact do have a solid basis in Math, then you may need to adjust or discard my advice here. I realize you have to do what the school/instructors require, so you may not have much latitude in some areas. But, if it's left to you, work to understand what's going on at the lowest level you can manage first, before you then learn how to use the tools people actually use in production. It's nice to see folks like Joel re-discovering these time-honored principles as he demonstrates in articles like the 'leaky-abstractions' piece he wrote. When I was in grad school and in the Army studying Operations Research, we hand-cranked simplex, cutting plane algorithms, discrete optimization algorithms, dynamic programming, etc. Nobody does that 'for real' on any non-trivial problem; but you had to know what the algorithms were doing to understand when & where they should be applied (and equally important, not applied), something of the nature of the answers they'd give you, etc. Just because you **can** plug numbers into a computer program and get some sort of result out that it formats for you very nicely in a color graph you can dump to an E-size plotter, does not mean you have not just created very visually attractive egregious bullshit. Those tools you cited are wonderful tools, no doubt -- I bought MathCad some years ago and did a bit with it (I think it may be at the lower cost end of the ones listed, BTW). They are great, but they will not do your thinking for you. Don't let them. Sorry if I ranted a bit, sore subject with me. |
| Fri 15 Nov | Just'in | Go for a HP-48 or 49. These are really the best out there. They perform symbolic computation and a lot more. I bought my first HP-48 seven years ago and I am still using it daily: for computing, as an agenda, for waking me up (it has alarm features), and even as a remote control for my TV (using its IR interface.) I take it with me when travelling to play pacman or lemmings (there are a lot of freeware games for it on the Internet.) |
| Fri 15 Nov | anonQAguy | damn - s/SMy daughter's/My daughter's/ sorry. (preview feature? where?) |
| Fri 15 Nov | Dan Maas | Each of the programs you named has a different focus... I've used Mathematica and Matlab - Mathematica can do virtually anything you want it to, but I think its best features are the symbolic computations (e.g. taking symbolic derivatives and antiderivatives) and its 2D/3D graphics. Matlab is much more narrowly focused on number-crunching vector/matrix computations. Unfortunately both Mathematica and Matlab both have some weird syntax quirks (at least if you are used to any other programming languages). I'd personally recommend getting Mathematica, unless you are planning to take any hard-core engineering / applied math courses. (Matlab usage was a requirement for some of my engineering math classes at Cornell) |
| Fri 15 Nov | Victor Richter | Use MATLAB or Octave which is a MATLAB free clone. I haven't heard good things about Maple. I haven't used Mathematica. I like MATLAB because it's faster than writing out the code in a lower level language. Also, alot of DSP work uses MATLAB. |
| Fri 15 Nov | Julian | It depends whether you're studying pure math or applied mathematics. I don't see how a calculator, much less a computer, would be useful in any pure mathematics class beyond calculus: analysis, topology, algebra, etc. Technology won't help you comprehend the abstractions or derive proofs. Mathemical software would be of more value in applied or computational math, when you're doing linear programming or solving PDE's. Still, it makes more sense to wait until you're in such a course and hear what the prof recommends. Of course, things may have changed over the last decade. I earned my Ph.D. in theoretical physics using paper and pen, along with some short FORTRAN programs to perform linear algebra calculations and solve ODE's. |
| Sat 16 Nov | tapiwa | I would tend to agree with a lot of the previous posters. You need to be careful that you are not crippling yourself by employing gee whizz tools too early in a subject. I would argue that you employ tools that cover your (highest competency - 1). This way, you are using these tools to automate, and solve problems, and not substituting them for knowledge. I did a degree in Finance, and I steadfastly refused to buy a financial calculator until my final year. By then, I felt that I well understood the theory, and just wanted to automate repetitive tasks. Went through most of university with a £9.99 special ... nothing fancier than a Casio fx-115s. |
| Sat 16 Nov | Alberto | I have a mathematics degree with honours (Pure) from Trinity university in Dublin (1982 -that's how OLD I am), most of our pure lecturers loathed calculators, although I wasn't there at the time, one of them snatched one out of a students hand who dared to use it in a first year calculus tute and hurled it against the wall, smashing it into pieces, apparently he was made to buy a new one. We also did a lot of numerical analysis for which we used fortran with punched cards. My advice is wait until you start your uni and see what other people are using and what the lecturers recommend. You may find that you need nothing more complex than a cheap casio $20 scientific calculator. |
| Sat 16 Nov | Danil | S'funny, cuz I don't ever remember needing a calculator for any of the math classes I took at University. I don't even remember seeing numbers in my math classes. Physics? Yes, I remember numbers in physics.... |
| Sat 16 Nov | anonymous | 'Modern-day phycho-babble education theorist 'airheads' (cousins to the same dangerous idiots that think 'time-out' is the proper way to handle a screaming 3-year old) seem to think...' I suppose anonQAguy thinks you should beat the hell out of a screaming 3-year-old. |
| Sun 17 Nov | Bella | For college math, forget all the equipment. All you need is a notebook and pencil and an attention span. |
| Sun 17 Nov | anonQAguy | 'I suppose anonQAguy thinks you should beat the hell out of a screaming 3-year-old.' Anonymous - Actually, I don't see in my statements where I said one should 'beat hell' out of a child. That is a knee-jerk mis-characterization YOU chose to make. But - this is growing increasingly off-topic, and is the last I'll say about it here. If you want to continue this (probably fruitless) debate, let me know and we'll go to some other forum to do so. If you're not a parent yourself, however, forget it altogether -- you can't possible have anything meaningful to say on the topic either way. |
| Sun 17 Nov | David Fischer | I've used all four: Maple learning calculus & D.E. in college; Mathematica & Matlab for graduate thesis work; Mathcad at work. Mathcad is the easiest to start with, but I don't think it's a good choice for lengthy calculations (more than two screens). Mathematica is the best all-around math program; it does both symbolic and numerical analysis very well. Matlab is outstanding for numerical vector and matrix computations. Maple I've not used in years, but it's used in Mathcad (for the symbolic analysis engine). I suggest starting with Mathcad. When that becomes cumbersome to use, switch to Mathematica. If you encounter numerical matrix problems that give Mathematica problems, learn to use Matlab. Pick the right tool for the right job :) |
| SPAM Techniques that REALLY work!!! | Fri 15 Nov | jon Kenoyer |
| Do you hate spam? Sure we all do. Thats why with a simple one dollar a day.... Ok our company was just getting killed by spam. I put in a FreeBSD sendmail box firewall that runs mime-defang so we now have a three layer e-mail filter. Layer one is sendmail used spamcop to block known spammers (sometimes it blocks AOL lol) Layer two Mime-Defang strips all virus or suspect attachement types. These e-mail aliases are then added to the sendmail access database so they are blocked until further notice. Layer three is spam assassin which marks high scoring messages with SPAM!! in the subject line. Employees set up client side outlook rules to filter these to a seperate folder. Any e-mail that scores twice the spam assassin number is rerouted to /dev/null. I get about one piece of spam a week now. |
| Fri 15 Nov | Stephen Jones | How about a guesstimat of how much liegitimate mail you lose, since you clearly have no way of knowing for sure? |
| Fri 15 Nov | jon Kenoyer | No complaints so far (its been six months). Believe me I would know if my bosses or fellow employees were not getting e-mail ;P |
| Fri 15 Nov | James Shields | The two major problems with SpamCop seem to be: 1. They adopt a 'guilty until proven innoent approach', so that if someone complains, they block you. If someone signs up for your mailing list and forgets, you get blocked... 2. They don't seem to have an appeals process, so if situation 1 arises, there is no way to get unblocked! The impression I get it that it's by no means the worst of the blacklists, but it still highlights the problem of blacklisting. Now, the baynsian filter approach looks interesting... James |
| Fri 15 Nov | programmer | If you haven't seen it already, this article by Paul Graham is worth a look: http://www.paulgraham.com/spam.html He describes a 'statistical method' for identifying spam that sounds promising. I don't know if any existing spam filters use his method, but he says his method only lets thru 5 spam messages per 1000, with zero false positives. |
| Fri 15 Nov | Stephen Jones | If you don't let someone's server send mail, how can they ever let the person in your company know that they are not getting the messages. In fact unless you send a speciiffic message saying that the mail was blocked because it was on a spam list the sender of the server is either going to think his message got through or that it is your server that has problems. I know this because our college server was on a spam blocking list because of an open relay, and it was months before I got a message saying why an email didn't get through, and contacted the sysadmin to do something about it. I calculated that about 3% of the messages we'd sent in the last few months hadn't got through because of that. And nobody before me had mentioned or noticed anything. |
| Fri 15 Nov | Joel Spolsky | Well, if you're using SpamCop to 'block known spammers,' you're also blocking Joel on Software newsletter subscribers. And I assure you that I'm not a 'known spammer.' |
| Fri 15 Nov | pb | SpamNet should eventually work effectively. They just need to get an Outlook Express version out and tweak their algorithms to better avoid blocking legit email. Jon and other anti-spammers don't seem to understand that blocking legit email is a bigger issue than letting spam through. |
| Fri 15 Nov | An anonymous spam recipient | Just a note on the penny-an-email idea. It probably won't eliminate or even reduce spam very much. It will probably just raise the quality of the spam. As proof, look at physical junk mail. It costs more than a penny to bulk-mail a piece of physical junk mail, and I still get many pieces of junk mail in my physical mail box each day. |
| Fri 15 Nov | jon Kenoyer | I guess its a question of fault tolerance, or what ratio of valid e-mail's are we willing to lose vs the amount of spam that is blocked. First I should clarify I am not a system administrator but a programmer that wears many hats for a small company. We only have 10-15 employees so my 'solution' does not scale well at all. Real system administrators with a larger user base to maintain would take a zero tolerance approach. As in it is not acceptable for any valid e-mails to be discarded. I am the first to admit that SpamCop is far from perfect. It's current strategy http://spamcop.net/fom-serve/cache/297.html seems to punish valid e-mail senders if the ISP they are using has too many reported instances of originating SPAM. So I guess a blacklist is plauged with the 'Sed quis custodiet ipsos custodes' (who watches the watchman) problem. |
| Fri 15 Nov | David Blume | postini.com's default spam tagger settings did indeed tag Joel's 'whatcounts' message as spam. I don't know exactly what triggered the tag. But at least I was able to review the message, and add Joel to my approved list. |
| Fri 15 Nov | Michael Glenn | I'm using PopFile these days for Bayesian filtering, but I've noticed that unless I've placed one or more specific mailing list emails within the legitimate training list they are usually tagged as spam. Thankfully I don't automatically delete the spam and instead file it for review, but the structure of a mailing list email is much closer to spam than legitimate email from a Bayesian statistical point of view. I'm simply classify these as false positives and once a week add all false positives to the training set. So far, only mass mailings have been falsly identified. I have a training set of over 2000 messages for both spam and legitimate mail. The one cent an email approach while creative isn't likely. SpamCop and others like it need some sort of members system where blacklisted servers are voted for an against and members are peer reviewed in a Slashdot style approach. Otherwise, they should stick to flagging and not bouncing email. |
| Fri 15 Nov | brian ashe | As posted on http://slashdot.org yesterday, Mozilla's new mailer ( http://www.mozilla.org/mailnews/spam.html ) uses Paul Graham's ( http://www.paulgraham.com/spam.html , mentioned above) statistical rules for spam filtering. |
| Fri 15 Nov | jon Kenoyer | You know, it is just sendmail's default action is to bounce the spam cop marked e-mail. I bet with a bit of modification I could have it just mark it as SPAM!! in the subject line instead. (Wonders off to give this a try.) |
| Fri 15 Nov | J. Peterson | The Paul Gram spam method has been implemented by AutoDesk legend John Walker. Take a look: http://www.fourmilab.ch/annoyance-filter/ Also, how does Joel's $0.01/message delivery scheme work for mailing lists?. Lets say the JoSW list is 1/10 the size of the SlashDot crowd - ~30K people. Does Joel really want to spend $300 every time he sends an update? |
| Fri 15 Nov | mb | 'SpamCop and others like it need some sort of members system where blacklisted servers are voted for an against and members are peer reviewed in a Slashdot style approach. ' Or a whitelist instead of a blacklist. Check out the other thread 'email postage' for a discussion of bonded email. It's just a whitelist you indebt yourself to be added to. No I have no interest in the company, just the idea. And it's better than postage for a number of reasons. |
| Fri 15 Nov | Bill Carlson | It seems like large ISPs like Earthlink or AOL could employ some sort of heuristics that would sort E-Mails that were 'substantially similar'. Then, someone could go through manually, look at the E-Mail and remove it from all inboxes on the ISP. For example, AOL has 30,000 similar (or identical) Viagra messages sent to its customers. Someone at AOL gets alerted and purges these. Having spam removed from the inbox 15 minutes after it's received would be more acceptable than doing nothing. Granted, it's putting the 'Is this spam?' question in the hands of a stranger, but much of the spam problem is 'generic spam'. Mortgages, Viagra, XXX, Nigeria, etc. I would feel comfortable having a stranger filter out the obvious ones. |
| Sat 16 Nov | jon Kenoyer | To the nobody really cares department: Well I turned off Sendmail's RBL feature. I now have it so that the Mime-defang filter is checking the blackhole spamcop DNS server and just inserting 'SPAM!!' in the e-mail's subject line. The employee's can then use client side filtering rules to dump all the e-mails in a folder for later perusal. This way we aren't swamped with so much spam that e-mail is almost useless as a communication tool but no e-mail's are ever bounced. All in all a fun little project for a saturday morning. |
| Sat 16 Nov | Simon Lucy | As a major cheap filter just search on '!' It doesn't even have to be '!!', so long as you have it as the last filter and filter on known good senders first. I maintain my own blacklist on my own mail server I'm not happy depending on some external service to fiddle with my mail or decide what's blacklisted and what's not. |
| Sun 17 Nov | Frederik Slijkerman | Would there be any chance of Microsoft including some kind of spam filtering (preferably statistical) in Outlook Express? |
| Career Disucussion Board? | Fri 15 Nov | Employed_but_looking_for_a_better_opportunity |
| This question is mainly for Joel. How about starting a career discussion board? We hear everybody talking about the bad economy and how hard is it to get a job. How about people here helping each other to get a job/project? Reading from the comments posted here, it looks like people here are normally above average programmers, project managers, software professionals etc. So if you advertise for a job/project you may get some good quality people. What do you think about telling others here about the job opening (if any :) ) in your company? Do you all think its a good idea? Thanks in advance for your input. |
| Fri 15 Nov | mackinac | Considering the number of news groups, maillists and discussion boards on any topic you can imagine, I find it surprising that there seems to be little for exchanging information on job finding. I am thinking of something developer oriented, not employer oriented. We need a place to find out about good employers. What is out there is not very useful: There is the us.issues.occupations.computer-programmers newsgroup which is mostly an ongoing H1B flame fest. There are news groups that are just job listings and there are web sites with job listings. We do have career related discussions on this board, but they aren't always as useful as I would like. One related idea I have considered is to have a job posting board that is employee rather than employer oriented. In order to post a job opening employers would have to prov |