Like liner notes in CDs and manuals in games and ease of access and reliability of service and certianty of availablility.
The same way that Red Hat sells Linux.
And T-shirts at the concert.
It's not that tough people.
The premise of your confab is a bit slanted to be a "so see, we need DRM" failure. For the most part the signal isn't a comodity, and it shouldn't be.
There is a P2P model where you make the content free at a degraded rate, and bind it directly to a means to buy full quality while the share would continue as "default" to the degraded image for non purchasers. (Build the player into the P2P client etc.) Soemone _could_ share the non-degraded image but that would be "Effort".
The P2P model virtually elliminates the distribution cost.
e-purchases would give you (essentially) coupons towards the purchase of related merchandise. Examples not just being T-Shirts but thinks like, if you buy a bunch of songs from an album, you end up being able get the actual CD mailed to you for a very deep discount. Then you can do tie-ins and clubs.
In short, stop treating the signal as if it is precious and _start_ treating your customers _are_ precious. Get them involved. Spiff them to come to gigs and tie-in events. Get them buying your gear. Get "sponsers" to sponser things from their sites (buy these sunglasses and get a cupon off anything in the U2 collection.)
Buy five movies, get the poster for (ont of these hot new releases) for $10. You just got people to _buy_ an _advertisement_.
Some of the people suggest that I don't know link lists or think fundamentals are pointless.
In my last (long term) job I had to make a tree of linked lists to deal with cookies in a micro-browser for an embedded system where no libraries were available with the required abstractions. (Plus it was performance measuring equipment, so I had to know the exact complexity and I had to trade some space for speed etc..
I never tried to imply that I couldn't or didn't know how to solve the problems. Neither did I resent being asked to solve a simple problem.
My problem with the procedure I encountered was that it never got beyond first principles. That the response to forgetting to write down a single dereference operator was all "well, ah ha!" (like nobody has ever done that before 8-). When the interviewer pointer it out, I said "sure enough" and added the missking asterisk, shrugged, and then said "of course that's a compiler catch." He barks "no it's not!" I point out that the example is in C++ (not to be smug, I had used several C++ constructs so it clearly wasn't just C).
Through this whole discussion I have been simplifying things so as to limit any pejorative tone.
I am more interested in the discussion in general, rather than any sort of defimation or discord. The people generalizing my comments into an inference that I _couldn't_ perform miss the mark completely. And I have interviewed candidates myself. I appreciate asking such simple questions once, or maybe twice.
It was the failure to transcend. You know, one hour of coding-200 up-front, and then four of theoretical design would have been more probative.
Things like...
Me: Well for a large problem set... Guy 1: No, lets stick to the simple solution for these five conditions... Me: Ok, so we can make some assumptions within those limits... (Long discussion just between me and Guy 1) Me: So this acts to create a seive that limits the branching of the user interface. Sudden interjection of Guy 2 one minute before the end of our session: So you propose widening this table every time we add a criteria, that would never scale! (I explain how the table is denormal because of the initial directive from Guy 1 to work towards the fixed problem domain, because for the limited domain it would be much more efficent. Guy 2 doesn't _seem_ to be getting my explination but we run out of time.)
I mean, come on, denormalizing a table to match a spesific problem domain is basic design; let alone faulting my design when I was directed to _ignore_ scalability. (I actually had to star over several times because Guy 1 didn't want me to go to a particular consideration.)
yep. I'm dyslexic. In the absence of a spell-checker, and while hurrying, I can make a right mess.
I don't know why its different when I'm programming. I figure it is probably like the way stutterers can sing. It just uses a different part of your brain or something.
Then again, when someone starts in on the form of a message instead of the contents, you know they have run out of meaningful input... 8-)
Actually, you are assigning motive to me in the absence of evidence.
Or, more particularly, I wrote the Ask Slashdot article in a way that would make it a good candidate to be posted as an Ask Slashdot lead article. The constraints are rather rigorous. It has to be short (I almost went over-long) it has to inspire interest. It has to be linkable even if it doesn't contain links (the editor added the link to the byzantine agreement page). It has to give sufficient context for both the questioner and the question (and I asked two questions).
In short it has to effectively communicate the conundrum(s) and points of conflict while remaining specific and topical.
In shorter, Ask Slashdot articles pretty much have to be caricatures of the issues.
I wasn't trying for "disdain" just "disappointment and chagrin" at what seemed to be a somewhat flawed experience. Others here seem to parrot that the experience is common, and may even be deliberate. If it is deliberate then _that_ (IMHO of course 8-) would be cause for disdain, but probably not for the individual interviewers.
In your senior / junior example, you miss an important point. The "most proper" way for a senior to train a junior with respect to "how would you find the index of an element of a sorted array with a particular value" demands the answer "I'd use bsearch". The follow up question "how does bsearch work" would have been appropriate. What I encountered instead was a demand that I reinvent the wheel letter-perfect instead.
To perfect your analogy, consider what would happen if the senior welder walked through and you demanded he weld a pipe to demonstrate his understanding of the importance of maintaining the static pressure, and having a man watching that pressure, in the main cooling loop. Wait, you say, that doesn't make sense. Exactly. Once the appropriate authority establishes that the guy has the necessary welding skills, you don't ask him to keep welding as a way of exploring the depth of his fitness to act as senior, you instead should be asking fitness related questions.
In our perfected analogy, it only takes one basic programming exercise to find out whether I have basic programming skills.
I was getting questions that, by this same analogy, would be like asking me to describe the reactor control room on a sub, and then complaining that my description didn't adequately account for the possibilities implicit in a municipal nuclear power station. Asking about a specific case instead of the general problem space, and then faulting the responder for answering the specific case asked, is just pointless.
I threw no "fit". Then or now. I did answer the questions intellegently. I harbor no anger though I feel disapointed that the entire interview never got to "design".
Whoever your "we" are I pitty them your presence. You think this is "a fit", I thought it was an interesting discussion starter.
Programming without design is the quintessential case of going off half cocked.
I would be doubly disapointed if this were a deliberate selection "technique" on their part. Running rats through a maze isn't clever if all you are looking for is fast rats.
Besides, I don't "try to be cerebral", I am, for better or worse, that (over?) precise and careful. Yep, if you find that annoying, then I am _naturally_ that annoying. No effort, no wierd "attempt to seem". (Gee, a computer geek that isn't a social darling... Who could have possibly imagined _that_? 8-)
Besides, while "[I] am the one wanting the job" in your mind, shouldn't "[YOU] want the quality employee"?
If that was a deliberate test, then the hiering practice has established a damn low ceiling (IMHO of course) and the company must be constantly struggling against its tendencies towards brute-force solutions. It's not that such an approach _can't_ succede, its that such an approach will tend to hemmorage money, time, and tallent. There are so many metaphores that the mind boggles.
So why am I glad? Glad they didn't hire me _and_ glad I asked the question in this forum? The various respondents have informed us all that I am not the only person to have encountered this broken process. And if it's broken up front, its probably broken out back.
You read to much into my question. I wasn't "outraged" I was bored to tears and disapointed. I didn't say "I have 20 years of experience" to them. I said that to you, the reader of the article, to give you some basis for my position. In a slashdot lead article you only get so much space and editorial attention to make the interesting points and spur on the discussion.
I did answer the questions posed. No hissy fit, no condecension. I liked the people and we got along OK.
The mire comes, however. One of the responses, for instance, was "I've never seen it done that way before" followed by a thats-impossible shake of the head and an "why are you comparing the pointers and then the contents of the pointers like that" when I explained how this second tier (e.g. more complex) question was still soluable in O(log(n)) time using the method presented.
Several interviewers said in the interviews that they didn't understand the code as written etc, then the group consensus was that they needed someone "more technical".
ASIDE: I will fully credit that a good percentage of the lack of understanding may well have been introduced by my crappy white-board penmenship. 8-)
I didn't get the job. And after I thought about the interview I didn't really want the job. So it was a push. I took a job offer that I had gotten from another company the day before the interview loop.
Also, I have done hiring. I appreciate the need to ask some simple coding questions because it isn't that uncommon to get people in who _can't_ write a bsearch and who cannot demonstrate a mastery of the simple language syntax. But you only really need to walk that mountaiside once in the interview process.
Then again, when you write some code on a white-board and the interviewer cannot understand it (q.v. "I don't understand... why are you checking the value of the pointer and then the contents of the pointer") and then that interviewer helps build the group decision that "we should get someone more technical", you are entering the realm of high comedy.
I actually laughed when the recruiter told me about their rationale.
The requirements process goes the other way (IMHO of course). Were this a simulation of requirements process and development then I would never hire someone who wrote their own "bsearch an integer array" when there was a library function that was tested and proveably correct staring up out of the core C library that did that exact thing.
Re-inventing (and debugging) the wheel just for the elan of it isn't something a smart company want to have its six-figure developers doing... 8-)
I call "editorial license". Whenever you try to cram a lot of observation into the (typically one paragraph) slashdot style article you have to do some word smithing. That makes things terse, and that comes off as pompous to some people.
So what...
Go ahead and try to rephrase me. I'll give you twoce the word length. Hit all the points and ask both sides of the question. And get it into a shape that would be accepted as an article...
Then go take some classes in journalisim and/or rethoric.
Actually, I showed no disdain at all. I carefully and cheerfully complied. I even kept the mood up and remained positive through the entire process. It was the odd post-interview feedback that got my goat a little bit. 8-)
I actually like working with younger people as a general rule as it keeps the mind sharp and provides a continuous influx of fresh eyes to stave off the dogmatic ossification I often encounter in my peers.
There is nothing wrong with going back to first principles. I just found the failure to transcend first principles (and the fact that a couple of the guys got all grumpy when they didn't understand my solutions to their problems as stated and as revised) to be something of a warning flag.
The "ask a question of sublime simplicity" approach can only prove effective if the questioner can understand an answer of sublime subtlety.
The links "Work For Me". I used the coral cache service because my little box couldn't possibly withstand a slashdotting. Sometimes coral cache is hit or miss sometimes, especially if your ISP has funky DNS service settings or if you are using Windows and you have spyware/malware that messesses up your DNS.
Sometimes you just have to keep hitting "try again" the cache network catches you up the bomb... 8-)
The most important elements are the 1:10 rules that make sure that your TCP acknowledgements have the highest classification; and the udp rules that will let your VoIP and games (and Bittorrent 8-) have precidence.
Now, use the script below to set up your simple 6-tier traffic shapping output. MAKE SURE to set INTERFACE_SPEED= value to your _ACTUAL_ _UPLINK_ rate in kbps. I have fast cable, so I have 768. Default comcast rate is 384 in my area if you don't pay the $10 a month. If you have [A]DSL set the speed the link is _supposed_ to be. Don't hedge, the hedging is already in the math. [Tweak the weight array if you want to change the reservation ratios.]
What is the magic? TCP/IP speeds up additively but slows down exponentally. So to get fast _downstream_ data flow, you have to make sure that your _upstream_ packet acknowledgement events get through. It is really easy to overrun the buffers built into your cable modem (etc) while receiving a large/fast stream.
Speed tests from reasonably local speed testing website regularly give me between 90% and 98% of my purchased download speed in actual single-stream performance. I can also game while my roomates browse the internet without incurring nasty lag.
Note that I have tweaked the math to a nonce for my link, but if you want to play with fine tuning then look at tweaking the numerators in the declare statements for CEILING and BURST_CELING. That's why the "* 98 / 100" and "* 100 / 100" parts are there... 8-)
Really, the above makes _ALL_ the difference in my effective internet speed.
"all but", as in "all but forgotten", is not a mathematical expression. The domain is implicitly limited by the subject-object agreement. So in the case of "this guy all but drown", the guy didn't fully drown but he was clearly under watter and unable to extracate himself etc. There is no implication that the guy was beaten nor given the Nobel. So it doesn't mean "*anything* except" by any reasonable expectation, in the same way that if someone says they love icecream, we don't expect "well why don't you marry it" as a reasonable response.
In short, "all" is universally inclusive, but only within the included domain of its use.
Further, it _wasn't_ forgotten, it is rememberd, and disparaged, and ignored and god knows what else, but again, no Nobel etc... 8-)
The phrasing is fine. There is a difference between being pedantic and deliberatly ignoring the obvious. Try looking up "pedant" and "obtuse" and "deliberatly contradictory"... 8-)
You (or I in this usage) have no warrent about the remote machine _unless_ You are the keeper of the keys of that remote machine. So on average, _I_ cannot trust my computer, nor can any other normal user. The all powerful and all mysterious _they_, in turn _can_ trust my computer to run (ominous hum) _THEIR_ software on my computer.
So in the current formulation, If my computer is talking to your computer, my trust of you is irrevelent. Our conversation is only as trustworthy as our collective trust in "them".
For instance:
Under "TCP" you and I are running MS Net Meeting. I can make no assertion about Net Meeting, you can make no assertion about Net Meeting, and Microsoft asserts that it will do whatever it is that Net Meeting does. Is this any warrent of safety? No. (much like all their products are unassailably safe, to be sarcastic,) If Net Meeting has an exploitable flaw I now have a garantee that I can exploit your computer. That is, I "trust" what I see as Net Meeting *is* net meeting, so I can operate against your flawed computer with the certianty of my "trust" in microsoft's flaw. I know FOR SURE that you are vulnerable.
Contrapositively, in the absence of TCP, that thing that _says_ it's Net Meeting, might in fact be a custom application (say a comercial anti-intrustion package) wrapping or replacing Net Meeting.
So in the world of trusted computing, I, exploit in hand, can operate with utter confidance that you cannot intercept or prevent my evil-doing; but without "Trusted Computing" I have to watch my step.
Further, with "Trusted Computing" we cannot control what our computers are doing, only the keyholder can. So Microsoft can trust that they can, for instance, hold all your Word Doccuments hostage to a monthy rent on Word, and you can trust that you will have to pay that rent to access your Corporate Legacy, or that Novel you are Writing, or your Master's Thesis.
Trusted computing does NOTHING for you, the user, but promise that you, the computer user, are powerless. Everybody else gets a free ride. Just like all Digital Restrictions Mandate technology, it isn't good for _YOU_, it is only good for some un-defined and un-accountable "THEM" somewhere.
And, no, this isn't just paranoia. Try playing your iTunes "Purchase" (yea, right) on a Creative(tm) Nomad(tm) some time.
Actually the ground is a very good conductor of heat, especially if there is ground water. It's not steel sticking out of an iceberg, but it's damn good. The thing you don't account for in your analogy is the fact that "the earth" is "massive". It's huge. Much bigger than you imagine. And every day the surface absorbs a huge amount of heat, and then at night radiates it right back out. The energy transfer rates are stong enough to create daily winds.
Lose, airy soil is a pretty good insulator, which is why there is usually grout added around the ground loops etc.
Don't beleive it? Do an experiment. Try to heat a section of packed earth. The energy has to be going somewhere; "you can't have it both ways."... 8-)
No, I am not saying your 52F ground isn't going to go up to 53F (or whatever). If, however, you imagine that you dig a 4 by 60 foot trench 12 feet deep, put a slinky-shaped 2-foot-diameter loop of piping in that trecnch, and pack good soil into it and then run something through that pipe that is going to heat that mass of ground to a significant temprature, you're nuts.
How do I know? The pipes to my master-bath run through my driveway slab. It takes _forever_ to get the water hot and if I turn off the water for a short time, it takes forever again. I loose a good 10F making the run, it doesn't get to full temprature in the time it takes to drain a whole taknk from the water heater. And we are talking about 130F water here, not sinking an 80F source.
My point was that if you _don't_ super-heat the steam the turbine doesn't spin (at least not with sufficent torque to produce useful output). We have been told of a mistery fluid that boils at 58F but we havn't been told how much energy it takes to make it change state. [for the viewers at home, if something "boils" at temprature X, it still takes a spesific amount of added energy to turn the liquid at X-degrees into the gas at X-degrees; which is why the whole pan of water on your stove doesn't swoosh into a cloud of steam all at once.] We also don't know how well it can be super-heated...
But even with any of that, energy in == energy out so the useful work output is still constrained by the surface area and conductivity of the vaporator and condenser if you want this thing to work at ambient tempratures.
While I have no informed opinion about whether the mystery fluid is compatable with the current underground technology, the underground loop for a geothermal heat pump are essentially 40-year (e.g. unknown but unbounded) installations. In the existing technology the pipes are some sort of flexible plastic arrangement and only carry a mixture of water and anti-freeze, but it _is_ an established technology. (Check out climatemaster.com for a decent set of brocures on the topic.)
Providing the underground loop can survive the mistery fluid, or provided that the mistery fluid can be second-staged to water from the underground loop, the repeated diging is a straw-man objection.
On the average, the underground temprature at ten feet below ground level is something like 52 degrees. (I am looking into geothermal [q.v. ground-sourced] heat pumps.) If the fluid boils at 58 degrees and you put a reasonably large ground loop you would have your temprature differential.
Toss a solar collection array on the hot side, and if the latent heat of vaporation of the mistery fluid isn't too high you should be able to get a pretty flow.
You might need to pull-start it (8-) to get the initial pressure differential, but once the system was running the cost of using some of the energy to replenish the boiler from the condensate coils should be low enough.
It mostly comes down to a matter of surface area.
In a steam/turban plant the energy to move the turban doesn't _really_ come from boiling the water, it comes from super-heating the steam. You have to move the steam through the turban energetically enough to move the machinery (which cools the steam as the pressure is relieved (etc). So it isn't so much the boiling temprature, its how much energy the media can carry _after_ boiling. A lot of volatiles do an incredibly poor job as a (relatively, in this case) super-heated fluid because of crosiveness or viscosity.
ASIDE: If I were trying to build a solar-powered air conditioner I'd use basically the same material and design as a propane-fired refridgerator and a Clever Arrangement(tm) of concentrating mirrors. The whole system is low pressure and has no moving parts. The mirros would have to track, but those moving parts wouldn't ever have interract with the volatiles.
Given the bizarre additions; arbitrary constructs; and the non-ANSI (e.g. "illegal") prefetch semantics, well, whatever you end up learning it won't do you a wet-slapp of good if you eventually run up against an actual SQL environment.
[And, yes, this is a little bit of a troll. But having been given the task of trying to "port" a database designed in SQL Server and having discovered just how non-portable it was, I am a tad jaded... 8-)]
Because when the track doesn't sell for shite (because the content is shite) then everybody will wave and wail that _clearly_ once the track was out there, the reason it didn't sell was that The Pirates(tm) turned it to the P2P dark side.
1) The touchpad on the average laptop doesn't require or encourage the use of the thumb. I'm sure you can find a keyboard or add-on with this interface. So there you go, a natural control that doesn't involve the thumb.
2) Send the woman to a _good_ physical therepist. Carpal Tunnel and other repetitive stress injuries can be effectively banished by (VERY SIMPLE) proper exercise and a surprisingly few visits to a competent professional. Hell, after my physical therapist showed me the three exercises and how to aleviate the symptoms _I've_ done it to/for my friends.
Don't get me wrong. Once the damage is there it _hurts_ to fix it. The person has to be _willing_ to do the exercises and face several sessions of agressive treatment. But most repetitive stress injuries are fixed by a agressive program of "walk it off dude".
Contrapositively, if the problem is actually the onset of arthritis or the result of physical insult, then the circumstances may be different. I'm getting old and I jammed my thumb by accident. It took months for the joint to heal, and it really only healed because I regularly stretched the joint (grab end of thumb with the other hand and then pick up/dangle the whole arm by the thumb until you feel the joint open, etc) [e.g. self-applied traction] has slowly let my joint recover. (And yes, this hurt, but it was a different/better kind of hurt.)
The sad fact is that sometimes you have to hurt yourself to heal yourself. People who are unwilling or unable to do this _will_ degenerate. People who _are_ willing may _still_ degenerate, but they will do better.
The "real" answer to repetetive stress injuries is to change your bad behavior and, just like dealing with heart disease, do the necessary and unplesant exercises or give up and succumb.
Don't get on my case for being insensitive. I'm old, and I have recently had my knee crushed by a car (tibial-platau fracture and crushed joint surface). I've also had a hideously painful colon surgery. I know from problems. There are things you can fix and things you cannot. But the sad fact is that usually you can not get better without sufering some pain. All my life my, now quite elderly, mother has complained about dentists "going too deep and hurting (her)". As a consequence now, in her later life, her teeth are literally falling appart. She was too squeamish to get things really fixed. She would only tolerate cosmeic fixes. Now she is irreperally harmed.
Changing the mouse for a repetitive stress injury is, frankly, a cosmetic fix. No matter what you change, the problem will recur or spread if the worker doesn't (or cannot) actually fix the underlying problem.
I don't knw what you've tried, but I find that for my hardware and software auto-selection is a simple matter of _not_ _setting_ any refresh rate at all in the monitor section and then enabling DPMS. Your milage will vary of course depending on the hardware and driver in use.
The problem is _actually_ that a lot of the configuration tools are not as well maintained as the server itself, so the data and patterns in the configuration programs are "a bit off".
As a matter of course I generally configure by hand. First I do "X -configure" to get a good starter file. Then I comment out the sync rates as above and add "DefaultDepth 24" to the screen section.
Also, if you use a KVM you have to be switched to the X machine when X starts or the DPMS can not do the configs.
Next I make sure that I boot linux with psmouse.proto=any (to maximize the/dev/input/mice functionality).
Finally I try to switch all the mice to evdev if there isn't a spesific driver with more functionality.
Yea, it isn't effort free, but it is easy and optimal.
Um, I have a Logitech G5 mouse and X processesses all the buttions, the wheel works and the thing where you push the wheel left and right to do forward and back (e.g. a fourth axis) works just fine as well. [Note the "Name" option instead of spesifying the "Device" pathname, this lets me plug the mouse in, or not, without having to tweak any settings.]
Now getting touchpad on my laptop to do all the cool stuff (up and back scroll buttions, iPod-like circular scrolling, etc) was a little more involved. I set a udev rule to make the device name explicit and I had to find the configuration entry on the net and cut-and-paste...
udev rule created in "new" file/etc/udev/rules.d/10-input.rules:
BUS="serio", SYSFS{description}="i8042 Aux Port", KERNEL="event?", SYMLINK="input/alps"
You _really_ don't have the foggiest idea about the terms of the GPL, do you?
The US government would not be required to honor this request _UNLESS_ they had already distributed the binary for same to KJI.
See, If I make a distribution of something based on someone else's GPL code, I _only_ have to distribute the sources TO THE PEOPLE I DISTRIBUTED THE BINARIES TOO. I don't owe anybody else anything at all under the GPL.
In fact one basic technique is to distribute the sources with the binaries and then rely on the individuals losing the sources. I don't have to make multiple copies available for all time. I _may_ promise to make the sources available for three years, or I can just burn them onto the same disk as the binaries and forget it.
And _IF_ I never distribute the applicaiton outside "my organization" (say "the US government" is my "organization") I don't ever have to release the sources to anybody. "My Organization" already has the sources (because I have them and I am in "My Organization") and nobody else is using the code./sigh...
People need to _read_ and _understand_ their licenses, and if they cannot read them competently, get competent help reading and understanding them.
For instance, do you understand the implications of using --static when building against LGPL libraries? I bet you don't... 8-)
I leave my P2P host [Azureus] running at all times unless I am gaming. My aggregate throughput has gone up steadly since I started doing that. I think demand has caused the company to adjust the supply. 8-)
CAVEAT: Shame on you for profiling... all my P2P stuff is legal. I watch the OpenOffice RSS feed for updated torrents, and I host Knoppix and Slackware torrents. 8-)
So anyway, one of the things I have done to _actually_ done to improve my speed is set up a Linux firewall and do some _very_ basic upload-side traffic shaping. In particular I have made sure that (1) I always send my TCP ACKs at the highest priority and (2) I throttle the transmission so that I never overrun the (relatively) small buffer in the modem.
By ensuring I never drop an ACK, I make sure that the TCP congestion control doesn't bite me in the ass.
Then again, I'd also bet that by using the bandwidth you have bought, you apply evolutionary pressure on your provider.
Like liner notes in CDs and manuals in games and ease of access and reliability of service and certianty of availablility.
The same way that Red Hat sells Linux.
And T-shirts at the concert.
It's not that tough people.
The premise of your confab is a bit slanted to be a "so see, we need DRM" failure. For the most part the signal isn't a comodity, and it shouldn't be.
There is a P2P model where you make the content free at a degraded rate, and bind it directly to a means to buy full quality while the share would continue as "default" to the degraded image for non purchasers. (Build the player into the P2P client etc.) Soemone _could_ share the non-degraded image but that would be "Effort".
The P2P model virtually elliminates the distribution cost.
e-purchases would give you (essentially) coupons towards the purchase of related merchandise. Examples not just being T-Shirts but thinks like, if you buy a bunch of songs from an album, you end up being able get the actual CD mailed to you for a very deep discount. Then you can do tie-ins and clubs.
In short, stop treating the signal as if it is precious and _start_ treating your customers _are_ precious. Get them involved. Spiff them to come to gigs and tie-in events. Get them buying your gear. Get "sponsers" to sponser things from their sites (buy these sunglasses and get a cupon off anything in the U2 collection.)
Buy five movies, get the poster for (ont of these hot new releases) for $10. You just got people to _buy_ an _advertisement_.
There is a reason that "free radio" worked.
Some of the people suggest that I don't know link lists or think fundamentals are pointless.
/sigh... 8-)
In my last (long term) job I had to make a tree of linked lists to deal with cookies in a micro-browser for an embedded system where no libraries were available with the required abstractions. (Plus it was performance measuring equipment, so I had to know the exact complexity and I had to trade some space for speed etc..
I never tried to imply that I couldn't or didn't know how to solve the problems. Neither did I resent being asked to solve a simple problem.
My problem with the procedure I encountered was that it never got beyond first principles. That the response to forgetting to write down a single dereference operator was all "well, ah ha!" (like nobody has ever done that before 8-). When the interviewer pointer it out, I said "sure enough" and added the missking asterisk, shrugged, and then said "of course that's a compiler catch." He barks "no it's not!" I point out that the example is in C++ (not to be smug, I had used several C++ constructs so it clearly wasn't just C).
Through this whole discussion I have been simplifying things so as to limit any pejorative tone.
I am more interested in the discussion in general, rather than any sort of defimation or discord. The people generalizing my comments into an inference that I _couldn't_ perform miss the mark completely. And I have interviewed candidates myself. I appreciate asking such simple questions once, or maybe twice.
It was the failure to transcend. You know, one hour of coding-200 up-front, and then four of theoretical design would have been more probative.
Things like...
Me: Well for a large problem set...
Guy 1: No, lets stick to the simple solution for these five conditions...
Me: Ok, so we can make some assumptions within those limits...
(Long discussion just between me and Guy 1)
Me: So this acts to create a seive that limits the branching of the user interface.
Sudden interjection of Guy 2 one minute before the end of our session: So you propose widening this table every time we add a criteria, that would never scale!
(I explain how the table is denormal because of the initial directive from Guy 1 to work towards the fixed problem domain, because for the limited domain it would be much more efficent. Guy 2 doesn't _seem_ to be getting my explination but we run out of time.)
I mean, come on, denormalizing a table to match a spesific problem domain is basic design; let alone faulting my design when I was directed to _ignore_ scalability. (I actually had to star over several times because Guy 1 didn't want me to go to a particular consideration.)
But they wanted someone "more technical"...
So like...
yep. I'm dyslexic. In the absence of a spell-checker, and while hurrying, I can make a right mess.
I don't know why its different when I'm programming. I figure it is probably like the way stutterers can sing. It just uses a different part of your brain or something.
Then again, when someone starts in on the form of a message instead of the contents, you know they have run out of meaningful input... 8-)
Actually, you are assigning motive to me in the absence of evidence.
Or, more particularly, I wrote the Ask Slashdot article in a way that would make it a good candidate to be posted as an Ask Slashdot lead article. The constraints are rather rigorous. It has to be short (I almost went over-long) it has to inspire interest. It has to be linkable even if it doesn't contain links (the editor added the link to the byzantine agreement page). It has to give sufficient context for both the questioner and the question (and I asked two questions).
In short it has to effectively communicate the conundrum(s) and points of conflict while remaining specific and topical.
In shorter, Ask Slashdot articles pretty much have to be caricatures of the issues.
I wasn't trying for "disdain" just "disappointment and chagrin" at what seemed to be a somewhat flawed experience. Others here seem to parrot that the experience is common, and may even be deliberate. If it is deliberate then _that_ (IMHO of course 8-) would be cause for disdain, but probably not for the individual interviewers.
In your senior / junior example, you miss an important point. The "most proper" way for a senior to train a junior with respect to "how would you find the index of an element of a sorted array with a particular value" demands the answer "I'd use bsearch". The follow up question "how does bsearch work" would have been appropriate. What I encountered instead was a demand that I reinvent the wheel letter-perfect instead.
To perfect your analogy, consider what would happen if the senior welder walked through and you demanded he weld a pipe to demonstrate his understanding of the importance of maintaining the static pressure, and having a man watching that pressure, in the main cooling loop. Wait, you say, that doesn't make sense. Exactly. Once the appropriate authority establishes that the guy has the necessary welding skills, you don't ask him to keep welding as a way of exploring the depth of his fitness to act as senior, you instead should be asking fitness related questions.
In our perfected analogy, it only takes one basic programming exercise to find out whether I have basic programming skills.
I was getting questions that, by this same analogy, would be like asking me to describe the reactor control room on a sub, and then complaining that my description didn't adequately account for the possibilities implicit in a municipal nuclear power station. Asking about a specific case instead of the general problem space, and then faulting the responder for answering the specific case asked, is just pointless.
I threw no "fit". Then or now. I did answer the questions intellegently. I harbor no anger though I feel disapointed that the entire interview never got to "design".
Whoever your "we" are I pitty them your presence. You think this is "a fit", I thought it was an interesting discussion starter.
Programming without design is the quintessential case of going off half cocked.
I would be doubly disapointed if this were a deliberate selection "technique" on their part. Running rats through a maze isn't clever if all you are looking for is fast rats.
Besides, I don't "try to be cerebral", I am, for better or worse, that (over?) precise and careful. Yep, if you find that annoying, then I am _naturally_ that annoying. No effort, no wierd "attempt to seem". (Gee, a computer geek that isn't a social darling... Who could have possibly imagined _that_? 8-)
Besides, while "[I] am the one wanting the job" in your mind, shouldn't "[YOU] want the quality employee"?
If that was a deliberate test, then the hiering practice has established a damn low ceiling (IMHO of course) and the company must be constantly struggling against its tendencies towards brute-force solutions. It's not that such an approach _can't_ succede, its that such an approach will tend to hemmorage money, time, and tallent. There are so many metaphores that the mind boggles.
So why am I glad? Glad they didn't hire me _and_ glad I asked the question in this forum? The various respondents have informed us all that I am not the only person to have encountered this broken process. And if it's broken up front, its probably broken out back.
The scenery was nice though... 8-)
You read to much into my question. I wasn't "outraged" I was bored to tears and disapointed. I didn't say "I have 20 years of experience" to them. I said that to you, the reader of the article, to give you some basis for my position. In a slashdot lead article you only get so much space and editorial attention to make the interesting points and spur on the discussion.
I did answer the questions posed. No hissy fit, no condecension. I liked the people and we got along OK.
The mire comes, however. One of the responses, for instance, was "I've never seen it done that way before" followed by a thats-impossible shake of the head and an "why are you comparing the pointers and then the contents of the pointers like that" when I explained how this second tier (e.g. more complex) question was still soluable in O(log(n)) time using the method presented.
Several interviewers said in the interviews that they didn't understand the code as written etc, then the group consensus was that they needed someone "more technical".
ASIDE: I will fully credit that a good percentage of the lack of understanding may well have been introduced by my crappy white-board penmenship. 8-)
I didn't get the job. And after I thought about the interview I didn't really want the job. So it was a push. I took a job offer that I had gotten from another company the day before the interview loop.
Also, I have done hiring. I appreciate the need to ask some simple coding questions because it isn't that uncommon to get people in who _can't_ write a bsearch and who cannot demonstrate a mastery of the simple language syntax. But you only really need to walk that mountaiside once in the interview process.
Then again, when you write some code on a white-board and the interviewer cannot understand it (q.v. "I don't understand... why are you checking the value of the pointer and then the contents of the pointer") and then that interviewer helps build the group decision that "we should get someone more technical", you are entering the realm of high comedy.
I actually laughed when the recruiter told me about their rationale.
The requirements process goes the other way (IMHO of course). Were this a simulation of requirements process and development then I would never hire someone who wrote their own "bsearch an integer array" when there was a library function that was tested and proveably correct staring up out of the core C library that did that exact thing.
Re-inventing (and debugging) the wheel just for the elan of it isn't something a smart company want to have its six-figure developers doing... 8-)
I call "editorial license". Whenever you try to cram a lot of observation into the (typically one paragraph) slashdot style article you have to do some word smithing. That makes things terse, and that comes off as pompous to some people.
So what...
Go ahead and try to rephrase me. I'll give you twoce the word length. Hit all the points and ask both sides of the question. And get it into a shape that would be accepted as an article...
Then go take some classes in journalisim and/or rethoric.
Actually, I showed no disdain at all. I carefully and cheerfully complied. I even kept the mood up and remained positive through the entire process. It was the odd post-interview feedback that got my goat a little bit. 8-)
I actually like working with younger people as a general rule as it keeps the mind sharp and provides a continuous influx of fresh eyes to stave off the dogmatic ossification I often encounter in my peers.
There is nothing wrong with going back to first principles. I just found the failure to transcend first principles (and the fact that a couple of the guys got all grumpy when they didn't understand my solutions to their problems as stated and as revised) to be something of a warning flag.
The "ask a question of sublime simplicity" approach can only prove effective if the questioner can understand an answer of sublime subtlety.
The links "Work For Me". I used the coral cache service because my little box couldn't possibly withstand a slashdotting. Sometimes coral cache is hit or miss sometimes, especially if your ISP has funky DNS service settings or if you are using Windows and you have spyware/malware that messesses up your DNS.
Sometimes you just have to keep hitting "try again" the cache network catches you up the bomb... 8-)
Get a linux box, configure it as a firewall.
i ng.txt
. txt
Add the following rules to the end of your firewall script.
NOTE: The Lameness filter sucks so get text here instead of just reading the script:http://whiterc.com.nyud.net:8080/just_shap
The whole firewall script is here: http://whiterc.com.nyud.net:8080/rc.firewall.txt
The most important elements are the 1:10 rules that make sure that your TCP acknowledgements have the highest classification; and the udp rules that will let your VoIP and games (and Bittorrent 8-) have precidence.
Now, use the script below to set up your simple 6-tier traffic shapping output. MAKE SURE to set INTERFACE_SPEED= value to your _ACTUAL_ _UPLINK_ rate in kbps. I have fast cable, so I have 768. Default comcast rate is 384 in my area if you don't pay the $10 a month. If you have [A]DSL set the speed the link is _supposed_ to be. Don't hedge, the hedging is already in the math. [Tweak the weight array if you want to change the reservation ratios.]
NOTE: The Lameness filter sucks so get text here instead of just reading the script:http://whiterc.com.nyud.net:8080/rc.shaper
What is the magic? TCP/IP speeds up additively but slows down exponentally. So to get fast _downstream_ data flow, you have to make sure that your _upstream_ packet acknowledgement events get through. It is really easy to overrun the buffers built into your cable modem (etc) while receiving a large/fast stream.
Speed tests from reasonably local speed testing website regularly give me between 90% and 98% of my purchased download speed in actual single-stream performance. I can also game while my roomates browse the internet without incurring nasty lag.
Note that I have tweaked the math to a nonce for my link, but if you want to play with fine tuning then look at tweaking the numerators in the declare statements for CEILING and BURST_CELING. That's why the "* 98 / 100" and "* 100 / 100" parts are there... 8-)
Really, the above makes _ALL_ the difference in my effective internet speed.
"all but", as in "all but forgotten", is not a mathematical expression. The domain is implicitly limited by the subject-object agreement. So in the case of "this guy all but drown", the guy didn't fully drown but he was clearly under watter and unable to extracate himself etc. There is no implication that the guy was beaten nor given the Nobel. So it doesn't mean "*anything* except" by any reasonable expectation, in the same way that if someone says they love icecream, we don't expect "well why don't you marry it" as a reasonable response.
In short, "all" is universally inclusive, but only within the included domain of its use.
Further, it _wasn't_ forgotten, it is rememberd, and disparaged, and ignored and god knows what else, but again, no Nobel etc... 8-)
The phrasing is fine. There is a difference between being pedantic and deliberatly ignoring the obvious. Try looking up "pedant" and "obtuse" and "deliberatly contradictory"... 8-)
You (or I in this usage) have no warrent about the remote machine _unless_ You are the keeper of the keys of that remote machine. So on average, _I_ cannot trust my computer, nor can any other normal user. The all powerful and all mysterious _they_, in turn _can_ trust my computer to run (ominous hum) _THEIR_ software on my computer.
So in the current formulation, If my computer is talking to your computer, my trust of you is irrevelent. Our conversation is only as trustworthy as our collective trust in "them".
For instance:
Under "TCP" you and I are running MS Net Meeting. I can make no assertion about Net Meeting, you can make no assertion about Net Meeting, and Microsoft asserts that it will do whatever it is that Net Meeting does. Is this any warrent of safety? No. (much like all their products are unassailably safe, to be sarcastic,) If Net Meeting has an exploitable flaw I now have a garantee that I can exploit your computer. That is, I "trust" what I see as Net Meeting *is* net meeting, so I can operate against your flawed computer with the certianty of my "trust" in microsoft's flaw. I know FOR SURE that you are vulnerable.
Contrapositively, in the absence of TCP, that thing that _says_ it's Net Meeting, might in fact be a custom application (say a comercial anti-intrustion package) wrapping or replacing Net Meeting.
So in the world of trusted computing, I, exploit in hand, can operate with utter confidance that you cannot intercept or prevent my evil-doing; but without "Trusted Computing" I have to watch my step.
Further, with "Trusted Computing" we cannot control what our computers are doing, only the keyholder can. So Microsoft can trust that they can, for instance, hold all your Word Doccuments hostage to a monthy rent on Word, and you can trust that you will have to pay that rent to access your Corporate Legacy, or that Novel you are Writing, or your Master's Thesis.
Trusted computing does NOTHING for you, the user, but promise that you, the computer user, are powerless. Everybody else gets a free ride. Just like all Digital Restrictions Mandate technology, it isn't good for _YOU_, it is only good for some un-defined and un-accountable "THEM" somewhere.
And, no, this isn't just paranoia. Try playing your iTunes "Purchase" (yea, right) on a Creative(tm) Nomad(tm) some time.
Actually the ground is a very good conductor of heat, especially if there is ground water. It's not steel sticking out of an iceberg, but it's damn good. The thing you don't account for in your analogy is the fact that "the earth" is "massive". It's huge. Much bigger than you imagine. And every day the surface absorbs a huge amount of heat, and then at night radiates it right back out. The energy transfer rates are stong enough to create daily winds.
Lose, airy soil is a pretty good insulator, which is why there is usually grout added around the ground loops etc.
Don't beleive it? Do an experiment. Try to heat a section of packed earth. The energy has to be going somewhere; "you can't have it both ways."... 8-)
No, I am not saying your 52F ground isn't going to go up to 53F (or whatever). If, however, you imagine that you dig a 4 by 60 foot trench 12 feet deep, put a slinky-shaped 2-foot-diameter loop of piping in that trecnch, and pack good soil into it and then run something through that pipe that is going to heat that mass of ground to a significant temprature, you're nuts.
How do I know? The pipes to my master-bath run through my driveway slab. It takes _forever_ to get the water hot and if I turn off the water for a short time, it takes forever again. I loose a good 10F making the run, it doesn't get to full temprature in the time it takes to drain a whole taknk from the water heater. And we are talking about 130F water here, not sinking an 80F source.
It's a matter of the economies of scale.
My point was that if you _don't_ super-heat the steam the turbine doesn't spin (at least not with sufficent torque to produce useful output). We have been told of a mistery fluid that boils at 58F but we havn't been told how much energy it takes to make it change state. [for the viewers at home, if something "boils" at temprature X, it still takes a spesific amount of added energy to turn the liquid at X-degrees into the gas at X-degrees; which is why the whole pan of water on your stove doesn't swoosh into a cloud of steam all at once.] We also don't know how well it can be super-heated...
But even with any of that, energy in == energy out so the useful work output is still constrained by the surface area and conductivity of the vaporator and condenser if you want this thing to work at ambient tempratures.
While I have no informed opinion about whether the mystery fluid is compatable with the current underground technology, the underground loop for a geothermal heat pump are essentially 40-year (e.g. unknown but unbounded) installations. In the existing technology the pipes are some sort of flexible plastic arrangement and only carry a mixture of water and anti-freeze, but it _is_ an established technology. (Check out climatemaster.com for a decent set of brocures on the topic.)
Providing the underground loop can survive the mistery fluid, or provided that the mistery fluid can be second-staged to water from the underground loop, the repeated diging is a straw-man objection.
On the average, the underground temprature at ten feet below ground level is something like 52 degrees. (I am looking into geothermal [q.v. ground-sourced] heat pumps.) If the fluid boils at 58 degrees and you put a reasonably large ground loop you would have your temprature differential.
Toss a solar collection array on the hot side, and if the latent heat of vaporation of the mistery fluid isn't too high you should be able to get a pretty flow.
You might need to pull-start it (8-) to get the initial pressure differential, but once the system was running the cost of using some of the energy to replenish the boiler from the condensate coils should be low enough.
It mostly comes down to a matter of surface area.
In a steam/turban plant the energy to move the turban doesn't _really_ come from boiling the water, it comes from super-heating the steam. You have to move the steam through the turban energetically enough to move the machinery (which cools the steam as the pressure is relieved (etc). So it isn't so much the boiling temprature, its how much energy the media can carry _after_ boiling. A lot of volatiles do an incredibly poor job as a (relatively, in this case) super-heated fluid because of crosiveness or viscosity.
ASIDE: If I were trying to build a solar-powered air conditioner I'd use basically the same material and design as a propane-fired refridgerator and a Clever Arrangement(tm) of concentrating mirrors. The whole system is low pressure and has no moving parts. The mirros would have to track, but those moving parts wouldn't ever have interract with the volatiles.
Given the bizarre additions; arbitrary constructs; and the non-ANSI (e.g. "illegal") prefetch semantics, well, whatever you end up learning it won't do you a wet-slapp of good if you eventually run up against an actual SQL environment.
[And, yes, this is a little bit of a troll. But having been given the task of trying to "port" a database designed in SQL Server and having discovered just how non-portable it was, I am a tad jaded... 8-)]
Because when the track doesn't sell for shite (because the content is shite) then everybody will wave and wail that _clearly_ once the track was out there, the reason it didn't sell was that The Pirates(tm) turned it to the P2P dark side.
You know what I am getting at here. 8-)
1) The touchpad on the average laptop doesn't require or encourage the use of the thumb. I'm sure you can find a keyboard or add-on with this interface. So there you go, a natural control that doesn't involve the thumb.
2) Send the woman to a _good_ physical therepist. Carpal Tunnel and other repetitive stress injuries can be effectively banished by (VERY SIMPLE) proper exercise and a surprisingly few visits to a competent professional. Hell, after my physical therapist showed me the three exercises and how to aleviate the symptoms _I've_ done it to/for my friends.
Don't get me wrong. Once the damage is there it _hurts_ to fix it. The person has to be _willing_ to do the exercises and face several sessions of agressive treatment. But most repetitive stress injuries are fixed by a agressive program of "walk it off dude".
Contrapositively, if the problem is actually the onset of arthritis or the result of physical insult, then the circumstances may be different. I'm getting old and I jammed my thumb by accident. It took months for the joint to heal, and it really only healed because I regularly stretched the joint (grab end of thumb with the other hand and then pick up/dangle the whole arm by the thumb until you feel the joint open, etc) [e.g. self-applied traction] has slowly let my joint recover. (And yes, this hurt, but it was a different/better kind of hurt.)
The sad fact is that sometimes you have to hurt yourself to heal yourself. People who are unwilling or unable to do this _will_ degenerate. People who _are_ willing may _still_ degenerate, but they will do better.
The "real" answer to repetetive stress injuries is to change your bad behavior and, just like dealing with heart disease, do the necessary and unplesant exercises or give up and succumb.
Don't get on my case for being insensitive. I'm old, and I have recently had my knee crushed by a car (tibial-platau fracture and crushed joint surface). I've also had a hideously painful colon surgery. I know from problems. There are things you can fix and things you cannot. But the sad fact is that usually you can not get better without sufering some pain. All my life my, now quite elderly, mother has complained about dentists "going too deep and hurting (her)". As a consequence now, in her later life, her teeth are literally falling appart. She was too squeamish to get things really fixed. She would only tolerate cosmeic fixes. Now she is irreperally harmed.
Changing the mouse for a repetitive stress injury is, frankly, a cosmetic fix. No matter what you change, the problem will recur or spread if the worker doesn't (or cannot) actually fix the underlying problem.
Notice what I commented out:
The problem is _actually_ that a lot of the configuration tools are not as well maintained as the server itself, so the data and patterns in the configuration programs are "a bit off".
As a matter of course I generally configure by hand. First I do "X -configure" to get a good starter file. Then I comment out the sync rates as above and add "DefaultDepth 24" to the screen section.
Also, if you use a KVM you have to be switched to the X machine when X starts or the DPMS can not do the configs.
Next I make sure that I boot linux with psmouse.proto=any (to maximize the
Finally I try to switch all the mice to evdev if there isn't a spesific driver with more functionality.
Yea, it isn't effort free, but it is easy and optimal.
See the complicated configuration:
Now getting touchpad on my laptop to do all the cool stuff (up and back scroll buttions, iPod-like circular scrolling, etc) was a little more involved. I set a udev rule to make the device name explicit and I had to find the configuration entry on the net and cut-and-paste...
udev rule created in "new" file
This is on ubuntu with the current "stock" 2.6.15 kernel and Xorg packages.
You _really_ don't have the foggiest idea about the terms of the GPL, do you?
/sigh...
The US government would not be required to honor this request _UNLESS_ they had already distributed the binary for same to KJI.
See, If I make a distribution of something based on someone else's GPL code, I _only_ have to distribute the sources TO THE PEOPLE I DISTRIBUTED THE BINARIES TOO. I don't owe anybody else anything at all under the GPL.
In fact one basic technique is to distribute the sources with the binaries and then rely on the individuals losing the sources. I don't have to make multiple copies available for all time. I _may_ promise to make the sources available for three years, or I can just burn them onto the same disk as the binaries and forget it.
And _IF_ I never distribute the applicaiton outside "my organization" (say "the US government" is my "organization") I don't ever have to release the sources to anybody. "My Organization" already has the sources (because I have them and I am in "My Organization") and nobody else is using the code.
People need to _read_ and _understand_ their licenses, and if they cannot read them competently, get competent help reading and understanding them.
For instance, do you understand the implications of using --static when building against LGPL libraries? I bet you don't... 8-)
I leave my P2P host [Azureus] running at all times unless I am gaming. My aggregate throughput has gone up steadly since I started doing that. I think demand has caused the company to adjust the supply. 8-)
CAVEAT: Shame on you for profiling... all my P2P stuff is legal. I watch the OpenOffice RSS feed for updated torrents, and I host Knoppix and Slackware torrents. 8-)
So anyway, one of the things I have done to _actually_ done to improve my speed is set up a Linux firewall and do some _very_ basic upload-side traffic shaping. In particular I have made sure that (1) I always send my TCP ACKs at the highest priority and (2) I throttle the transmission so that I never overrun the (relatively) small buffer in the modem.
By ensuring I never drop an ACK, I make sure that the TCP congestion control doesn't bite me in the ass.
Then again, I'd also bet that by using the bandwidth you have bought, you apply evolutionary pressure on your provider.
Call me evil... 8-)