Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment Hard to block this (Score 4, Interesting) 161

This kind of timing attack isn't easy to block.

Some kinds of timing attacks are. I think I heard once that a timing attack could be made against passwords in TOPS-20, because the passwords were stored in plaintext and compared one character at a time. The trick was to do the system call to check the password (or whatever it was) with the guess split across a page boundary (maybe the second page was forced out of memory or something). Since the system call would return as soon as one character didn't match, it was easy to see if the next character being guessed was correct or not. The fix was simple enough. Obviously there was a bit more to it than that, but I only heard this apocryphally as it was, and at that probably about 25 years ago.

This kind of thing is harder to fix, since it depends upon the difference between cache and non-cache access time, and the non-cached access time is not deterministic. It would be possible for the browser to introduce an artificial delay into the appropriate JavaScript calls, but that would make performance go down the tubes.

In any event, I tried it and the results didn't look very accurate (the first time, all of the sites it tried claimed that I had hit them; the secon time it caimed only one site was in cache, and after that it thought that nothing was).

Comment I've had good luck with higher end Dells (Score 1) 708

I've had a variety of high end (for their time) Dell laptops, and generally have not had problems. Over the past 10 years or so, I've had an Inspiron 8000, 8200, 9400/E1705, and most recently a Precision M6500, which is the best of the lot. I've always bought them used. They tend to be very easy to upgrade, and it's no trouble finding parts on eBay. I've run SUSE/OpenSUSE on everything. Since the 8200, I've had no problems with suspend/resume; the 9400 failed to resume maybe once out of every 100 tries. The M6500 has had a few more suspend/resume failures, but lately it has been much more reliable; I'm not sure why.

I'm careful to look for sellers with very high positive feedback (at least 99.7% for something like a laptop, and preferably at least 99.9%), and I look hard at the negative feedback (there is some junk negative feedback out there -- some people clearly make no attempt to resolve issues with the seller, for example).

Of course, if you want something equivalent to AppleCare, you're going to have to go with a new piece from System 76, Emperor Linux, or the like.

I took a quick look on eBay, and it looks like M6500's go for about 25% less than the closest equivalent 17" MacBook Pro. They're also more expandable. But that's just my take on the matter.

Incidentally, I consider the M6500 to be more desirable than the current M6600. They both have the same expansion capability (2x2.5" drives plus an mSATA, 32 GB RAM, 2xUSB2, 2xUSB3, eSATA, plenty of wireless options including WWAN, and the other usual suspects), but the M6500 has a 16:10 screen (1920x1200) while the M6600 has a 16:9 screen (1920x1080). For photo work, that's about 23% more pixels on the older machine; even if I did watch movies, I don't care about the slight letterboxing. Obviously, you can plug external monitors into both, but that's not how I usually operate. I think Dell did this for cost reasons, since that's what the screen makers prefer to make, but on a flagship laptop like the M6600, that doesn't make a lot of sense. On the Alienware, sure; that's a gaming machine, but the M6600 is a portable workstation. The only advantage of the M6600 that I can see is that it uses Sandy Bridge rather than Nehalem processors and has newer graphics options, but you're going to get more of a speed boost in practice from your memory and disk configuration. Anyhow, the M6500 is very easy to work on; you don't have to remove nearly as many screws as the older ones, and everything is seated very solidly.

Comment Re:forcing views of the hompage (Score 2, Insightful) 272

AdBlock Plus and NoScript are doing different things -- ABP is basically a filter engine, and the rules are the only thing that (normally) needs to be updated. NoScript is blocking things based on various algorithms, so it's procedural rather than data-driven. It's not surprising that NoScript's engine needs to be updated more often than ABP's.

Comment Re:FLOSS software? (Score 1) 356

Where would this end, anyway?

"Causing harm to animals" is extremely vague. Would it mean, for example, that a restaurant that serves meat couldn't use it? Would it mean that I couldn't use such an application to order meat from a grocery store, or buy leather shoes?

There's a very good reason why both the free software and open source definitions forbid field of use restrictions (and even most proprietary software doesn't try things like this).

Comment Re:The have fought and lost (Score 2, Insightful) 280

Performing and composing are different, but one's not "less" or "more" than the other.

Aside from the fact that a lot of forms of music are improvisational, which is a form of creating something new, performing itself requires skill and (in most cases) collaboration with others and is expressive, from the choice of music to the tempo, shaping of the phrases, and indeed individual notes.

Comment I'm a tail end boomer (Score 1) 921

and it has probably been 30 years since I've written in cursive. My penmanship was always atrocious, in either print or cursive. I have decent enough motor control, but not for handwriting.

We learned typing in 8th or 9th grade. That was my salvation. After that, I think I wrote a few long letters to my parents in college, but that was about it for actually hand writing anything.

Personally, I think this is a completely negligible loss.

Comment Communication is most important of all! (Score 4, Interesting) 537

In the debate about concepts vs. specific languages, one thing is missing: the most important skills in the "real world" are communication skills. It hardly matters how good of a programmer you are; if you can't communicate, you're going nowhere. That means being able to speak clearly and coherently, write well, understand and respond to other people's communications, and so forth. You could be a god-like programmer, but if nobody can understand what you're doing, your code won't be of much use and you won't be asked to do anything of interest because nobody will know what you can do. One of the best CS classes I took at MIT, about 25 years ago, had no programming or even design component whatsoever. It was called Computer Systems Engineering, 6.033 if I recall correctly. The common joke about it was that it was a humanities class. That's because the work involved reading a substantial body of material each week (often some of the major foundation papers of the field) and writing critiques. There were in addition two term papers, which involved architecting a solution to a particular problem (no design work here -- just the architecture). My observation was that students either loved it or hated it. The ones who hated it were the ones who just wanted to get down and dirty with coding. The ones who liked it were the ones who had good communication skills who wanted to really understand the field.

As far as the language issue goes, are you looking for a trade school or a professional education? Languages will come and go. If you have a sound technical base, you can pick up the fundamentals of any new language quickly enough, and languages constantly evolve anyway (C++ today isn't what it was 10 years ago, and who knows what the language de l'heur will be in 2 years, anyway). I learned JavaScript a few years ago while hacking on an internal tool to generate bug reports (something I've used for years to assist me in managing projects) -- someone wanted a more interactive experience. I'm no JavaScript expert, but I picked up the basics quickly enough -- and more importantly, because of my basic background in interface design, algorithms and optimization, my reporting tool is very fast, and the JavaScript can be used by anyone else in the company who wants to do similar manipulations on HTML tables. Similarly, I learned Python about 6 months ago because a planning tool I wanted to use was written in Python, but I wanted to add some new features, speed it up, and fix some bugs. No classes, no books, just reading the code and doing some Google searches when I needed to learn more about wxPython. When I was an undergrad, the only programming classes offered by the CS department used Scheme and CLU -- two languages with no significant commercial value even then (at that time, the commercially interesting languages were Fortran, Cobol, and C). Why? Because those languages had features that were particularly good for teaching the desired concepts.

Also, learning programming isn't very expensive. As others have said, you can learn a lot on your own at the cost of the computer that you already have. Better yet, you can create or work on something useful in the FOSS world.

When I've interviewed candidates for engineering jobs (both as a manager and as an engineer), I've never been concerned with "what languages or libraries does this person know". Depending upon the seniority of the person, I'm looking for good reasoning capability, ability to execute, and ability to communicate. I hired a fantastic engineer out of school. What set her apart from everyone else was her ability to explain why she did something. She didn't merely recite her class projects, she explained why she made engineering choices that she did in a way that was more than enough to demonstrate her technical chops, and her explanations were clear, and she could answer questions in a way that showed real understanding. Since my group was distributed (most of the people were on the other side of the country), communication was an essential part of her work. She made strong contributions right from the get-go, and the mentor I assigned her really enjoyed working with her. Sure, she knew C, but the more important part was being able to learn about a complex system she had never encountered in a way that she could read the rest of the code and make enhancements to the control software for the box.

*That's* what I look for in a software engineer.

Comment I would *not* want a large display at low refresh! (Score 1) 384

I would absolutely not want a large (in angular dimension) display -- and a head-mounted display right in front of my eyes is almost certainly going to be very large in that regard -- at a low refresh rate. I suspect the combination of flicker and lack of motion as my head moves would make me violently ill.

People are used to the scene moving as their head moves and the vision system corrects for that. If I move my head from side to side, I don't have a sensation of my laptop screen moving -- the image does actually move on my vision receptor, but my brain corrects for it.

A head-mounted display, unless it were very clever and very high resolution, wouldn't do that. That means that whatever's being displayed would be perceived to be moving in sync with my head, which would probably be very confusing.

The combination of large angular dimension and low refresh rate would create flicker over much or all of my visual field. I suspect that that would make me quite ill. IMAX films at the Museum of Science in Boston are projected on a large dome that basically covers the entire visual field. They warn about nausea from the vividness of the experience, but I don't think that that alone is what triggers it -- I think it's the flicker from 24 Hz refresh rate (exacerbated by the blank intervals between frames). I have no proof, but the disorientation is worse when something on the screen (such as a spinning wheel on a car in a closeup) interacts with the refresh rate -- steady motion isn't as bad. There's some disorientation when the film is showing something from a high place (such as Everest), but it's not as bad as the motion-induced disorientation.

Comment Re:Work Experience (Score 1) 834

Agreed (granted, from 20 years out of date). For the record, I have a bachelor's but not a master's degree.

My most valuable experience in college -- and this was MIT -- was my undergraduate work experience (as a sysadmin and -- more importantly -- systems programmer at Project Athena). More than any of the classes I took. That's not to say that they weren't valuable -- algorithms helped me learn how to analyze different approaches (more so than just the specifics of different algorithms) -- but actually working as a systems programmer in a UNIX environment is what actually tied everything together.

When I hired people (I was a manager about 5 years ago), the least important thing on someone's resume was their academic background. I actually helped hire someone quite senior (but fairly young for the level we hired him for), and after the offer went out my manager and I realized he hadn't stated any academic qualifications at all on his resume or his application. We looked at each other and shrugged. Didn't make him any less able to do what we needed, and he worked out fine. We do have guidelines that a master's degree is worth ~2 years of job experience, but what happens in practice is that promotions are based on demonstrated ability to do the work at the next level, and after the first promotion the exact amount of work experience is meaningless.

My personal opinion -- and again, this is based on my experience 20 years ago -- is that a master's in computer science is all but worthless, with one exception. Even if you assume that the 2 years spent translates into 2 years of salary increases (and ignore the fact that right now salary increases are nonexistent), it isn't worth it -- you're giving up those 2 years of base pay and getting nothing more from it.

The only exception I can really see is a 5 year program with a structured internship, like the VI-A (6-A) program at MIT. But that's more for the internship (which is real work experience) than for the piece of paper, and it's only one year more rather than two. But if you already have a degree, getting a separate master's in computer science/engineering just isn't worth it. For academia you need that PhD anyway. I suppose it's possible that there are some organizations that specifically want the piece of paper, but that situation's likely to be so bureaucratic that I wouldn't want to be in it at all.

Comment Re:Obvious? (Score 3, Interesting) 510

I plugged the numbers into a spreadsheet; it looks like power output is proportional to roughly D^2.5 (probably closer to 3 than to 2; I didn't do a best fit analysis). Cost is proportional to somewhere between D and D^1.5 (closer to D).

Note that the area is proportional to D^2, so bigger windmills actually extract more energy from the same amount of airflow.

Basically, the 1 meter windmill is a toy. It would be more practical to hook up a generator to a bike or rowing machine and use a battery or flywheel to store the energy -- that way you'd at least get some exercise out of it.

Comment There's quirky, and then there's narcissistic (Score 1) 1134

To me, "quirky" means someone who eats offbeat food for lunch, or works particularly strange hours, or wears ripped T-shirts and cutoffs in the dead of winter, or wears a suit and tie when not visiting a customer, or who consistently underestimates schedules by the same amount each time. These can either be ignored or worked around (the person who consistently underestimates his schedule by a factor of 3 is easy to plan around, just triple his time estimates and caution other people to do the same thing). That's harmless.

The prima donna is someone with mildly narcissistic tendencies whose ego needs some stroking, but who will get things done in a fashion that allows others to understand what's going on. I can handle that, up to a point. If when push really comes to shove the person works well with the team, OK, he or she is fundamentally a good person but has some insecurities. If the person insists on taking all the credit for a team effort, that's getting destructive.

A real narcissist is another matter altogether. Someone whose code is impenetrable, who refuses to document anything or tell anyone what they're doing, or who deliberately and maliciously offends people (wearing offensive T-shirts...I don't simply mean less than stellar personal hygiene) is another matter altogether. Doesn't matter how brilliant the person is, someone like this will destroy a team, and however clever their work, it's not going to be usable if anything changes.

Comment My personal approach... (Score 1) 417

If the salesperson makes it clear that s/he's simply going through the motions with the extended warranty because he's required to, but that he really understands that I know better, I will politely decline it. This actually happened at Tweeter a number of years ago when we bought a TV -- he even prefaced it by saying that he was required to ask us, even though he knew we knew it was a bad deal. If the person acts serious about it, I'll be rude -- cold, snarky, or just plain condescending depending upon my mood. My strategy is to make pushing this kind of warranty an unpleasant experience while rewarding sales people (at least emotionally) who treat me respectfully.

Someone at Radio Shaft sold my mother in law a "protection plan" on a $12 phone. I managed to convince her to go right back to the store and demand a refund on it, which she had no problem with.

Slashdot Top Deals

Old programmers never die, they just hit account block limit.

Working...