last updated:15 Dec 2003 18:41 UK time
|
 |
|
(Comments added for week ending Sun 14 Dec 2003) | View Other Weeks
|
|
| XML -> Flash | Sun 14 Dec | j b |
| Is anyone out there doing development work with the various tools for generating Flash UIs using XML? I know the Lazslo Presentation Server looks seriously cool. MacroMedia Flex (previously named Royale) has a beta program, but I havent been accepted to it yet. Is anyone working with Flex or Lazslo? Is it meeting your expectations up to now? Are there similar products from other vendors I should look into?
This approach seems very intuitive and powerful...Im just wondering if the tools are ready yet. |
| Sun 14 Dec | Tom Vu | I did the backend of a flash gui that used XMLRPC for it's functions. Even though xml is pretty verbose there wasn't enough load to make a difference. |
| Sun 14 Dec | HeWhoMustBeConfused | Tom, can you report any experiences from this project? Did it achieve a satisfactory outcome? Was the UI a success? Were there any significant issues in coupling a Flash front-end using XML-RPC? |
|
| Recruiter in administration stiffs contractors | Sun 14 Dec | x |
| Just an update on the situation reported on Names Faces. Its a very important story for anyone working through an agency.
The recruiter re-opened as a new entity under the same directors but did not take over the old contracts that it owed money on. That is, where it owed lots of pay to the contractors. Those contractors will not be paid now.
Meanwhile the directors took the contracts that will deliver more revenue to them. This is a disgusting business practice. The directors simply paid shell games to avoid having to pay their workers. Its an old game.
Names Faces has very good coverage of how IT contractors can, for once, do something to stop themselves getting screwed.
http://www.namesfacesplaces.com/html/view_article.asp?id_no=1305&photopage=0 |
| Sun 14 Dec | Bored Bystander | A real problem in IT contracting is that contractors tend to look on themselves as employees of these bodyshops and they willingly give employer-like powers over themselves to these shops. (Many/most contractors also price their services like they're taking a regular job, IE way too low to reflect the risks, but that's a separate rant.)
IE, if your EMPLOYER is late paying you, well then you must be PROFESSIONAL and not make a scene because 'big daddy employer' knows best.
Except - you are really a vendor, and the body shop is really your client, and you are really not protected by any employment laws, including those that specify that employee wages must be paid, because you aren't an employee.
If contractors that worked for these outfits would simply not be pushovers and would force themselves to be businesslike and not be embarrased about talking straighforwardly about money, then we would not have these patterns of body shop abuse. |
|
| Mastering English as a Foreign Language... | Sun 14 Dec | Not Shakspeer :-) |
|
Im almost fluent in English.
Ive read a fair amount of technical and non technical books.
But I sill do make spelling and grammatical mistakes, some are really obvious.
I would like also to improve my writting style.
Is there any books which might help ? |
| Sun 14 Dec | Prakash S | http://www.amazon.co.uk/exec/obidos/ASIN/8121900093/qid=1071428093/sr=1-6/ref=sr_1_3_6/202-8578398-8584611
used this in school, i think 4th thru 7th grade. |
| Sun 14 Dec | Floridian | http://www.amazon.com/exec/obidos/tg/detail/-/020530902X/ref=pd_bxgy_img_2_cp/104-7833671-1765562?v=glance&s=ebooks
This is probably the shortest most useful book on English you'll ever read. (I'm non-native speaker, too). Welcome to the club! |
| Sun 14 Dec | Prakash S | You can find the Elements of style online: http://www.bartleby.com/141/ |
| Sun 14 Dec | Floridian | Cool! Although it's worth having a classic in a book format for just a few bucks. |
| Sun 14 Dec | Warren Henning | Good luck in your efforts to improve your English skills, it's probably the best thing you can do to help your career. |
| Sun 14 Dec | Ponty Mython | The following annoy me no end. Get these right and you're OK in my book :-)
* its/it's (belongs to it/it is)
* practice/practise (noun/verb)
* loose/lose (adjective/verb)
* your/you're/their/they're
In fact, knowing basic grammatical stuff like what is a noun/subject/object/verb/adjective/adverb - really helps getting it right. |
| Sun 14 Dec | John C. | Ponty Mython makes some good points. However, the practice/practise distinction is not made in American English, which always uses the "c" spelling. There are, of course, many words in which American and British spelling diverge. |
| Sun 14 Dec | Philo | Amplifying on Ponty's list, here's my 'list of shame':
- it's/its
- they're/their
- to/too (seems to show up most often with 'to' where there should be 'too,' like 'this is to much')
- you're/your
Know those four and you are doing better than most english speakers.
Also, as implied above, beware that UK English and USA English have some minor differences, most notably
color (US) vs. colour (UK) (and others like that)
optimize (US) vs. optimise (UK) (etc.)
Finally, the best thing you can do to 'season' your english is to communicate. Use it. Participate on boards like this, write emails to people, get out with native english speakers and talk. The more practice/exposure you can get, the softer your accent will be and the more native you'll sound.
Best of luck!
Philo |
| Sun 14 Dec | Dennis Atkins | That its/it's thing is so ridiculous and illogical. Possesives are always apostrophized except when there is a name space conflict? What sort of a rule is that. Use 'it's' for both forms. The context tells which it is just as context tells if practice is a verb or a noun.
Likewise, none of this he/she stuff - use the indeterminat gender singular form of 'they', like Shakespeare did and like it appears in the King James Version of the Bible. Grammar tyrants begone! |
| Sun 14 Dec | Ponty Mython | '...the practice/practise distinction is not made in American English'
Now I didn't know that. I guess that explains a number of things. It really got on my nerves the Licence Manager being called the 'License Manager' in NT/Win2K/XP -- I thought it was simply someone down the line spelt it wrong and for legacy reasons that they hadn't 'corrected' the spelling.
Or is it that Webster's dictionary lets people get lazy and just reports the common usage rather than defines it. My trans-Atlantic friends wouldn't get advice/advise mixed up would you? |
| Sun 14 Dec | John C. | Ponty: Consider that while 'advice' (n.) and 'advise' (v.) are pronounced differently in Am.E. (the latter more like 'advize'), 'practice' and 'license' have the same pronunciation whether used as a noun or verb.
One of my favorite differences between Am.E. and Br.E. is the use of singular vs. plural when talking about collective entities such as corporations. In standard American usage, 'IBM is introducing a new product' would be appropriate. I believe that typical British usage would be 'IBM are introducing a new product'.
Dennis: the reason that its (possessive) lacks an apostrophe is not namespace conflict; it's that *all* possessive pronouns lack apostrophes in English: his not hi's, hers not her's, theirs not their's, etc.
Of course, lots of these rules are relatively arbitrary. English used to capitalize all nouns, not just proper nouns, in the style of German; that, of course, is no longer the case. German, by contrast, doesn't use apostrophes to indicate possession, though like English it does for contraction; e.g. 'Wie geht's?' (Wie geht es?), but 'Ninas schwester'. |
| Sun 14 Dec | Insert half smiley here. | It may help if you consider pronouns to be English's one remnant of strong typing.
The table is as follows, I think. Since I am a native speaker I may have it slightly orf.
The order is nominative, accusative, genetive, then reflexive. The dative form is 'to' followed by the accusative.
1st pers s: I me my myself
2nd pers s: you you yours yourself
3rd pers s masc: he him his himself
3rd pers s fem: she her hers herself
3rd pers s neut: it it its itself
1st pers pl: we us our ourselves
2nd pers pl: you you yours yourselves
3rd pers pl: they them theirs themselves
Some English dialects retain 2nd person s: thee, thou, thy, thyself. I believe this went out of fashion when England became a republic. Despite the restoration of the monarchy, it never came back. |
|
| State Machines | Sun 14 Dec | edd |
| hello to all,
any one know of any good books, sites or papers on applying state machines or its other variants like state charts to software engineering?
i am currently reading Practical Statecharts in C/C++: Quantum Programming for Embedded Systems by Miro Samek.
thanks |
| Sun 14 Dec | Ori Berger | What exactly are you looking for?
State machines are a fundamental concept, only slightly less basic than looping and variables. |
| Sun 14 Dec | FullNameRequired | 'State machines are a fundamental concept, only slightly less basic than looping and variables.'
Id be really interested in hearing a description of exactly what they define.
I guess because of my education (and lack of) Ive never really covered that concept, although Ive heard it referred to from time to time...
anyone wanto give me a quickie overview? (or an indepth description if that appeals more....) |
| Sun 14 Dec | r1ch | I learnt about finite state machines, which I presum 'state machine' is an abbreviation of (they must all be finite in some sense...).
http://www.google.co.uk/search?hl=en&ie=UTF-8&oe=UTF-8&c2coff=1&q=define%3A+%22Finite+State+Machine%22+&meta=
http://en.wikipedia.org/wiki/Finite_state_machine |
| Sun 14 Dec | Bored Bystander | Been covered before:
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=30520&ixReplies=18 |
| Sun 14 Dec | hum | Here's a really good book describing the Statemate design method - a method based on hierarchical state machines. It includes a graphical notation for describing them as well:
Modeling Reactive Systems With Statecharts : The Statemate Approach
by David Harel, Michal Politi
http://www.amazon.com/exec/obidos/asin/0070262055
For a fundamental presentation of state machines, Jeffrey Ullman, John Hopcroft, and Alfred Aho have (in various combination) produced a number of excellent books on the topic (and other fundamental topics). My personal favorite is this one:
Introduction to Automata Theory, Languages, and Computation (1ed)
by John E. Hopcroft, Jeffrey D. Ullman
http://www.amazon.com/exec/obidos/asin/020102988X
I prefer the first edition to the more recent updated version, but you can hardly go wrong with any book by these fellows.
Also, there are some good presentations of the material from other engineering disciplines (certain branches of EE especially) and discrete mathematics. |
| Sun 14 Dec | Tom Vu | here's a good article about implementing state machines
http://www-106.ibm.com/developerworks/linux/library/l-pygen.html |
| Sun 14 Dec | Pedro | Here is a link to an article in IEEE Software on state machines:
http://www.pragmaticprogrammer.com/articles/nov_02_state.pdf |
| Sun 14 Dec | anonQAguy | and don't forget that unless your state machine does what you want it to, and does not do what you don't want it to, it'll be pretty useless. Also, you or somebody else on your team will have to demonstrate that the system has only correct behaviors (once you've figured out just what they are, of course).
This requires proper analysis and test design, as well as implementing certain features to make it practical to test state machines efficiently.
Anyway, Robert V. Binder in 'testing object-oriented systems: models, patterns, and tools', ISBN 0201809389, contains invaluable info about how to ensure you do these things correctly, as well as great references you can use to further your learning. Though much is couched in OO-speak, most of the knowledge is readily applicable to non-OO implementations as well, at least from the analytical and testing perspectives, anyway. |
|
| access registry info detect service failure | Sun 14 Dec | vandana gopalakrishnan |
| hi, i need to access the registry information inorder to check if windows services r running or have failed,using vc++ .
hope to receive help.
Thanking u,
vandana |
| Sun 14 Dec | Brian | I don't think the registry has that information. I think you want to connect to the Service Control Manager, enumerate through the services, and query the one you're interested in for its status. Plenty of sample code at MSDN. |
| Sun 14 Dec | Ponty Mython | I've done this with ADSI before using the WinNT namespace provider, something like (in VB):
Set svc = 'WinNT://ComputerName/Spooler,Service'
MsgBox svc.Status |
| Sun 14 Dec | Ponty Mython | Doh, that should've been:
Set svc = GetObject('WinNT://ComputerName/Spooler,Service') |
|
| Help, my HTML Always Sucks! | Sun 14 Dec | Bored Bystander |
| I am using Citydesk to develop my consulting web site. My main problem is getting alignment and text flowing appearance to look like I WANT it to, not like how the browser wants to sh*t-schlock it out.
I want certain effects, like boxed text, text flowing alongside a right aligned image, and a subsequent section of text to not flow into the gap along the image above. I know, I can see in my minds eye what the f*cking thing is supposed to do. I KNOW how I want the damned thing to look. Its always, consistently, every single time anything but. Always. Every f*cking time.
Rant: I *never*, *ever*, *EVER* get this crap right! I repetitively change tags, change alignments, futz with and tags, mess with styles. I always get bizarro shit happening like a boxed area of text appearing to merge into the image, and stuff overlapping that shouldnt.
How do the pros get this garbage right!!? Im a programmer of real honest applications, not a script head for Gods sake. Scripts are supposed to be EASY, not HARD.
Driving me nuts. Any suggestions for knowledge or tools to conquer this crap/sh*t/f*cking overcomplicated twiddly stuff? |
| Sun 14 Dec | Bored Bystander | Er, obviously I was passionate about getting this stuff right. I could have done w/o a few expletives... OK, laugh at me, everyone. :-(
Gawd, this is embarrASSing... |
| Sun 14 Dec | Almost Anonymous | One word: Dreamweaver |
| Sun 14 Dec | Mike Swieton | HTML is just bad :) I've found it hard to get things exactly right, so I don't put much time into my pages at all. I've seen people make amazing pages that render right on everything, but those people take time. Lots of it :)
My roomate advises putting everything in div tags and do everything with CSS.
All I know is that I despise making web pages 8-} |
| Sun 14 Dec | no name | Tables? |
| Sun 14 Dec | FullNameRequired | hi bored,
I feel your pain :) Every once in a while Im forced into exactly the same kind of work....html coding makes c++ coding look easy IMO.
Ive found a really effective way for me to get the pages how I want them is to first build the original in dreamweaver and then go through the html afterward and tear out all the unnecessary shite that Macromedia 'hey, lets make html coding feel like graphic design' dreamweaver puts in.
If you dont have access to dreamweaver, then I find that doing the layout onto a sheet of paper first helps a lot with working out what to write... |
| Sun 14 Dec | Al | 'Spend less time trying to achieve format-oriented goals. Instead, focus your efforts on creating the actual document content and adding the HTML tags to structure that content effectively.'
From 'HTML, the definitive guide...'
could'nt resist... |
| Sun 14 Dec | Stephen Jones | Dear Bored,
As somebody has pointed out HTML was not originally intended as a graphic layout language.
If you are going to use it that way the easiest way is to go for tables. CSS are better but more difficult.
Do remember though, that final control over appearance lies with the user, unless you decide to go for a fixed resolution web page. |
| Sun 14 Dec | Juha | http://www.w3c.org/TR/CSS2/box.html
http://www.w3c.org/TR/CSS2/visuren.html
http://www.w3c.org/TR/CSS2/visudet.html
Just bear in mind that to with CSS it's important to grasp the whole model at least to some extent. Just knowing few tidbits can do more harm than good. But if you know C++ (or Lisp) you shouldn't have that much trouble learning CSS. It might be weird and cryptic, but not THAT weird.
Or if you don't wan't to bother, use tables, or your 13-year old niece;) |
| Sun 14 Dec | no name | I think this site isn't bad:
http://www.htmldog.com/ |
| Sun 14 Dec | Ponty Mython | Another vote for tables (although many here would disagree) -- they just work and you don't have to frig about with various browsers implementation of CSS boxing. |
| Sun 14 Dec | Bored Bystander | Thanks for the pointers. My medication is finally kicking in and the psychotic reaction from last night is finally subsiding ... |
| Sun 14 Dec | Bored Bystander | Abouy CSS: I haven't wasted a *lot* of time battling CSS behavior. Actually, as an object based developer in my 'day job', I generally like CSS's structure and power.
However, I want my site to look a certain way, and trying to grasp how CSS can help me do this feels a little like using J2EE to write a 'Hello, World' application.
But I also don't get the religious tinged objections to tables from CSS zealots. I understand that the ultimate goal is to separate data from presentation, and to create 'symbolic' names for types of content and to separate those names from the nuts and bolts.
Actually, the 'tables' comments in this thread are right-on. I solved my problem by using tables. Any other method was absolutely incomprehensible, CSS or no CSS. |
| Sun 14 Dec | no name | Tables work best. Page layout, whether it is printed or on the web works best by laying out rectangular areas on the page. Each area represents a different object or section on the page. Take a look at a newspaper. Don't see many circular, triangular or random polygonal shaped columns do you? All pictures are square or rectangular in shape. The captions underneath the pictures are all rectangular. The columns and headings are rectangular. Sure there are affects applied to certain areas, but even the affects are contained to a rectangular area. Some of the fancier page Layout software can flow text around curved surfaces, but I don't think this transfers to the web. At any rate, when making webpages, think rectangles and you'll be able to do most anything (within reason, of course). Use CSS to describe the rectangles. Let's say you have 2 pictures with a caption under each. You probably used a table for this (at least I would hope you did). You could make a CSS style 'Caption' and use it on the row or column of the table that holds the picture caption.
Just my two cents. (Sorry if all of this is obvious.) |
| Sun 14 Dec | Bored Bystander | I think the "CSS culture" has blinded me to the obvious. Thanks, that is a good step in the right direction. |
| Sun 14 Dec | www.marktaw.com | Just look at your favorite pages and peek at the code. Half of them won't render in a WYSIWYG editor, but those that do will show the structure they used.
I also like DreamWeaver for my design & use CityDesk for CM. |
| Sun 14 Dec | Bored Bystander | What is the best option to buy Dreamweaver for a cheap geek who doesn't make money directly off of web presence? |
| Sun 14 Dec | Mike | Font tags considered harmful, tables considered harmful.
Must use CSS.
Well, then about 99% of all sites on the web are harmful. |
| Sun 14 Dec | Bored Bystander | >> Font tags considered harmful, tables considered harmful.
Must use CSS.
Yeah, I've been getting hung up on 'statements' like this.
Too bad that when there's a straighforward way to do some software thing, there are huge layers of politics and realpolitik in place to play head games with you to use 'higher level' approaches that never seem to be ready for prime time.
Reminds me of people who embraced OOP to such a fanatical degree that it was impossible to suggest writing anything procedurally and/or with static variables. |
| Sun 14 Dec | Interaction Architect | 'Well, then about 99% of all sites on the web are harmful.'
No, not harmful. Just obsolete.
http://www.digital-web.com/features/feature_2002-09.shtml
Read up on Zeldman. He has some interesting stuff on his sites. |
| Sun 14 Dec | Walter Rumsby | Please please NO ONE try to defend FONT tags.
They are the devil. |
| Sun 14 Dec | Walter Rumsby | To address HTML-suckitude:
Download the .zip copies of the HTML 4 and CSS 2 spec, keep them on your local hard drive and take the time to revisit elements and features in the specs when things aren't working the way you expect them too. This can be really illuminating because you might discover better ways of doing what you were trying to do.
I'm not a fan of WYSIWYG HTML editors. Take a look at TopStyle - http://www.bradsoft.com/ - which is a 'hand' editor geared towards CSS (and includes a load of useful features).
Keeping a casual eye on Zeldman - http://www.zeldman.com/ - and A List Apart - http://www.alistapart.com/ - can be useful too. |
| Sun 14 Dec | Ponty Mython | I just went to the Zeldman site. He use absolute font sizes so that his pages don't scale (via View > Font Size) in the the most widely deployed web browser, IE.
Muppet. |
| Sun 14 Dec | Ponty Mython | ... and he uses a button to navigate to "Previous Reports" - a button to simply navigate somewhere rankles... |
| Sun 14 Dec | Justin | Use the border attribute.
ie, within your table element, set border='1', instead of border='0'. You'll find it removes a lot of the guesswork when you have mutliple nested tables for layout.
Use .Net if you have it. Not only is the help system comprehensive, but the context sensisitive stuff takes a lot of the agro out of remembering all the element/attributes available. An excellent tool for quickly knocking stuff together, as is Frontpage, although both have a tendency to want to format your code for you.
I have nothing against Dreamweaver, other than that I don't own a copy. |
| Sun 14 Dec | Mike | 'No, not harmful. Just obsolete'
And who is going to build the browser that doesn't render 99 percent of all web sites. Probably mozilla.org;)
I'm not saying that we haven't learned to build better websites than we did 5 years ago, just that there isn't going to be a rush like Y2K Cobol fixup to fix them just because W3C thought it would be a good idea. Web sites that render badly generally pose no threat. |
| Sun 14 Dec | Walter Rumsby | Mozilla, IE and I guess Konqueror/Safari and Opera have a 'quirks mode'. If you don't specify HTML 4 or XHTML as the DOCTYPE (properly) then the browser assumes the HTML will be messy and doesn't try to be standards compliant.
Actually, this could be Bored's problem. See http://www.alistapart.com/articles/doctype/ |
| Sun 14 Dec | Shodan | This thread really strikes a chord. I've wasted countless hours on getting my own website to look just right...
...soon I intend to spend some personal time with CSS again, to see if I can finally remove the tables. Browsers didn't render CSS properly first time I tried.
I swore a lot. Luckily I didn't have any pets, they wouldn't have survived. |
| Sun 14 Dec | Ken McKinney | The biggest problem with nested table layouts is that they are write only. I can't understand my own when I come back to them six months later let alone someone else's and I've deciphered more than my share of really ugly code.
The learning curve for css is not trivial but it's elegant and simple once you get the hang of it. The biggest problem is that you have to understand document flow in html to use css well. Cross browser problems are considerably reduced if you develop to something more standards compliant, say mozilla then make sure it also works in IE. |
| Sun 14 Dec | www.marktaw.com | > What is the best option to buy Dreamweaver for a cheap geek who doesn't make money directly off of web presence?
http://search.ebay.com/search/search.dll?query=dreamweaver+3+-templates+-mastering+-training+-frontpage&saregion=0&ht=1&sosortproperty=1&from=R10&catref=C3&sorecordsperpage=50&sosortorder=1&sacategory=18793&BasicSearch=
There's nothing wrong with Dreameaver 3 or 4 for simple stuff like tables. |
|
| Environment Variables in Windows - anoying to edit | Sat 13 Dec | Hollandaise Sauce |
| Is there a beter way to manage Environment Variables in Windows?
It is a major pain to go to Cntrol Panel>System>Advanced and edit the tiny text box.
Is there another way to do this?
Am I the only clutz that is complaining about this? I cant understand why MS could not have designed that better. |
| Sat 13 Dec | Bored Bystander | Well, it beats the socks off of the original way that environment variables were defined in Windows and DOS: as entries in the Autoexec.bat file. Which only took effect at Windows boot time.
I don't know of a 'script' that you can edit. Maybe someone sells a program that provides a better user interface. |
| Sat 13 Dec | somebody | To edit a variable with a lengthy value, I copy & paste the current value from the edit dialog to Notepad, edit in Notepad, and then copy & paste it back.
It would be nice if they made the value edit field in the edit dialog a little bigger and multiline but I don't edit environment variables enough to worry about. |
| Sun 14 Dec | RB | I agree that it completely sucks. But the main reason that I need to edit these variables is to modify the classpath for java development. Can't see that being a priority for Microsoft.
Anyone have a Windows-centric reason to modify these variables? |
| Sun 14 Dec | Dan G | use SET in a cmd window
if u wanna prepend or postpend a value can do
SET %envvarname%;
SET by itself lists the existing variables, adding letters will list env variables starting with those letters |
| Sun 14 Dec | Almost Anonymous | Using SET only changes your local environment (command shell) for the duration of that shell. Not terribly useful for things you need all the time.
I only have to edit environment variables twice a year; it's pretty rare. And I have some unusual SDKs. Most people never need to look there. |
| Sun 14 Dec | Matt Foley | >I can't understand why MS could not have designed
>that better.
Probably because it's typically something that people do very infrequently, hence it doesn't need to be convenient. |
| Sun 14 Dec | Luke | If you're editing the classpath a lot, just use wrapper batch files to start your compile or run tasks. It's a band-aid, but it works.
Alternatively, I've (for some projects) wrapped the project with a custom class loader that simply enumerates and uses any JAR files found in a subdirectory of the project. Makes adding or changing libraries easy. |
| Sun 14 Dec | Ori Berger | The environment registers are stored in the registry. Write a 5 line program to modify that to your heart's contents. If your language of choice doesn't let you do that in 5 lines, switch to Python or KiXtart (or any other language that _can_ do that in 5 lines).
Note that, regardless of HOW you change the environment variable values, changes might not propogate as you expect; E.g, I use VC++6, and after changing the values of the environment variables in the registry, new VC++ started from the 'Start' menu will have the new values in their environment. However, double clicking on a .dsw file in Windows Explorer will still have the old values until I close the Explorer window. |
| Sun 14 Dec | ICBW | First of all, you can reach the Environment Variables in 3 key presses: -break, ctrl-pgup, alt-e. This should speed things up (if you are inclined to use the keyboard ;-).
About the programmatic approach:
You can cause 'interested' running applications to get the new env vars by using the info here: http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q104/0/11.asp&NoWebContent=1
(very useful during application installs). |
| Sun 14 Dec | Insert half smiley here. | Agreed, it is such a PITA. At the very least, they colud have made the variable editing dialog a bit bigger. What they should do is make its parent dialog resizable, using list views in which one can edit variable name or variable value there and then.
Maybe this is a way of steering people away from environment variables. Judging by the amount I have to use that environment variables box, and the continued existence of PATH, it doesn't work very well. |
| Sun 14 Dec | yyyyyyyyyyyyyyyyy | do you need it in a shell? or for the entire machine? |
| Sun 14 Dec | no name | >Using SET only changes your local environment (command >shell) for the duration of that shell. Not terribly useful for >things you need all the time.
Microsoft has written program called setx that can set environment variables permanently through the commandline, but it isn't installed by default. You can read more about this by checking out this site: http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setx-o.asp. |
| Sun 14 Dec | | Sorry, for some reason the trailing period was included within the URL. (This site should really have a preview button...)
Try this link
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setx-o.asp |
|
| Linux 101 | Sat 13 Dec | Alex |
| Please dont send me off to RTFM... Im doing it as we speak, I just need a quick and dirty answer.
Just installed Knoppix. Problems:
- cant see CD-ROM, NTFS partition (ancient memory suggests I should mount or something?)
- cant see modem (need drivers? how to proceed?)
- no sound (need drivers? how to proceed?)
Thanks so much! |
| Sat 13 Dec | Eric Debois | About CD and partitions... are they mounted? |
| Sat 13 Dec | Alex | I.... don't know. Where do I look? |
| Sat 13 Dec | Mike | get to a prompt, then type
more /etc/fstab
that will print your file system table to the screen, you should see all your drives in there, if they are, but not either they are not set to automount or something else is awry.
Also Knoppix (Linux in general) only mounts ntfs read only. You can force read write, but you risk corrupting your ntfs partition which I don't think you want. |
| Sat 13 Dec | grandma | what's a prompt? |
| Sat 13 Dec | hoser | To see what devices are on your system:
cat /proc/devices
lspci
Either one works, I kinda like lspci.
From there you might have to hunt down specific drivers. You might check the ALSA page: http://www.alsa-project.org/
As for modems, you may be up the creek. But check http://linmodems.org/ for drivers.
Of all the stuff that won't be supported, the modem is most likely. Most other hardware, you should be OK.
On the mouning of cdrom, try:
mount /dev/cdrom /mnt/cdrom
You might make sure that the auto mounter daemon is running for convenience (not something I use myself, so sorry, I won't be much help there).
On mounting NTFS, its likely not compiled into the kernel or as a module. The NTFS driver, as its a reversed engineered work, may never work. But, you can apparently mount NTFS readonly by comiling the module (look for /usr/src/linux*) in your kernel, and then you can try mounting NTFS - at least RO. |
| Sat 13 Dec | RP | RTFM! |
| Sat 13 Dec | Andrew Hurst | get to a prompt, then type
more /etc/fstab
---
Actually he probably wants to read /etc/mtab. fstab shows what *should* mount, mtab shows what is mounted. As a side note, 'mount' without any arguments will show what is mounted as well. It essentially runs 'cat /etc/mtab'.
Lastly, fstab and mtab are short files, 'cat' will work as well as 'more'. Hehe, also 'less' is 'more' than 'more'. At least less is a more usable version of more.
Also, if the filesystem you want to mount is in /etc/fstab, you can just type 'mount /mnt/cdrom' (assuming /mnt/cdrom is listed in fstab) and it will look it up and mount it correctly.
heh, after writing all of that, I wonder why they call unix hard to use? ;-) |
| Sat 13 Dec | Alex | wow! thanks a lot.
actually I can fire up the console so i'm taking it from here :)
RTFM. |
| Sun 14 Dec | Mike | Yes there typically are 63 ways to do any given task in Unix. The more I use it, the more I agree with the Unix Hater's Handbook. |
|
| Drag and Drop using VMware - aaaargh!! Please Help | Sat 13 Dec | Techno-phobe |
| Hi:
I have recently installed VMWare Workstation 4 on my local PC.
My host OS is Win XP (Pro) and my guest OS is Lunux (Read Hat 7.2).
I would llike to transfer files from my host OS to my guest OS - VMWare says this can be easily accomplished with drag and drop. Please see http://www.vmware.com/support/ws4/doc/running_dragdrop_html.html
Where do I drag and drop the files to?
This is really bugging me and ruining a perfectly beautiful rainy Saturday morning in the pacific north-west.
Am I a complete dolt that I dont understand the instruct6ions? The manual says it is easy to do - but, unless I am a complete buffoon, it does not say which destination folder I can drag and dropfile to. |
| Sat 13 Dec | Joe | I wouldn't use the word dolt, but the link you provided says:
'With the drag and drop features of VMware Workstation 4, you can move files easily between a *Windows* host and a *Windows* virtual machine'.
I usually use network drives to transfer files anyway. |
| Sat 13 Dec | Techno-phobe | How is it best to transfer files?
Can you explain it in simple terms? I am pretty much a novice in this.
Thanks |
| Sat 13 Dec | blargle | I do things the other way round - Linux host, various windows guests.
Filesharing can be accomplished via samba (www.samba.org) - setup a share on the host and install the samba client on the guest. |
| Sat 13 Dec | Michael H. Pryor (fogcreek) | And even then, if they are both windows, it is probably only going to work if you install VMWare Tools on the guest VM.... |
| Sun 14 Dec | Joe | I think Michael Pryor is correct that VMWare tools is needed for drag & drop between Windows host & guest OS.
But not necessary for file sharing using a network share. You just need to share a directory on your host OS and have client s/w on Linux guest that connects to it (don't know much about Linux but it seems you can find the client S/W for Linux at www.samba.org as suggested by Blargle if you don't already haved it). |
| Sun 14 Dec | Stephen Jones | Normally you just set up a drive that both Windows and Linux can use (which to play safe will be FAT32 on a local machine and anything on a network drive). |
| Sun 14 Dec | Brad Wilson | Why would you not install VMware tools, though? VMs are painful without it, not the least of which because the video drivers is contained in it. |
| Sun 14 Dec | Brad Wilson | Oh, and I just tested this with Virtual PC 2004. No problem Windows to Windows drag and drop. Hadn't even considered that it might work. Nice.
I used to be a huge VMware fan, until I actually used Virtual PC. It's so much faster than VMware, and I can actually use a Virtual PC for my development work, thereby basically nuking the re-pave that occurred every 3-6 months! |
|
| Signing up for accounts - how to prevent attacks? | Sat 13 Dec | Hobbit |
| Hi:
I would like to allow vsitors to my site to be able to sign up for accounts - I do not collect any user information nor do I want to.
All it does is to ask a user for their choice of user name and password.
How can I prevent scripts from creating multiple accounts?
Yahoo and hotmail have an image displayed that users must type into a text box - i.e. to validate it is a human.
Are there an open source application that I can use for this?
Thanks, |
| Sat 13 Dec | Almost Anonymous | Do you really expect it to be a problem? I maintain a quite large-ish and popular website and we've never had the problem of scripts creating multiple accounts. Why do you expect to be a target? |
| Sat 13 Dec | bhagwaan | Most of the sites use the captcha method: http://www.captcha.net/ |
| Sat 13 Dec | Hobbit | I am running the site to keep my technical skills as sharp as possible bbetween jobs.
I am trying for visualize for all eventualities :)
Thanks |
| Sat 13 Dec | Philo | LOL! Re: Capcha:
'Online Polls. In November 1999, http://www.slashdot.com released an online poll asking which was the best graduate school in computer science (a dangerous question to ask over the web!). As is the case with most online polls, IP addresses of voters were recorded in order to prevent single users from voting more than once. However, students at Carnegie Mellon found a way to stuff the ballots using programs that voted for CMU thousands of times. CMU's score started growing rapidly. The next day, students at MIT wrote their own program and the poll became a contest between voting 'bots'. MIT finished with 21,156 votes, Carnegie Mellon with 21,032 and every other school with less than 1,000. Can the result of any online poll be trusted? Not unless the poll requires that only humans can vote. '
Sounds to me like CMU and MIT rightly took the top two spots. In fact, I'd venture this is the *perfect* way to run this poll. If a school's IT dept doesn't care enough to find out about and successfully rig the poll, do you want to go there?
Philo |
| Sat 13 Dec | www.marktaw.com | Sure. Invalidate the poll itself, but by doing so, make a much larger news item & greater publicity for your school. Sounds about right to me. |
| Sat 13 Dec | no name | Why have a sign-up? It's annoying and it hinders the casual user. Sign-up for my site boyz == Teh suck |
| Sat 13 Dec | sgf | 'If a school's IT dept doesn't care enough to find out about and successfully rig the poll, do you want to go there?'
Sure - maybe they're spendig their time on something useful. And _NOT_ cheating. :) |
| Sat 13 Dec | Dennis Atkins | 'Sounds to me like CMU and MIT rightly took the top two spots. In fact, I'd venture this is the *perfect* way to run this poll.'
Good insight -- I agree.
It's not about cheating, the results proved beyond a doubt which schools had the most technically capable students who are strong believers that their school is a great one. Those votes should rightly count for more. The students who spend less time voting just didn't care as much, which means their schools are not as good and the students not as passionate about what they do. |
| Sun 14 Dec | John Rose | Bit of a tangent: in any case where user input is being saved to a database, make sure you guard against SQL injection attacks. Essentially that involves users putting (potentially harmful) SQL commands in the input fields, which would be a hazard to your application if you were to execute them. Google for 'SQL injection' for more helpful information. Good summary:
http://www.aspnetpro.com/opinion/2002/08/asp200208pl_o/asp200208pl_o.asp
Back on topic: Aside from the Yahoo image method, I'm not sure how you'd deal with spoofed IP addresses, which is what it sounds like the CMU and MIT guys were using. That would be more of a networking thing than something you could tackle with server-side scripting, anyway.
You might want to consider some 'sanity-checking' database code to contain the effects of such attacks- ie, allow no more than N signups from *all* IP addresses in X minutes. Of course you'd need to make sure your legit traffic wouldn't exceed your chosen values of N and X or you'll have pissed-off legit users. :P |
| Sun 14 Dec | www.marktaw.com | Yep. The only way to gaurantee human entered information is to find something humans can do that machine's cant, or at least not without difficulty. Microsoft also has 'If you can't read the words, then maybe you can hear a sound file.' If you can't do either, you can't sign up.
I remember a few years ago there was a forum for women only that required a phone call. It was the only way to gaurantee that the person signing up actually was a woman.
Limiting the number of inputs over a given period of time won't stop a bot, they'll just fill up all the available slots and prevent legitimate inputs.
In the '7th Interview Running' thread, there's an example of someone who wrote a script to automatically submit his resume and cover letter to potential employers he scraped from a job site.
Human Readable AND Not Machine Readable. Anything that can be automated will be automated. |
| Sun 14 Dec | Clay Dowling | The technique that I've used at http://www.lazarusid.com/wishlist/ which doesn't completely eliminate such attacks, but it does make things harder, is pretty simple. E-mail them the confirmation information. It's entirely possible to automate an attack against it, but it requires a new e-mail address each time. The attacker needs to be pretty determined to bother with the setup they'll need. Chances are pretty good that unless you've got something terribly valuable, they won't be all that interested in going to that much trouble. |
|
| Dual monitors ... at home? | Sat 13 Dec | T. Norman |
| With the price and desktop footprint of monitors coming down so much, I am contemplating purchasing an LCD monitor to sit beside the 19 CRT I already have. But having never experienced a multi-monitor setup before, neither at work nor at home, Im not sure if it is worth it. I hear and read about how they increase productivity, but I havent seen any solid examples of how they would benefit me at home.
What am I missing that is worth spending a few hundred dollars for an extra monitor? |
| Sat 13 Dec | tapiwa | Depends what you use your home machine for.
I don't play too many games at home, so can't take advantage of games that support two or indeed three monitors.
I had dual setup once. I was doing a lot of web development at the time, and it is nice to work on one monitor and use the other one to monitor the server, and run the web browser.
I also found them useful when I was teaching myself Oracle and Tcl with openacs http://openacs.org . Because most of the docs were online, it was really useful being able to work/develop on one screen, and have the docs open on another.
Most of the time though, I just ended up playing a dvd on one, while I worked/internet on the other. |
| Sat 13 Dec | Bored Bystander | >> What am I missing that is worth spending a few hundred dollars for an extra monitor?
My client has deployed dual monitors to all of their fulltime SW developers. These guys can have an IDE debugging session going on one monitor while displaying the application under debug in the other monitor. On a single monitor setup, they would have to layer the two programs and mess with continually bringing the app they want to access up to the top.
It wasn't clear to me either until I saw it in practice. I think it's very worthwhile for a SW developer. Less so (perhaps) for other uses of computers. |
| Sat 13 Dec | Dennis Forbes | Dual monitors is one of the hugest productivity improvements you can possibly make. First is the fact that many current apps require a tremendous amount of pixel real estate (i.e. Visual Studio), and secondly it is simply easier and more productive to have web research/MSDN on one monitor, and Visual Studio on the other, etc. |
| Sat 13 Dec | Tim Sullivan | I use it a lot to have a website with information about what I'm doing, or a help file open on one screen, and my IDE open on the other. Since my hobby is programming, I find having this setup at home quite worthwhile. It's also nice to be able to have something you're actively working on (like, say, writing documentation or a functional spec) and something you're not actively working on, but want to take 10 seconds every minute or so to do (Internet Backgammon eats my life) on different monitors.
Basically, you can't go wrong with more screen real estate, no matter how you get it. |
| Sat 13 Dec | Myron A. Semack | Dual monitors are a HUGE benefit for development work. I don't know what you're using your home PC for, but if you're developing software/web pages, go for it.
I'm not doing development at home anymore, but I still love having multiple monitors. When I'm doing things like reconciling my bank statement, I keep MS money open on one monitor, and by bank's web page open on the other monitor.
Just make sure you get a graphics card that does a good job with dual monitor support. Matrox's cards are by far the best at dual-head stuff (it's a shame that they suck for gaming).
My setup:
- 3x 17' LCD Panels (1280x1024)
- Matrox Parhelia drives the first two panels
- Martox G450 PCI drives the third panel |
| Sat 13 Dec | John Rose | 'Matrox's cards are by far the best at dual-head stuff (it's a shame that they suck for gaming).'
ATI's and nVidias have definitely caught up to them. I have a $35 Radeon (go NewEgg!) that does a great job with dual output. :P
On my other home machine I have an nVidia 4400 that does nicely, and at work I have a machine with an nForce motherboard with built-in dual output that does very nicely. |
| Sat 13 Dec | christopher baus (www.baus.net) | I got a dual monitor set up at the office this year. One 21' crt and on 18' LCD which are very close to being the same size. I didn't think I would like it, but now when I'm working at home with only one monitor, I realize how much difference the second monitor makes.
I almost always have the development environment in one window, command line/explorer/web browser and debugging app in another. Sometimes I even run the development environment on each monitor to look at multiple files at the same time. So I'm sold on the the dual monitor setup. BTW the ATI drivers I'm using must have the worst API I've ever seen. Every once and awhile my configuration gets messed up and it takes an hour to get it right again.
Maybe one Apple cinema display would do the trick. |
| Sat 13 Dec | Myron A. Semack | The problem I've run into with non-Matrox cards is that they only run multiple displays in 'stretched' mode as opposed to an independent mode. Matrox cards give you a choice.
In stretched mode, Windows has no idea where the edges of the displays are. It just sees one really wide-screen monitor. This makes window and menu placement a problem. In stretched mode, if I right-click on the Windows desktop near the right hand edge of my screen, the context menu will be split between the displays. One half of the menu will be on the first screen, the other half of the menu will be on the other screen. Not too readable.
In stretched mode, the task bar will span all your displays. If you ahve a lot of windows open, you will inveriably get a taskbar button that chopped in half.
Another gripe: In stretched mode, if a web site has some javascript to expend the window to the full screen size, my web browser will be maximized across all three monitors. In independent mode, it only fill one screen. Still annoying, but less annoying.
ATI's Hydravision utility tries to compensate for this, but it's far from perfect.
With a Matrox card, each monitor shows up as an independent display. Windows knows where the edges of the screen are, and will avoid making UI elements like menus span across 2 displays.
Last I checked, neither ATI nor Nvidia allowed me to control this. Has that changed? |
| Sat 13 Dec | Brad Wilson | 'Last I checked, neither ATI nor Nvidia allowed me to control this. Has that changed?'
Quite a few years ago, when the OS started bundling the multiple display feature in (at least as long ago as Windows 2000/Me, and I think even as long ago as Windows 98). |
| Sat 13 Dec | T. Norman | The OS bundles the multiple display feature ... does it allow independent displays with one dual-head graphics card, or would you need two graphics cards (or a Matrox) to do that? |
| Sat 13 Dec | Chris Altmann | NVidia does independent monitors. I use this setup at work with a Geforce4 Ti4600.
In addition, I use Ultramon to give me independent taskbars for each monitor.
http://www.realtimesoft.com/ultramon/overview/ |
| Sat 13 Dec | Robert Jacobson | Many recent video cards (GeForce and Radeon) support dual monitors with one card. You should search for 'dual head' graphics cards. Here's one list:
http://shop.store.yahoo.com/directron/dualhead.html
E.g., the GeForce 5700 that I just bought has two output ports -- a VGA port and a DVI (LCD) port. You can buy an inexpensive adapter cable that converts the DVI port into a second VGA port, so you can hook up two monitors. (I don't know if you can go the other way to get two DVI ports, but many LCDs also have VGA inputs.) |
| Sat 13 Dec | T. Norman | I have an nVidia Geforce3 Ti200. It has Twinview which supports two displays on the one card, but it is not apparent from the documentation that it handles two *independent* displays. The only options described are "Clone", "Horizontal Span", and "Vertical Span". |
| Sat 13 Dec | Myron A. Semack | I'm not asking about supporting 'dual monitors with one card', I'm asking about supporting dual display in INDEPENDENT mode. There's a difference.
I know ATI did not as of last week. It's been a long time since I've looked at an nVidia card. |
| Sat 13 Dec | www.marktaw.com | Go back to 640 x 480 and then back to your full normal desktop size, then tell me whether or not MORE screen real estate will help you. |
| Sat 13 Dec | John C. | Back to the OP's question, I use a dual-LCD dev system in my home office, but my personal/non-business PC is a single-display system. And every time I use it I miss the dual-monitor support.
Dual monitors are great any time you want to be using two apps simultaneously. Having them side by side is much better than alt-tabbing between them or trying to tile them on a single display (unless, perhaps, you have a *very* high-res monitor). For example, a spreadsheet with your investment research and targets next to a browser with your E-Trade account. A Quicken session next to a browser with your online banking service. Or even a text editor next to Expedia/Orbitz/whatever so you can keep notes on different flight, hotel, etc. options when you're planning travel. Open e-mails and still see your calendar or contacts list. And on and on and on.
Oh, also, I've used Flight Simulator on a triple-head system and it is very cool -- actually passable for VFR flight, which I find nearly impossible on a single-monitor system because of the severely restricted field of view.
For development, of course, multiple monitors are a godsend. For one thing, you can actually open up a modern IDE and still have room for your code after all the various windows and panes are open. Plus you can have your requirements document, command line, Web browser, bug tracker, CVS client, WinAmp playlist, and everything else you need open simultaneously. Very, very nice. |
| Sat 13 Dec | Mike Swieton | I have three screens in front of me right now. It is really great to be able to have, for instance, headers and code open next to each other, or documentation and code. Or just to have a random command prompt open as necessary. The third screen isn't nearly as valuable as the second, but still worthwhile. I cannot recomend multiple screens highly enough. |
| Sat 13 Dec | T. Norman | 'Go back to 640 x 480 and then back to your full normal desktop size, then tell me whether or not MORE screen real estate will help you.'
Sure, more screen real estate is better than less of it, and I would install a second monitor without hesitation if it were free. The question is the extent to which it is worth paying for. It is definitely worth paying money to go from 640x480 to 1280x1024. But I don't know yet if it is worth hundreds of dollars to go from 1280x1024 to dual monitors. Wherever the point is, everybody has a point at which more screen real estate is not worth paying for. |
| Sat 13 Dec | _ | A 19inch flat panel costs on average about $650, with many deals to be found. If you are making more than $50K a year, it is money well spent. just the ability to have one window open to documentation, and the other with the development environment, is worth the cost. i used to put my messaging and email in the 2nd monitor, until I bought the 3rd. :) |
| Sat 13 Dec | Prakash S | Mike,
which monitors do you use? |
| Sat 13 Dec | www.marktaw.com | Okay how about this... Get a new monitor for every thousand ALT+TAB's you perform in a day. 1280 x 1024 is great, but it's not 2 full sized windows next to each other. Not even at 800 pixels wide. |
| Sun 14 Dec | John Rose | 'The problem I've run into with non-Matrox cards is that they only run multiple displays in 'stretched' mode as opposed to an independent mode. Matrox cards give you a choice.'
I don't find that true of any nVidia or ATI dual-head setup I've used in years, on Win2K or XP.
I have really good dual-head results with an el-cheapo Radeon 7000 which you can get for $35 from NewEgg. Although you obviously wouldn't want to do 3D with it, it's great for 2D.
Additionally, and I haven't tried this with other cards, but the dual-head Radeon7000's 'play nice' with eachother if you have the PCI version *and* the AGP version installed in the same system... I have both, and just for kicks I put them in one machine and ran four monitors at once just to see if it worked. And it did. :-)
Link: (no, I don't work for them and this isn't an affiliate link or anything)
http://www.newegg.com/app/viewproduct.asp?DEPA=1&submit=Go&description=radeon%2C7000
T. Norman, for $35, can you go wrong? You surely have a second monitor laying around somewhere that you can borrow for a little testing to see if it's worth it for you. I think you'd enjoy it! |
| Sun 14 Dec | David Fischer | 'I'm not asking about supporting 'dual monitors with one card', I'm asking about supporting dual display in INDEPENDENT mode. There's a difference.
I know ATI did not as of last week. It's been a long time since I've looked at an nVidia card. '
What? They've done this for about 4 years now.
For my thesis work, I used Win98SE, an ATI Radeon VE card (the low cost dual-head card from about 3 years ago) and a 17' and a 15' monitor. Both monitors ran at different resolutions (17' @ 1600x1200, 15' @ 1024x768). Both worked 'independently'. I could drag windows from monitor to monitor. I could expand a window to fill a single monitor (Windows recognized the edges of each monitor).
This was very useful. I could have my thesis open on the smaller monitor and my graphics program open in the larger monitor. I could create graphics and add them to my thesis without juggling windows. I could also run Matlab full screen on the larger monitor and have the graphs appear full screen on the smaller monitor. Very handy. And for dabbling in web development, I could run Homesite one monitor and have a preview browser open on the second monitor.
Currently, I use it when updating finances. I open the money program on one monitor and a web browser showing my 401k contributions on the other. I can then more easily enter my 401k investments into my finances without juggling windows.
I recommend doing it without looking back. Grab an old monitor you've got collecting dust for your second monitor, to save money if you need to. |
| Sun 14 Dec | Almost Anonymous | I was also going to comment on the ATI thing -- yes they handle duel monitors just fine. In fact, I just bought an ATI All-in-Wonder Radeon 9600 which handles two monitors out of the box. |
| Sun 14 Dec | T. Norman | ATI does two *independent* monitors out of the box? As in two monitors having different resolutions and their own taskbar? |
| Sun 14 Dec | Almost Anonymous | 'ATI does two *independent* monitors out of the box? As in two monitors having different resolutions and their own taskbar?'
Even with two video cards; Windows does not put a taskbar on each monitor. That's why products like Ultramon exists.
However, ATI supports to fully independent monitors at different resolutions, refresh rates, etc. You can maximize windows independently to each Monitor. |
| Sun 14 Dec | Mike Swieton | Prakash:
'Which monitors do you use?'
Well, mostly I've just accumulated screens, they are not a matched set. Several years ago I bought what is now my left screen, a Sony 19' E400. Best screen I've ever used. I highly recomend it.
More recently I purchased my right screen, a low-end viewsonic 15' LCD. Only 60 hertz refresh rate on their, but it's flicker free, so no worries.
My middle screen is a used 21' that I got off of a friend. It starts wiggin out occaisionally, but it's no big deal.
They aren't all the same size, but they are close enough that 1024x768 on each is readable on all of them (and is the max res on theLCD). Having experimented, I find this to be a good setup for me, because little that I do calls for a higher resolution than 1024x768.
My video cards are (currently this changes sometimes) a ATI Radeon 9500, middle screen. It supports dual output, but under linux I don't see a way to get independent displays with xinerama. Windows works fine.
My left screen is a Matrox Mystique, 2mb ram. That's the other thing that limits my resolution :)
I have an SiS 6326 powering my LCD.
Aside from recent heat problems stemming from an already-crowded case having an ATI stuck in there, it's been working wonderfully and flawlessly.
The biggest issue that I have is that it's hard to get an environment that is useful for managing windows. When you're really working, you have many windows open, and moving them and switching can be a pain. I don't do much windows work, so I don't have an answer there, but under linux I use the ion window manager. It's really a great setup. |
| Sun 14 Dec | Prakash S | sweet:-) |
| Sun 14 Dec | Brad Wilson | +1 recommendation for UltraMon. If you're using multiple monitors, you should be using it. It's great.
And, to echo the information given earlier, yes, ATi and nVidia have supported fully independent monitors for years. I've been running my dual monitors for a few years. The key is to use the OS functionality that's been built in, to enable and control the displays independently, rather than using any of the 'special' functionality in the drivers themselves that does spanning (what you're explicitly trying to avoid). |
| Sun 14 Dec | Jonathan A. | Here's a freeware one as well.
http://www.mediachance.com/free/multimon.htm
I've been using this one for many, many months and have not had a problem with it on XP. I'm using it on a machine with two seperate video cards. One is an el-cheapo Trident and the other is a really old ATI Rage Pro card. |
|
| More thoughts on single threaded servers | Sat 13 Dec | christopher baus (www.baus.net) |
| Ori and anyone else who cares. Ive taken your advice and implemented a single threaded server. I thought I was pretty bright and all. I was convinced this would provide the ultimate server performance. I wanted it to be THE server solution. Then I realized something bad...
Page Faults happen....
If the server process page faults while running the one thread, Im screwed. The whole process stops while an I/O operation of unknown duration occurs. In a server which made use of kernel threading it wouldnt be as big of a problem since only thread handling the connection when the page fault occured would block.
NT is particularily bad. There really is no way to control the how the paging mechanism works. If the server goes idle it, NT slowly starts paging the process out to disk. If traffic picks up suddenly the server could behave very slowly while the image is paged back into memory.
I think what I really want is a non-preemptive or coorporative threading mechanism that task switches when page faults occur. I know of no major server OS that provides such a mechanism.
Any thoughts? |
| Sat 13 Dec | Christopher Wells | Use an API like SetProcessWorkingSetSize to reduce NT's paging your process to disk? |
| Sat 13 Dec | christopher baus (www.baus.net) | According to MSDN...
Using the SetProcessWorkingSetSize function to set an
application's minimum and maximum working set sizes does not guarantee that the requested memory will be reserved, or that it will remain resident at all times. When the application is idle, or a low-memory situation causes a demand for memory, the operating system can reduce the application's working set. An application can use the VirtualLock function to lock ranges of the application's virtual address space in memory; however, that can potentially degrade the performance of the system.
....
Maybe if used in combination with VirtualLock this would work. I'll have to look into it... |
| Sat 13 Dec | Christopher Wells | NT never seems willing to "guarantee" much about performance, to applications ... but I found that if the system has plenty of memory, then increasing the process working set size reduces paging out (even when the application is idle), which for me alleviated the "If traffic picks up suddenly ..." problem. |
| Sat 13 Dec | the artist formerly known as prince | Maybe put in some low cpu loop (maybe a socket connecting once a second and then closing, or a calculation of 1+1 into the main thread and run it in a loop, i.e. to the os it will never seem idle |
| Sat 13 Dec | The Artist Again | if (numConnection=<2)
{
...Do Something
} |
| Sat 13 Dec | christopher baus (www.baus.net) | if (numConnection=<2)
{
...Do Something
}
That would be a BadIdea w/out at least a sleep. But then a sleep would ruin performance if there is only one thread.
I just wish I could be notified when a page fault is about to occur. Then I could go do something else. Problem is that would make the code look really wierd. Just about any line could cause a page fault.
I'm starting to think that under NT at least that using a single threaded server isn't optimal. It seems like a great idea, but for this problem... |
| Sat 13 Dec | Jeff | I've probably missed something in a previous discussion; but I don't think this is a problem of single vs. multiple threads.
Windows (and presumably Linux) won't swap out your code if it is running. No matter how many threads are running through that code. Once your server is idle, you have only one thread blocking on an accept call -- whether the server is coded as single- or multi-threaded. Therefore, Windows feels free to swap you out of memory.
Of course, this is all relatively moot if some other process is getting hammered on the machine and is eating up available memory. In that case, your server WILL probably be swapped out regardless of how many threads you have running. |
| Sat 13 Dec | r1ch | Jeff - I think the point is that when a single threaded server has a page fault the whole process is blocked by the IO. When a multi-threaded server has a page fault, that thread is blocked by IO, but another thread can do some work in the meantime. |
| Sat 13 Dec | David Jones | Two points:
1. I have witnessed idle processes on idle machines getting paged out. i.e. the machine will page you out even if it does NOT need the memory. Perhaps this is a result of poor tuning, perhaps the systems are creating a contingency for new processes. But it does happen.
2. Some systems implement threads in user-space. If a page fault occurs, then the whole process is suspended to handle the fault, so multiple threads don't run. I think FreeBSD 4.x is like this (and 5.x fixes this). Beware writable pages shared between threads; if they get paged out then all threads can block on them. |
| Sat 13 Dec | Ori Berger | Hello Christopher.
Yes, page faults could be a problem; The quick-and-dirty solution is to make sure you access relevant pages continuously - e.g., once every second. But that's more of a band-aid than a real solution.
This problem isn't unique to single threaded servers, btw - it's the same for multithreaded servers. Less likely, but still happens.
The first thing I'd do to solve this is increase my working set - by actually continuously accessing relevant pages. If that's not enough, and you can run another process to take the load (without requiring much synchronization) then I'd do that - you'll get the benefit that you can also distribute over multiple machines.
If all else fails, what I do in these cases is set up special purpose threads that do a specific task; e.g., suppose what you run is a webserver, and there are requests that require computation over 200megabytes of memory which are likely to be swapped out. Set up a thread that waits for a message, does the calculation, and posts a message when complete.
The main thread, upon request, will post this message, and resume to handling other connections. When the computation is complete, it will return the reply. If you need more concurrency, set up more threads like this. However, make sure that the initial 'start processing' message delivered upfront contains everything needed about the job - or you would need all of the main thread to be instrumented with synchronization primitives.
This, IMHO, is a proper way to use threads - the common way, of making all threads equivalent in their function, is what makes them so hard to use. |
| Sat 13 Dec | christopher baus (www.baus.net) | Problem is that as soon as a transfer memory from the TCP/IP stack into my process with recv (or similar) a page fault could happen. This would be a really bad time for a page fault to occur. I have assumed that I/O has finished asynchronously and I'm ready to process the data, then bam, page fault, all processing stops while an I/O operation of unknown length occurs.
This probably isn't horrible if I do everything possible to lock buffers into physical RAM (with previous stated tricks), but it really messes up my original assumptions. And I'm not convinced a single threaded solution will always out perform a solution with kernel mode threads. |
| Sun 14 Dec | Ori Berger | It could happen -- almost anything could happen -- but it shouldn't, at least not often. I have written some memory-hungry servers, and none had a problem with the recv() buffer swapping out.
Consider recv() into a local variable -- the probability that the stack will be paged out is much, much lower.
Also, if you're running on Windows, the best thing you can do is use WSARecv; It's asynchronous and won't ever block. It will alert your thread when the data has been received. If you're using Unix, use aio_read/aio_write stuff (sadly, the asynchronous stuff is not standard across platforms).
Is this _really_ a problem you observe in practice? What kind of server is that, if I may ask? What kind of data is being transferred (length, encoding, statistics, etc ...)? |
| Sun 14 Dec | Dwilliams | This is NOT a problem in real world practice. I think you are over-analyzing the situation. Put adequate RAM in your machine, you will be fine. |
|
| programming drunk | Fri 12 Dec | FullNameRequired |
| *hic* ...what a bad idea...
Its amazingly easy to do....Partners christmas party so we go and have a good time and now I get back and a client is screaming in pain because theyve just found (after 3 months testing time during which they apparently _werent actually using the bloody program_) that some feature or other is just plain broken and suddenly its desperately urgent that they get it fixed immediately because of some weird series of events (did I mention theyve had the damn thing for 3 months for them to test it...)...
gods..Im staring at it all and it reads like greek....then I started and finished in approx 1/2 the time it would usually have taken me.
Ive put the fix in and sent if off and Im wondering what ive missed.....
any other stories? |
| Fri 12 Dec | Beware the power of my stinky feet! | Well, it's been said that 'Drunk, the Russians beat back Napoleon. Drunk, the Russians beat back Hitler.' And drunk, the Russians could've beaten back the good ole U.S. of A.?!
Here's hoping we Americans never find out for sure. |
| Fri 12 Dec | Brad Wilson | My freshman year I had a professor who swore that the best way to develop was code drunk, debug sober. :) |
| Fri 12 Dec | Ryan | I used to work at a very small ISP that was not very professionally run. The president was in late one night and apparently got quite loaded at the keyboard. He decided it would be a good idea to secure the systems a little more by changing all the passwords. Of course, the next morning he frantically realized that he had no clue what his passwords were. I got an urgent call at home and had to give him my personal password so that he could login as me and reset the passwords. There was one router in particular that I don't think we EVER figured out the new password... |
| Sat 13 Dec | Greg Hurlman | In my sophomore year of college, I'd had 3 months to work on a project, so naturally I didn't start until 4 days before it was due... unfortunately, I was too stressed out about the project before me to do any real work.
I eventually broke the stress by starting off my code marathon with 12 cheap-o watered down cans of 'beer'. I started coding, and 88 hours later (with driving across VA to a fencing competition and back for fun), I finished the project and turned it in, 4 hours early... got an A even. :) |
| Sat 13 Dec | Brian R. | It's logical, even though I don't drink. If drinking makes you more introverted, drawn into yourself, then code productivity following that is not a surprise.
Everyone is aware of some incident where they were deep into their tech thoughts, and rather a step out of syn with the normal flow of other people's lives.
I would assume you all have. |
| Sat 13 Dec | Running for cover | Typing speed is down though, due to the vomit on the keyboard. |
| Sat 13 Dec | name not available | once we (me + collegue) had a deadline on 'next morning'. the client expected it.
we bought 2 bottles of wine and pipe and started coding. 4 hours later we went home. we didn't give a s..it about the deadline.
next morning i went to the office. all windows was open (pipe and cigarette), 2 bottles on the floor. my boss asked 'i see you had a good time, how about the deadline'.
'well, oops, we worked so hard, but we wasn't able to finish'.
- he didn't fire us ... the project later turned into a relative success.
i was 19 at that time.
however i'm not proud of it right now (i'm 28), but it was fun :) |
| Sat 13 Dec | MX | I don't know about programming drunk, but I fixed an amplifier while drunk, at a party.
Except the fact that I had very little control over my fingers, and had to ask someone else to do things for me, it was ok, and the result was good. |
| Sat 13 Dec | tapiwa | A lot of the great authors attest to a little drink illuminating and providing inspiration.
YMMV |
| Sat 13 Dec | tapiwa | No poems can please for long or live that are written by water-drinkers.
-- Horace BC 65-8 |
| Sat 13 Dec | name not available | anybody tried under marihuana or other stuff?
what is the ultimate 'tool' to increase this type of productivity? :) |
| Sat 13 Dec | no name | No question, speed.
This thread is history... |
| Sat 13 Dec | Insert half smiley here. | You can program after smoking weed. It's just a bit more effort, and you have to take more care. Your thoughts proceed less in sequence, your short-term memory is inhibited, and there's an increased likelihood of having that 'eureka!' feeling. That's a dangerous combination.
There's no guaranteed way of increasing your productivity with this kind of thing. Most fun drugs (i.e., not caffeine, and not nicotine) disturb thinking patterns, and unless your thinking in the matter is already done you'll probably find that what comes out the other end is no better (and often worse) than what you would have come up with anyway.
If your productivity is significantly increased after taking drugs, given that most drugs decrease boredom thresholds I suspect you're doing work that is barely more than routine. |
| Sat 13 Dec | Insert half smiley here. | Replace 'unless your thinking' with 'even if your thinking'.
(No... I'm not on drugs.) |
| Sat 13 Dec | Philo | I often wonder if I was drunk when I look at some of my older code.
Philo |
| Sun 14 Dec | Tim Lara | I think I'm going to try this this weekend and see if I can make any progress on this project I've been spinning my wheels on for a week and a half...Being drunk does make the boring more palatable. I've found that the only way I can motivate myself to clean my apartment is to do it under the influence... |
| Sun 14 Dec | Juha | I remember reading somebody's account of a particularly bad weekend: Finish project at a rush by friday deadline, and ship to customer half around the world. Go clubbing to celebrate your feat. Come home sometime saturday morning with still highly toxicated. Find a bug report from the customer asking for quid fix. Dive into code. Complete the fix, ship and crash to bed. Later saturday night go out again. Come sunday morning and find a new bug report claiming your 'fix' broke everything (small wonder). Spend the whole of next week trying to fiure out what the heck it was you did during those few hours saturday morning.
(No, it was not me. And yes I know this might be just another urban legend). |
| Sun 14 Dec | name not available | philo: 'I often wonder if I was drunk when I look at some of my older code.'
you will say the same thing 5 years from now |
|
| What does it mean? | Fri 12 Dec | P'd off |
| What does it mean when a company places an advertisement specifying what skills they are looking for in a programmer, you send them a resume and cover letter because you have those skills/experence and they send you a letter telling you that you have excellent qualifications but that youre are not a match for the skills they are looking for?. WTF?
Is this some kind of cruel HR joke? Did the company just place the ad to collect resumes? (Ill never for the life of me understand why companies do that?) All of my turn-down letters read like this? I mean what the hell do you have to do to getting a fuckin job? Why all the bullshit. |
| Fri 12 Dec | Gamut | Not 'a match for the skills they are looking for' just means that they looked at resume and didn't think that you are qualified for the position. This may mean that your skill level isn't at par with what they want or they don't think you would be a good fit for the company in other aspects.
This is just a polite way of saying 'you're not good enough' or 'we've got better candidates'. |
| Fri 12 Dec | Brad Wilson | I'm sure the ad doesn't list every quality they're looking for, and let's be honest, it's a hirer's market right now. |
| Fri 12 Dec | ajs | It means 'We got 100 resumes. We only look at the first 15, and bin the rest. You were number 67. Have a nice day.'
The alternate is 'We have a Word macro looking for keywords. You need at least 15. Yours had 6. Have a nice day.'
Tip: Look at all the ads, and pick out the keywords. Jam them into your resume somehow, eg replace old-fashioned 'Stock Control' with the now hip 'Logistics'.
Failing that, add the line 'I've love bookstores, since they have lots of books on C++, C, Java, C#, .NET, Python, ASP, VB, Visual Basic, Internet, Network, NT, Microsoft Office, Security, TCP-IP and more.'
Bingo, 15 keywords. You've just made it past the first filter.
Now you need to get past the low-paid temp, then the junior recruiters, then the person handing the job, then the company HR, then the ah bugger it, I'd rather be unemployed. |
| Sat 13 Dec | uncronopio | It might also mean that they needed to advertise the job (because of some internal company regulations) but they already have a good internal candidate. Thus, the whole process is a joke. I've seen this done before. |
| Sat 13 Dec | my god, it's late... or is it early? | LOL AJS, I like your macro answer. I could believe it, except that I can't believe that there's an HR guy out there somewhere who actually knows how to "program" macros. |
| Sat 13 Dec | Jeff | First, count yourself lucky that you received any reply at all. Last year, when I was job hunting, I almost went crazy because after hundreds of resumes sent out, I received only a handful of replies. Granted, one of those replies was the one that got me my current (crappy) job.
Second, there are a lot of reasons why you might be told you have excellent skills but that you aren't quite what the company is looking for. As I've been recruiting lately, I find myself using this phrase quite a bit for candidates who just don't quite have the amount of experience I'm looking for or who haven't been working on the right sort of projects.
If I had more time, I'd explain in detail to each candidate why he didn't make the cut; but frankly, just sending them a canned 'You're not quite what we were looking for' email is quite time consuming. (But after going crazy last year, I swore I would respond to every candidate who followed the directions in the advertisement.)
It certainly can be frustrating. |
| Sat 13 Dec | Stephen Jones | It's just a polite standard refusal letter. I send letters tellling people we had so many good applicants we couldn't shortlist them but are keeping their details on the database in case we change our mind. In 90% of the cases it's half true; I'm keeping their details on the database so if they apply again I know to refuse them automatically, but I am not going to offend somebody by sending him a letter saying he's a piece of crap I wouldn't hire to clean my toilets, even if it is true. |
| Sat 13 Dec | no name | >> 'I'm keeping their details on the database so if they apply again I know to refuse them automatically,'
I hope you are talking about different positions. Also people resumes change over time. Sounds like a bad practice to me.... asshole. |
| Sat 13 Dec | Bored Bystander | The job search is psychologically brutal, because there is an implied negative value judgement in every rejection. Maybe companies are aware of this when they don't respond and are being kind by being mute. Maybe.
And another thing to consider. When you have a lot of experience or reek of being above a certain age or in a certain demographic, you may be too unacceptably 'subversive' to consider.
The point is, companies want a 'right' fit. Rightness connotes being in a range, and being neither way above nor below. If they're looking for an unwashed junior developer, they don't really want to consider someone with an all star track record because that person will simply not be happy in a position defined for entry level work. |
| Sat 13 Dec | Celia Redmore | The usual response to a rejected candidate is some form of: You're a great person, but unfortunately we can't use you right now.
In other words, the exact wording is meaningless. I'll bet if you could locate other candidates, you'd find that they all got the same letter.
Don't sweat it. |
| Sat 13 Dec | Ged Byrne | Stephen,
I remember whan I was 18 years old and I genuinly believed that they had been impressed with my CV, and that I would be considered for future positions.
How naive was I ? |
| Sat 13 Dec | anon | 'It might also mean that they needed to advertise the job (because of some internal company regulations) but they already have a good internal candidate. Thus, the whole process is a joke.'
Sometimes it's not necessarily because they have a good internal candidate. Nepotism is alive and well despite company policies against it. Either way, the advertisement is merely a matter of adhering to the written hiring policy while circumventing it's intended effect. The job description is written to match the desired person's resume almost verbatim, a couple unlucky folks get an interview despite having no chance at actually getting the job, they go ahead and hire the person they were going to hire anyway, and it sails through HR because the person is the perfect match for the advertised job description and they can come up with sufficient justification as to why the other candidates they interviewed weren't good enough. To borrow an metaphor from high school dating, the company is being a 'dick tease.' |
| Sat 13 Dec | Bored Bystander | Oh, well, at least a couple of unemployed SW engineers get job interviews to record for their unemployment eligibility... |
| Sun 14 Dec | Full name: | anon... Now that I think about it, soon after being laid off I saw my exact job description on a job site. Well, it didn't match at all what I did or even was expected to do, but it was the right title. What it did match was the skillset of the guy who replaced me. I thought at the time that he had written the ad looking for someone else to work under him, but now I see it was probably written with the intent of hiring him specifically.
He was transferred from another division, and from what I can tell, was being groomed to take over my spot for a while. He came from the same division as my boss at the time, and was probably brought because my boss was new and was looking to establish a beachhead and wanted to take his old, loyal staff with him.
Let's hear it for nepotism and internal politics. |
|
| 7th interview running | Fri 12 Dec | anon |
| Well guys Im giving my 7th interview in 3 months, with no offers yet,Im still unemployed and hoping for something to pop up, how are the other unemployed folks doing on the board? Its getting frustrating with so many interviews but no offers. |
| Fri 12 Dec | Philo | I'd say the best thing to do to keep your spirits up is to tell yourself that that's better than simply not getting called at all!
Remember - you only need *one* job; you just may have to go through a few to find it. ;-)
Best of luck!
Philo |
| Fri 12 Dec | Sam Livingston-Gray | At least you're getting interviews. The job market here in Portland (Oregon) has been pretty awful. In over a year, I've sent out about 50 resumes and only had about three interviews. (= |
| Sat 13 Dec | www.marktaw.com | Try revising your resumes, and interview tactics. You can always bring your game to the next level. |
| Sat 13 Dec | tapiwa | Somethings wrong. You need to brush up on your interview technique.
There are quite a few books out there on how to do this. Lots of articles on the web too. Google for interview techniques.
In an interview, it's the little things that count.
*Do you show up on time
*Do you dress appropriately?
*Do you give a firm handshake?
*Do you look *all* the interviewers confidently in the eye when you answer your questions?
*Accepting a cup of tea is a good thing. Makes all feel at ease.
*Do you sit confidently and openly in your chair during the interview? Slouching is a bad thing.
It's also about the way you respond to the questions.
*Do you show that you have done your homework on what the job might entail?
*Do you show that you have looked into the company?
*Do you show enthusiasm for both in your answers?
*Do your answers tie in with your resume?
*Are you negative about previous employers? (bad thing)
*Are you able to turn tricky questions into a marketing spiel? (eg. What is your biggest weakness? Well I like to get things done quickly and properly, sometimes I can be impatient but I'm learning to overcome this.)
When it's your turn to ask questions, ask interesting questions, that show that you have thought about the company and the job.
I always close the interview with
'So, do you have any reservations about me at this point.'
They might raise something like 'we are actually looking for someone with a bit more Oracle experience.' In that case I would (where appropriate) refer to other jobs on my resume, where I have used Oracle but have not mentioned. Or mention that I did a varsity project with 8i or whatever... you get the drift?
Oh yeah, sidestep the deal killers.
Salary.
You don't want to price yourself out at the interview stage. Or come in so low that it seems you don't realise the level of the job. I never give salary requirements in an interview. Never. I get them to name a figure first. You can always use a variation of the 'I think it would be more appropriate to discuss salary when I know more about the specifics of the role.' or something about market rates for the role, etc etc, but do not say I want £100k. You might then be written off because his budget is £95k. If you prove yourself at this stage, and they like you, they are more likely to up the ante by £5k than go through the recruitment process again.
Travel & Hours.
Unless this is important to you, don't bring it up. If you do, it might be taken as a sign the you will have issues with travel should the need arise. Questions like this also suggest (to me at least) that one is looking for a job period, and not looking to add value. I am always wary of the 9-5 sort. (my bias)
Shot in foot.
Again, since you are unlikely to know at this stage what biases the interviewers have, the less you say, the less likely you are to offend. If you suddenly declare that your fave Dem candidate is XYZ to a staunch Republican, you are not doing yourself any favours. It is an interview, but try and listen more than you speak.
|
| Sat 13 Dec | Dennis Forbes | As Tapiwa mentioned, one of the primary things that can be a deal breaker for many interviewers is if you demonstrate that you know nothing about the organization aside from what was listed in the job ad ('So what do you know about MegaCo?'' 'Uh...you're an equal opportunity employer?') -- It makes it looks like you're rolling dice, and you don't envision yourself having a chance so it isn't worth wasting the time (and as an aside, self-confidence is the #1 predicate of success -- all those guys wearing suits and talking about leveraging the new paradigms generally have as their #1 'asset' self-confidence), and that definitely leads the interviewer to the same conclusion.
I've interviewed a lot of people, and it's amazing how many people will come for multiple interviews, jump through hoops, yet they never bothered to learn anything whatsoever about the company that they're ready to spend 1/2 their waking hours at for years. |
| Sat 13 Dec | Michael Moser | i wrote a perl script
- searches the local job board (local in Israel)
- tracks if i already sent out a CV (small access db)
- sends out CV with cover letter.
Guess what? After 350 letters i got a real job (and a good one at that)
It seems to have something to do with the law of big numbers.
http://www.michaelmoser.org/jobbot/
here is my script if your want to tinker with it |
| Sat 13 Dec | Slartibartfast | The market here in Salt Lake is picking up. I've gotten several calls from recruiters this week, and it's not even what most companies are looking for. I got laid off Nov 17, so I've been luckier than most. I realize that Salt Lake is a boring town for most people, but there are jobs here and looks like a lot more from what I hear through the grapevine.
You didn't post what skills you are interviewing for, but around here Java and Oracle are hot skills. C# and QA seem to be a close second. I do VB and SQL Server, which is not that hot over here. However, it looks like I might get an offer for a contract in Idaho next week. |
| Sun 14 Dec | Portabella | Generally, one of the difficult things about interviewing and *not* getting the job is the lack of clear feedback. Oh, they might tell you exactly where you went wrong nd exactly why you didn't get the job... but I wouldn't bet on it.
If it looks like the job will work from an HR standpoint (they have a position, you and they are ok with the salary, commute, etc), then the main two reasons for not getting the job are:
1. Competition
2. Shooting yourself in the foot
Act accordingly. |
| Sun 14 Dec | John Rose | 'I always close the interview with
'So, do you have any reservations about me at this point.''
Great advice! I'll use that at my next interview. |
|
| Secure file transfer under windows? | Fri 12 Dec | Jesse Collins |
| Is there a decent free secure file transfer system under windows?
I tried an OpenSSH port (well, basically just packaged with a few cygwin dlls) but it turned out to be pretty finnicky and makes you use the /cygdrive folder (yuk).
All I really want is a little scp-ish server program, nothing fancy. It seems like it should be fairly easy to write a native windows app using OpenSSH or OpenSSL that I cant believe theres no little open source project for it.
Is this a case where theres just nothing open-source available, or am I missing something?
Thanks. |
| Fri 12 Dec | mb | WebDAV over HTTPS? Both sides are built in to Windows XP Pro. (IIS (server), WebDAV redirector (client)).
Of course this may be a bigger system than what you want to deal with. |
| Fri 12 Dec | Jesse Collins | Interesting, I look into that. For some reason I've never run across it before. Although it looks like it's specific to web development? |
| Fri 12 Dec | no name | WinSCP3 |
| Fri 12 Dec | Jesse Collins | Sweet! Perfect. I guess my googling skillz need some work... *blush* |
| Fri 12 Dec | Jesse Collins | Oh, wait, that's just the client side... yeah, there's lots of client side scp/sftp, its a scp/sftp server i can't find. |
| Fri 12 Dec | Software Is Fun | FolderShare has encrypted transfers. It's great for moving stuff back and forth between the home and office. |
| Fri 12 Dec | Software Is Fun | Er, I guess that should just be: http://www.foldershare.com |
| Fri 12 Dec | Mike Swieton | I believe that the cygwin distribution of linux tools includes an ssh server. It's a bit of a hog to get just for file transfer, but I'd like a bash shell anyway. |
| Sun 14 Dec | i like i | So you have (had) OpenSSH running but /cygdrive sucks? Just make the drive it wants to work with a hardlink (ntfs right?) to the place you want to put it.. |
| Sun 14 Dec | Jesse Collins | Well, yeah, the path issues can definitely be overcome but for some reason I can't always open a connection. I don't think I'll be able to use it in its current unreliable state. Unfortunately It's really tough to find good docs on this sort of thing, but maybe I'll just keep tinkering.
Thanks. |
|
| software copy protection | Fri 12 Dec | E.Diril |
| There are various ways software companies try to implement copy protection. I know for a fact that no copy protection is 100% effective. If multi-billion-dollar companies cannot come up with a way to protect their expensive software, I am sure it is next to impossible to do it period.
However, in your opinion, what are good ways of achieving at least some level of copy protection? What are some of the latest trends with respect to this issue?
Your thoughts are appreciated.
Thank you!
P.S. I just remembered reading one of Joels articles. He mentioned giving out source code to customers so that they can find and fix bugs if necessary. Is this really a viable option? I personally cannot come to terms with giving away the source code for whatever reason. If I am to do that, why bother with copy protection?! Technically customers already paid for the product, but anyone (including people who didnt pay for anything) who comes across the source code can build the application. |
| Fri 12 Dec | Mitch & Murray (from downtown) | 'He mentioned giving out source code to customers so that they can find and fix bugs if necessary.'
I don't own any of their stuff, but to my knowledge Fog Creek does not distribute the source code to their apps. Maybe Joel thinks it is a great idea for everyone but him, I dunno.
In the component business it is not uncommon to distribute source with the components - more so in the Delphi/VCL world, less so in the VB/ActiveX world. Copy protection on that kind of stuff is very difficult, so most vendors don't attempt it, other than perhaps a password encoded install file or something like that.
When it comes to commercial apps this is much, much less common. If you are trying to lock the app down with some type of copy protection then distributing the source hoses that whole idea. |
| Fri 12 Dec | GiorgioG | copy protection is bad, you want lots of copies of your software out there - just not illegally licensed/cracked/keygen'd software. Therefore the only method that's least detrimental to your paying userbase, is a feature in & of itself and cuts down on the "casual pirates" is to add a serial/license key scheme and do automatic update checks, in the updates themselves, have a blacklist of keys which will invalidate the updated installation back to it's 'trial' state. |
| Fri 12 Dec | A cynic writes | erm...I think the relevant article is 'Up the Tata without a Tutu':
http://www.joelonsoftware.com/articles/fog0000000026.html
In it he says: '...if you find a bug in FogBUGZ and fix it, and send me the fix, I'll incorporate it into the next version.' |
| Fri 12 Dec | Brad Wilson | FogBUGZ is an ASP application, so at the very least he has to give away the ASP pages.
'However, in your opinion, what are good ways of achieving at least some level of copy protection?'
Don't give them binaries. Seriously. That's the only foolproof system. That's one of the very nice features about an ASP business model (not to be confused with Microsoft Active Server Pages). By keeping everything -- source, binaries, and data -- then it's basically impossible for someone to pirate the application without breaking into your servers. |
| Fri 12 Dec | Eric Debois | Regular serial protection would probably work great if it were not for crackers. At least if you update it every so often and have any kind of novelty value. Pirates dont like to use last years version.
I read somewhere (Gamasutra.com i think) that the best protection against cracks is not a scheme which is hard to crack, but one that is boring and time consuming.
Litter the code with little checksum checks. Dont do it 'properly' -have 10 different functions for it and call them at random. Have the actual checksum stored in 20 different places. Put public vars in every class which together can produce the checksum.Make time deleyd checks or tie the to rarely used functions. etc etc...
Looks like a nightmare to maintain though. |
| Fri 12 Dec | www.marktaw.com | Eric is right, this is the security mantra...
'There's no such thing as a completely secure system. The more time and effort it takes, the less worth it is.'
Whether it's personal security or cracking programs, the same rules apply. The more effort, the less likely it is someone will do it, and for software this includes effort over time, so multiple releases, and keeping only the latest release available on your website so crack sites quickly fall out of date is another good method. |
| Fri 12 Dec | TrackBurner |
On Commodore 64 and Commodore Amiga they were a couple of pretty good protection (all have been cracked!)
on games. |
| Fri 12 Dec | anon | The situation with the Commodore 64 really illustrates the futility of copy protection. Software companies went to some pretty amazing lengths to protect their programs and it didn't work, they still got cracked. They'd write custom boot loaders that would download code into the 1541 drive, completely reprogramming it to read some bizarre proprietary filesystem with 40 tracks instead of the normal 35 (some of these even caused damage to the drive over time because they'd slam the read head back and forth and cause it to become misaligned). Some games came with paper code wheels and you'd have to decrypt a cypher by aligning the wheels. People just took the wheels apart and photocopied them. Some even used hardware dongles on the joystick port. They still got cracked. 20 years later we still haven't learned the lesson. |
| Fri 12 Dec | Eric Debois | Sure, anything can be cracked. Nobody is arguing.
The idea is not to make crackproof applications, but to make time a factor. Since you brought up games.. If the dev studio can delay the crack 3 months, thats going to have a large impact, since the larger part of the sales for a game takes place during the first 3 to 6 months after the release. After that the game isnt so hot anymore, and cracking it may even become a low priority for the cracker since its all about the latest and greatest.
This can be done, and has been done successfully, by making the crackprotection illogical and scattred. Its about forcing the cracker to do loads and loads of compiling and testing. |
| Fri 12 Dec | Bored Bystander | I will indulge the group and say in advance that copy protection is a terrible idea. Hey, you gotta get along... :-)
Having said that ... I have been curious. Does anyone make an embeddable equivalent to Microsoft's activation protocol for their Windows XP and Office products? This seems like an untapped niche.
It seems to me that product activation that is dependent upon the user's hardware configuration is probably about as secure as the old hardware dongles. (for better or worse...) |
| Sat 13 Dec | E.Diril | I once read about a key generation algorithm that is tied to the harddrive's serial number (not the Volume ID). As long as the harddrive is SMART, then this option looks pretty viable.
Of course, this doesn't cover the possibility that the customer's harddrive dies, the software gets loaded to a new harddrive and at that point a new key is required... Or if we are going to be cynical, someone could 'claim' to have lost their harddrive, get a new key and move on... :)
Does anyone know if 'FLEXlm license manager' is any good? I know many 'expensive' applications use it. |
| Sat 13 Dec | Employed Russian | > Does anyone know if 'FLEXlm license manager' is any
> good? I know many 'expensive' applications use it.
It isn't. After reading an article on the web about how easy it is to crack FLEXlm on Win32, I decided to see if I can 'apply the lesson' on UNIX.
30 mintes later I had cracked versions of Purify and SunWorkshop on Solaris (I do have legal license for each).
The vendors could have made this harder by properly stripping the binaries, but they didn't. |
| Sat 13 Dec | Jay | For applications that are to be widely distributed and used by a lot of people, copy protection is VERY important.
It can increase your income (as a software developer) dramatically.
For applications that are to be used only by companies, copy protection is less important.
Companies don't want to risk being caught (by the BSA, for example) with pirated applications on their hard-drives, so they tend to buy what they use, even if they have a crack.
For protecting Windows applications, please look into Armadillo and ASProtect.
They are both excellent products which can help you protect your app. |
| Sat 13 Dec | Chris C | Just imagine if every piece of software was open source. Then, all these copy protections strategies, opinions, and discussions become pointless. It's the ultimate "Copy Protection". Boy, wouldn't all those clever crackers / pirates be pissed. Then maybe they could devote their considerable talents (not being sarcastic here) to something really productive and beneficial to the rest of us. Not that it would ever happen, just interesting to consider. |
| Sat 13 Dec | NotMe | >Does anyone make an embeddable equivalent to Microsoft's activation protocol for their Windows XP and Office products?
Actually, there are a number of companies that offer this technology to software publishers. One that I'm intimately aware of is called Aladdin Knowledge Systems. They are/were a hardware dongle company but have recently added a software-only option called Privilege. |
| Sun 14 Dec | no name | 'I personally cannot come to terms with giving away the source code for whatever reason. If I am to do that, why bother with copy protection?!'
I dunno, if it's good enough for Microsoft it's good enough for me. You're free to argue that Gates and co don't have a clue when it comes to protecting their business if you, like, though. (Microsoft licenses their source code, which is something that involves letting customers actually see and use this code. And when I say 'their code' I mean actual source code to commercial applications, not brief examples on MSDN.)
You see, Joel doesn't give away his source code and didn't suggest anyone else does either. He did, however, suggest doing something known in the professional software development world as 'licensing' it whereby people do what is technically known as 'pay' for a 'service'.
As for why you'ld do something that makes copy protection irrelevant? Perhaps he thinks making his paying customers happy to keep giving him money is more important than inconviencing people who would never give him any money anyway.
Oddly enough, the ease with which people crack software and rip music, then share it at no cost and without paying the owner suggests to me that sensible people are looking for a business model that doesn't rely on absolutely perfect copy prevention.
Piracy is easy, even with the huge effort put into stopping it because of the nature of the medium. It's hard to steal a chair, and even if you steal a chair you only have the one you stole. It's easy to steal software or music, and trivial to duplicate it. I would have thought it's obvious that the security that's applicable to one type of industry is not necessarily particularly effective in another.
Ah well, I'll just dream of losing a billion dollars a year to theft and still being able to pay the maintenance for my 3rd mansion without even noticing the missing cash. :) |
|
| If recruiter goes broke ... | Fri 12 Dec | x |
| If youre working through a recruiter who goes broke, its a good opportunity to negotiate a new contract directly with the employer, including getting the margin the recruiter was previously taking.
The recruiter will try to keep all this quiet from you. Theres a good article on the subject at Names Faces:
http://www.namesfacesplaces.com/html/view_news_article.asp?id_no=1297&photopage=0 |
| Fri 12 Dec | o | Brits are so cute. |
| Sat 13 Dec | x | Oh well, thought I'd point it out. |
| Sun 14 Dec | x | There's more news on this. The recruiter in question started up as a new entity and told its contractors nothing had changed.
In actual fact, the directors of the new entity, who were the same as the directors of the old entity, had only taken over some contracts. They left the others with the failed entity, which means those contractors are just debtors owed money they will never see.
As a result of the Names Face article, a lot of the contractors moved to take over their own contracts.
http://www.namesfacesplaces.com/html/view_article.asp?id_no=1305&photopage=0 |
|
| how do small companies live amongst the monsters? | Fri 12 Dec | E.Diril |
| I am kinda curious about how small companies (i.e. Fog Creek) developing and selling software survive amongst the big software corporations? It does happen, so I must be missing something in my reasoning. Please correct me where I am wrong.
The way I see it, when a small company comes out with a great new product, they do have a chance to create a decent size curstomer base and even grow it as the software gets better and includes more features, etc... I see that FogCreek accomplished that. However, once the software is out, especially after it is a hit, everyone will talk about it and know about it. At that point, what stops a big software corporation -say Microsoft- from creating a similar piece of software and steal away the good idea and the customer base? It will take time, but they have the time and the resources... The goal here would not really be to crush the smaller company, but simply steal the idea and use it to generate more cash.
In short, what secures Joel and his software companys future? What makes them feel so good about coming to work everyday, work on CityDesk, and know that their software will not have been duplicated by the end of the day, and the customers stolen eventually by some monster corporation? |
| Fri 12 Dec | Greg Hurlman | Sometimes, the limits of market value for the SMB's niche app makes it not worthwhile for the MSFTs of the world.
The rest of the time, there really isn't anything to stop them from creating a competing product, and business get steamrolled. |
| Fri 12 Dec | Bored Bystander | What I've found is that the talent necessary to design and implement software that customers will find useful, unique and will actually buy is exceedingly rare.
I'm not talking about throwing a bunch of code monkeys or offshore developers at a product idea. And I'm not describing some non-commodity technical skill (there is no such thing.)
I'm talking about conceptualizing and implementing a product based solution to someone's problem that they will consider worth buying at your price.
Most large companies, and even many small companies, can be suprisingly brain-dead and paralyzed in this process. There are a myriad of ways to abort the full cycle of this process - and you do need the full cycle.
The product idea can be lousy. The developers can run amok and build castles in the air that result in an unstable or difficult to use product. The management can be unresponsive or just plain stupid and can subvert a really good idea with a bunch of irrelevant bullshit. The market research can be poor. The product idea may be great, the developers may have done a good job, but the product may be priced out of reach of its target. The corporate ego may never permit even conceptualizing a product that is appropriate to the resources that the company can afford.
These are the main problems I'm seen in many companies.
I think the 'sublety' to a successful small developer like FC is that they can get all of these elements right consistently. |
| Fri 12 Dec | Mark Hoffman |
Eric Sink had some valid points about this, but in general, larger companies frequently require a larger rate of return than smaller companies.
For MS to go after a market that is, say, 5 million a year just doesn't make sense for them, but a small ISV can thrive there. |
| Fri 12 Dec | Jeff | E, you should really take a look at the following series of articles:
http://software.ericsink.com/Marketing_for_Geeks.html
I know Eric's site was mentioned recently within these forums, because that's how I 'discovered' it.
To summarise, the trick is finding a market in which you can do really good but which isn't really on the radar of someone like Microsoft.
You have to understand that Microsoft simply isn't interested in anything valued under about $100M per year. This may not be obvious given the way they throw money into unprofitable ventures; but it really is true.
This is true of all big companies to some extent; but particularly true of Microsoft.
What they're really after are markets that will develop into cash cows. Not the market you or I will target with our 15-30 person company. We're only looking for about $3M per year. That wouldn't even pay Microsoft's electricity bill.
Now, you should be careful not to find a niche that is too close to the business of a large company. If you do, that big company will eventually eat your lunch, your dog and your house. |
| Fri 12 Dec | Eric Lippert | > Now, you should be careful not to find a niche
> that is too close to the business of a large
> company
Indeed. Consider an analogy to another field. You start up an espresso stand. Is McDonalds going to go after you? Probably not, but Starbucks might. Starbucks doesn't try to compete with burger joints, but you just try opening a coffee shop across the street from one and see how well you do. Setting up a little Irish pub across from a Starbucks makes a lot more sense.
The food service industry is huge, and there's lots of room for small players. The same is true of software. |
| Fri 12 Dec | Stephen Jones | The danger isn't that MS or another big player will develop something similar. It's that they will buy out your competitor instead of you. |
| Fri 12 Dec | x | I think a part of JOS's success was Joel tapping the rich vein of technical implementors wanting to comment on issues that are often ignored by the usual commentary process, or are presented inaccurately.
Joel himself fitted this target market and thus attracted attention and credibility. I don't know, but I presume the resulting interest helped build and support markets for his product.
Big companies would not be nimble enough to create this sort of interest community. If they tried, the people doing the hiring would not hire someone like Joel or an equivalent to do the writing. |
| Fri 12 Dec | Prakash S | Eric Sink wrote an article about this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoftware/html/software11242003.asp
While you are at it subcribe to the Business of Software... |
| Fri 12 Dec | Richard P | #1) Forget about getting rich quick.
#2) Big bussiness is less efficient. This is especially true of software development. They have more overhead. They have less ability to do quality control in the hiring.
#3) Big business is concerned with staying big business. Therefore, they end up detatched from the customer. Automated call centers. Highly-structured tech support where you have to go through several layers before you can talk to anybody who knows anything. As a small biz, you're close to the customer. You can respond faster to their feature requests and bug reports.
Now, there's the other side of the coin. BB can dump money into an unprofitable product until you're out of business. To combat this, you have to stay lean and efficient. |
| Fri 12 Dec | www.marktaw.com | In New York City there was an eclectic clothing store called Canal Jeans. They had everything from army surplus to $800 coats to lingerie to the largest selection of backpacks I'd ever seen on one wall.
Then Old Navy opened up directly across the street, and sadly, Canal Jeans is out of business.
How does a small anything live amongst the monsters? How does a Snapple compete with a Coke & Pepsi? A Converse with Nike and Reebok?
1. Price - the same or just as good, but less expensive.
2. Quality - better than the mass produced, lowest common denominator, and you often pay a premium for it.
3. Features - Ours does something nobody else's does. |
| Fri 12 Dec | Bored Bystander | >> 2. Quality - better than the mass produced, lowest common denominator, and you often pay a premium for it.
>> 3. Features - Ours does something nobody else's does.
Quality and *well-selected* and *otherwise unavailable* features seem to be the key to most small SW companies' success. I really don't think price is the biggest factor.
M$ can afford to dump every conceivable feature into a mass marketed horizontal application. MS can do this because they sell vast quantities of product with very low cost of goods, so they can afford to spend buckets of development money scattershot.
A small company simply doesn't have the luxury of indiscriminately gobbing on features. So they have to compete by offering something nobody else does and omitting the features that nobody uses or wants. MS, by contrast, can afford to put a power butt flosser into every MS Office application.
The quality aspect interacts with the selection of features. The small SW company has to have a very tight focus so that they can build successful products. If too many features are attempted given the development staff size, budget and available time, then you will either wind up with a late or very buggy product.
Also, it seems to me that small companies have to be able to identity an idiosyncratic, yet unmet need. CityDesk certainly isn't for the end user 'Frontpage user' crowd. It's somewhat programmable and template driven and is kind of tough to initially acclimate-to. Also, it probably would appear measly and feature-poor to someone jaded by the size bloat of a typical Office application install. It's an extremely efficient tool once you get rolling, far more so than most such tools. But... it's not for everyone. |
| Sat 13 Dec | www.marktaw.com | Great points. Mini Cooper appeals to a different set of people than a Ford Taurus, as does Winnebago. Both sell much fewer than Ford does, and may even strike a deal with Ford or be acquired by a Ford, but the core concepts that differentiate them from the Ford Generica remain intact.
Nobody can compete with Microsoft Word, but there are plenty of niche text editors out there that thrive. Find a niche and stick with it. |
| Sat 13 Dec | Steve Jones (UK) | I remember reading a few years ago that Microsoft wouldn't enter a new market, unless they could see a $1B a year turnover, not just $100M.
This was during the dot-com time, so maybe a big exaggeration, but still, that leaves a heck of a lot of room for the little guys, in the $1-10M range.
I'm personally hoping to grow my little business to fit into one of these niches. |
| Sat 13 Dec | Harvey Motulsky | My company (GraphPad Software, http://www.graphpad.com , provides data analysis and graphing tools to scientists) is fairly small and very successful by any measure. I know of several others.
My only advice is to focus on providing a great product and great customer service, and don't spend a lot of time worrying about what the other companies are doing. A few smart people with vision and patience can create better software than a big company with org charts and in |