Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror

Comment Re:Sleep (Score 1) 259

I've always had the same problem and only when I got really serious about running (between 35 and 45 miles a week, about 9 miles every other day) have I have something approximating a normal sleep schedule. It may have been exhaustion and exercise addiction, but my body would wake up promptly at 4 or 5 am without an alarm clock. YMMV.

I'm also going to try the white noise thing, but I thought I'd throw out another option for you.

Graphics

Microsoft Wants To Participate In SVG Development 292

rossendryv writes "After many years of fighting against the standard, Microsoft announced they are joining the WC3's SVG working group to help with the development of SVG. 'We recognize that vector graphics are an important component of the next-generation Web platform,' said Patrick Dengler, senior program manager on Microsoft's Internet Explorer team in a blog post."
Medicine

Scientists Crack 'Entire Genetic Code' of Cancer 235

Entropy98 writes "Scientists have unlocked the entire genetic code of skin and lung cancer. From the article: 'Not only will the cancer maps pave the way for blood tests to spot tumors far earlier, they will also yield new drug targets, say the Wellcome Trust team. The scientists found the DNA code for a skin cancer called melanoma contained more than 30,000 errors almost entirely caused by too much sun exposure. The lung cancer DNA code had more than 23,000 errors largely triggered by cigarette smoke exposure. From this, the experts estimate a typical smoker acquires one new mutation for every 15 cigarettes they smoke. Although many of these mutations will be harmless, some will trigger cancer.' Yet another step towards curing cancer. Though it will probably take many years to study so many mutations."

Comment Re:Monads (was Concurrency?) (Score 1) 173

I think that experienced haskellers often forget to explain that there is a portion of the program that is not strictly functional. The thing is that the programmer is not given access to it. Instead, the programmer is asked to pass around descriptions of the I/O actions to be taken. A monad is a data type that (amongst a vast number of other things) can be used to structure these descriptions so that we can get the order of execution right. (notice that I didn't say 'evaluation')

The next part is a bit sloppy because monads turn out to be even more abstract than described, but it suffices to explain the concepts that give us the ability to be pure and still interact with the outside world.

Every Haskell program is an instance of a function that returns an IO Monad. "Inside" that monad (for the moment, think of it as a box plus a little bit of extra data) is a description of the I/O action to be performed and a new function that takes the result of that I/O (possibly discarding it) and produces another monad. Only the function inside the monad is allowed to refer to the result of performing the execution of that monad, but it is also able to refer to any functions outside of the monad. (Like lexical scoping.)

There's always a impure portion to a program that the programmer never gets to see. It's job is to evaluate just enough of a function to get ahold of an I/O monad, read the description inside that monad, perform the action and then repeat the whole process again by passing the result into the function if found inside the monad. This division of duties is enforced by only allowing the programmer to use the functions with stuff a description and function into a monad, but not the ones to get it out. Only the impure part of the function can

All this so far is interesting, but it seems like it would take an awful lot of discipline just for the sake of purity. However, what really make monads snazzy is that there are some great tricks with syntactic sugar that can help the programmer design these descriptions in much the same way he would write an imperative program. This is Haskell's 'do' syntax. The 'do' syntax doesn't make a purely function Haskell program imperative, but it sure makes it look a lot like it is.

Still, monads are nothing more than a data type with a couple of particular kinds of functions defined on it. In the case of I/O, those functions stuff things into the monad, combine monads and get information out of the monad. If you use monads for other things, it might be worthwhile to think of those functions as serving other purposes. Haskell's monad type class simply abstracts the features of all these so that algorithms used on one can often be used on all the others... even if it does obscure the original interpretation of what's going on.

Businesses

"Cyber Monday" Expected To Draw Virtual Crowds 133

Anti-Globalism writes with this excerpt from PCWorld: "Last year, consumers spent $733 million on Cyber Monday, and it's expected to be even bigger this year. According to a survey by online shopping site Shopzilla for the National Retail Federation's Shop.org, nearly 84 percent of online retailers plan to have a Cyber Monday promotion on December 1. That's up from just 72 percent last year and zero percent in 2005, says Shop.org executive director Scott Silverman."
Patents

Rewriting a Software Product After Quitting a Job? 604

hi_caramba_2008 writes "We are a bunch of good friends at a large software company. The product we work on is under-budgeted and over-hyped by the sales drones. The code quality sucks, and management keeps pulling in different direction. Discussing this among ourselves, we talked about leaving the company and rebuilding the code from scratch over a few months. We are not taking any code with us. We are not taking customer lists (we probably will aim at different customers anyway). The code architecture will also be different — hosted vs. stand-alone, different modules and APIs. But at the feature level, we will imitate this product. Can we be sued for IP infringement, theft, or whatever? Are workers allowed to imitate the product they were working on? We know we have to deal with the non-compete clause in our employment contracts, but in our state this clause has been very difficult to enforce. We are more concerned with other IP legal aspects."
Unix

(Useful) Stupid Unix Tricks? 2362

So the other day I messaged another admin from the console using the regular old 'write' command (as I've been doing for over 10 years). To my surprise he didn't know how to respond back to me (he had to call me on the phone) and had never even known you could do that. That got me thinking that there's probably lots of things like that, and likely things I've never heard of. What sorts of things do you take for granted as a natural part of Unix that other people are surprised at?

Space

Magnetic Portals Connect Sun and Earth 235

MaxwellEdison writes "Scientists have discovered evidence of magnetic portals connecting the Earth and the Sun every 8 minutes. 'Several speakers at the Workshop have outlined how FTEs form: On the dayside of Earth (the side closest to the sun), Earth's magnetic field presses against the sun's magnetic field. Approximately every eight minutes, the two fields briefly merge or "reconnect," forming a portal through which particles can flow. The portal takes the form of a magnetic cylinder about as wide as Earth. The European Space Agency's fleet of four Cluster spacecraft and NASA's five THEMIS probes have flown through and surrounded these cylinders, measuring their dimensions and sensing the particles that shoot through.'"

Comment Re:Ok..how about taxes? (Score 1) 2369

Otherwise I reject the idea of income redistribution.

Repeat after me: Progressive taxation is not wealth redistribution.

If the government takes 1% of the income of someone making $20k a year, it has a much greater effect on the lifestyle of that person than than if you were to take 1% of the income of a person making $250k a year. To say that the 1% is "equal taxation" for both people is just plain silly.

Slashdot Top Deals

Disraeli was pretty close: actually, there are Lies, Damn lies, Statistics, Benchmarks, and Delivery dates.

Working...