The email client Mulberry also has the ability to automatically encrypt, sign and decrypt, and has for some time now.
Check it out at http://www.cyrusoft.com/mulberry/.
It is payware, but it's a damn nice email client. Works on Windows, Mac, MacOS X, Linux, and, I believe, Solaris.
Yes, great idea; I want this for some of my co-workers. (mod this up!)
Also:
command line options corresponding to various commonly needed compiler featues (make it quieter, make it more verbose, directory searching, linking, etc.)
a good concise intro to make files
a smattering of shell and perl basics
dynamic libraries and dyanmic linking (ld, ldd, LD_LIBRARY_PATH, ldconfig, etc.)
I want a book that discusses the writing of C++ templates to solve real world problems. I don't want a book about how to use the STL; I want a book about how to design and write STL style templates, or how to write an STL like library for a more specific application. For example, how to write a splay tree class that will be STL compatible (use STL iterators, allocators, etc.). (But don't limit it just to container classes.)
I believe C++ templates are one of the most powerful features in C++ but also one of the most misunderstood and (unjustly) maligned. I think a really well written and thought out text would go a long way to unlocking for many the power of templates.
This is a non-trivial book. A very rough contents outline might look something like this:
Part 1: Introduction to writing templates
About templates: a review of syntax, ending with a fairly trivial container example.
Template style: stylistic guidelines for using templates: typedefs, template argument naming and ordering, etc.
Template practice: when should something be a template, how to decide on template arguments, etc.
Templates playing nice: interaction of templates with other C++ features such as virtual functions and inheritence.
Part 2: The STL, a case study for template library design
The STL: an introduction to the _concepts_ behind the STL: iterators, allocators, functors, design by contract using templates, etc. (maybe a chapter or so on each of these concepts.)
Example: In depth examination of an existing STL template class.
Example: implementing an STL compatible splay tree template class from scratch. (or, better yet, pick some other data structure that's less like something already in the STL.)
Part 3: A Template Pattern Library
I'm not sure exactly what these patterns are, but I'm sure they're out there. Here's a few I've seen:
Template conversion/casting: using a template to wrap a complicated or ugly conversion or casting operation.
Template factories: using templates to automate coding of factories to create objects.
Maybe look at tie classes in CORBA.
I don't know who would be qualified to write such a text. Certainly someone involved with the design of the STL would be a great choice.
If you write this book, I will buy it. If you offer me money, I might write this book. I'd need a co-author though.
EPCKPT is a checkpoint/restart utility built into the Linux kernel. Checkpointing is the ability to save an image of the state of a process (or group of processes) at a certain point during its lifetime.
Overall this article seems to be more a demonstration of the ability of journalists to blow scientist's claims out of proportion than the ability of scientists to make important, but incremental, discoveries. I think the article tries to be provocative, and it's not completely off-base.
However, there are number of factual details that the author leaves out here:
ORF finders - One of the keys to understanding the disparity between the expected number of genes and the numbers now being tossed around is to understand the way these gene predictors work. These are software programs which look for Open Reading Frames (ORFs). These are stretches of DNA which lack stop codons and are purported to be genes. This is a very crude measure of what is a gene. Often these programs try to take other factors into consideration like consensus splice sites. Still, there is still contention in the bioinformatics community on what defines a gene at the sequence level.
The number of genes predicted by these programs varies wildly (Incyte claims 100k+, Celera says ~30k). This is because these different organizations use different software packages to find the genes. But the reality is that no-one really knows yet. No one has actual studied all these genes, yet. No one has purified the actual protein molecules that they are supposed to encode. Very few (less than 1000) have been extensively studied, and in almost every one we've learned more about what makes a gene.
Alternative Splicing - One of the primary mechanisms of increasing the diversity of gene products as compared to gene sequence. Splicing is the process by which the coding regions (exons) of genes are connected together while the uncoding pieces (introns) are clipped out. Often > 90% of genes are intronic (for example CFTR, the gene that is implicated in Cystic Fibrosis, has 4300 coding bases, but the gene itself is over 100,000 bases long). In alternative splicing, the choice of which pieces of the gene are intron and which are exon is variable, controlled by a mechanism not yet thoroughly understood. This is somewhat like a choose-your-own adventure; some parts of the story are left out for some readers. This occurs quite commonly in immune system genes, for example anti-bodies. The incredible ability of the immune system to deal with pathogens is linked to the combinatorial gene expression provided by alternative splicing. It is thought that many other genes may use this technique.
Draft Genome Sequence - It's not done yet! It may be 98% complete, but, hey, the entirety of the coding region is <5%. So there's still lots of room for error.
The sequencing of the genome is a hugely important achievement. But, as other have said, it is just a first step. It gives us the substrate upon which many many years of research will be based. It's clear that there is a lot of work left to be done. Already many research labs are moth-balling their DNA sequencers and replacing them with NMR magnets to examine the 3D structure of these gene-products. The protein folding problems remains one of the most studied, unsolved questions remaining in bioinformatics.
I think this would be a great idea. Perl would be perfect for this. Consider:
Perl is widely ported to many many architectures.
Perl has a large library of existing code, including many high performance math libraries, many of which are already highly portable and fast, being written in X-Sub C or C++ code. (The fact that perl is slower than one would like for scientific computations is mitigated by the fact that all compute-intensive operations could be implemented by simply calling into C++ libraries.)
Perl has a number of schemes for executing scripts in secure "boxes," such as the Safe module, which limit the types of operations available to those which may not modify the host computer.
Perl allows one to combine program code and data into a single stream, by using the __DATA__ filehandle.
Really this could be implemented very quickly, Clients could simply HTTP GET datablocks (complete perl scripts) and HTTP POST the results.
The data integrity could be ensured by randomly testing clients by sending them data blocks for which answers were already known. The percentage of known answer test blocks to unknown answer work blocks could be varied with the perceived level of trust in the Hive.
I'm anxious to find out how BSDish OS X really is. Can anyone shed some light on these things:
How modifiable is it?
What about VFS? Can I add reiserfs or coda or something?
What about binary compatibility (yes, Dorothy, there are BSD variants already running on PPC)?
Can I rip the Darwin core out from under stock OS X and replace it with the free version? (This would be tremendously cool. Imagine Darwin as the open source core, and then OS X as Apple's proprietary additions, like Aqua, the Blue Box, etc.)
I get a shiny new dual proc G4 sometime this week. I'll repost when I know more.
It simply means that an object of 19 inches can register in the image- and "register" simply means that a dot on the image might be brighter or darker depending on the overall colour of the object.
Actually, it means that each pixel on the image represents 19 inches on the earth.
Doesn't it seem like this could actually _make_ money? I mean, it's such a cool service by people who already know Open Source well. Why couldn't they do more than just give the service away?
Could they sell CDs, with SourceForge hosted software on them? As long as the authors approved?
I wonder if they've thought of this?
Would anyone give permission to do this? Especially if the per CD cost was low. I mean, you're getting hosting for free. If the CDs supported that service, would that be okay? You're already giving the software away.
More over, would people pay money to get authoritative versions of linux software compilations on CD?
I've always wanted to use some kind of hardware to store authentication things. For example,
Idea 1, SSH: I don't allow telnet to any machine I admin, just SSH. I've wanted to generate RSA keys for every host, and then burn them onto a CD. Use the same password to protect every key. Then, you'd have to have both my password and the CD to hack my boxes. This, of course, requires both SSH and a CDROM drive on any client machine that you access from. It doesn't work just for general passwords.
Idea 2, iButton: Maybe a different system would, however. It involves those funky iButtons. These are little watch battery sized devices which store some fixed amount of data (different sizes up to about 64k), and can be addressed by a simple serial interface. You touch the iButton to a small contact (called a "Blue Dot") which plugs into a serial port, and software downloads the data. Store the authentication data (RSA key or just a plaintext password) in the iButton, maybe all encrypted with a single password. Then when authenticating, touch the iButton to the contact, and type in the (single) password to decrypt. The software could figure out which account was being accessed, and use the appropriate key. I think the software bits here wouldn't be too hard (I only see software on iButton's site for Windoze machines, is this being remedied?). Of course, this would require a iButton contact on any client machine that you access from; or it would require you to carry the contact thingy around and plug it into a serial port (pain in the ass).
I've often wondered how well this would work in an environment with lots of people. Could you reasonably expect people to hold onto an iButton or a CD? Maybe the iButton, if it attached to their keys? Is this too Draconian?
Check it out at http://www.cyrusoft.com/mulberry/. It is payware, but it's a damn nice email client. Works on Windows, Mac, MacOS X, Linux, and, I believe, Solaris.
-c
Also:
-c
I believe C++ templates are one of the most powerful features in C++ but also one of the most misunderstood and (unjustly) maligned. I think a really well written and thought out text would go a long way to unlocking for many the power of templates.
This is a non-trivial book. A very rough contents outline might look something like this:
- Part 1: Introduction to writing templates
- About templates: a review of syntax, ending with a fairly trivial container example.
- Template style: stylistic guidelines for using templates: typedefs, template argument naming and ordering, etc.
- Template practice: when should something be a template, how to decide on template arguments, etc.
- Templates playing nice: interaction of templates with other C++ features such as virtual functions and inheritence.
- Part 2: The STL, a case study for template library design
- The STL: an introduction to the _concepts_ behind the STL: iterators, allocators, functors, design by contract using templates, etc. (maybe a chapter or so on each of these concepts.)
- Example: In depth examination of an existing STL template class.
- Example: implementing an STL compatible splay tree template class from scratch. (or, better yet, pick some other data structure that's less like something already in the STL.)
- Part 3: A Template Pattern Library
- I'm not sure exactly what these patterns are, but I'm sure they're out there. Here's a few I've seen:
- Template conversion/casting: using a template to wrap a complicated or ugly conversion or casting operation.
- Template factories: using templates to automate coding of factories to create objects.
- Maybe look at tie classes in CORBA.
I don't know who would be qualified to write such a text. Certainly someone involved with the design of the STL would be a great choice.If you write this book, I will buy it. If you offer me money, I might write this book. I'd need a co-author though.
-c
--
--
Overall this article seems to be more a demonstration of the ability of journalists to blow scientist's claims out of proportion than the ability of scientists to make important, but incremental, discoveries. I think the article tries to be provocative, and it's not completely off-base.
However, there are number of factual details that the author leaves out here:
The number of genes predicted by these programs varies wildly (Incyte claims 100k+, Celera says ~30k). This is because these different organizations use different software packages to find the genes. But the reality is that no-one really knows yet. No one has actual studied all these genes, yet. No one has purified the actual protein molecules that they are supposed to encode. Very few (less than 1000) have been extensively studied, and in almost every one we've learned more about what makes a gene.
The sequencing of the genome is a hugely important achievement. But, as other have said, it is just a first step. It gives us the substrate upon which many many years of research will be based. It's clear that there is a lot of work left to be done. Already many research labs are moth-balling their DNA sequencers and replacing them with NMR magnets to examine the 3D structure of these gene-products. The protein folding problems remains one of the most studied, unsolved questions remaining in bioinformatics.
Hope this was somewhat useful.
-cI think this would be a great idea. Perl would be perfect for this. Consider:
Really this could be implemented very quickly, Clients could simply HTTP GET datablocks (complete perl scripts) and HTTP POST the results.
The data integrity could be ensured by randomly testing clients by sending them data blocks for which answers were already known. The percentage of known answer test blocks to unknown answer work blocks could be varied with the perceived level of trust in the Hive.
- How modifiable is it?
- What about VFS? Can I add reiserfs or coda or something?
- What about binary compatibility (yes, Dorothy, there are BSD variants already running on PPC)?
- Can I rip the Darwin core out from under stock OS X and replace it with the free version? (This would be tremendously cool. Imagine Darwin as the open source core, and then OS X as Apple's proprietary additions, like Aqua, the Blue Box, etc.)
I get a shiny new dual proc G4 sometime this week. I'll repost when I know more.-c
It simply means that an object of 19 inches can register in the image- and "register" simply means that a dot on the image might be brighter or darker depending on the overall colour of the object.
Actually, it means that each pixel on the image represents 19 inches on the earth.
Does anyone out there have this journal and want to post an abstract or something?
Public Choice
88 (3/4):259-273, 1996.
© Kluwer Academic Publishers
A mathematical one-man one-vote rationale for Madisonian presidential voting based on maximum individual voting power
A. Natapoff
Man-Vehicle Laboratory, Department of Aeronautics and Astronautics, Center for Space Research, MIT 37-219, Cambridge, MA 02139-4307
ISSN 0048-5829
Doesn't it seem like this could actually _make_ money? I mean, it's such a cool service by people who already know Open Source well. Why couldn't they do more than just give the service away?
Could they sell CDs, with SourceForge hosted software on them? As long as the authors approved?
I wonder if they've thought of this?
Would anyone give permission to do this? Especially if the per CD cost was low. I mean, you're getting hosting for free. If the CDs supported that service, would that be okay? You're already giving the software away.
More over, would people pay money to get authoritative versions of linux software compilations on CD?
Just a thought,
-c
Idea 1, SSH: I don't allow telnet to any machine I admin, just SSH. I've wanted to generate RSA keys for every host, and then burn them onto a CD. Use the same password to protect every key. Then, you'd have to have both my password and the CD to hack my boxes. This, of course, requires both SSH and a CDROM drive on any client machine that you access from. It doesn't work just for general passwords.
Idea 2, iButton: Maybe a different system would, however. It involves those funky iButtons. These are little watch battery sized devices which store some fixed amount of data (different sizes up to about 64k), and can be addressed by a simple serial interface. You touch the iButton to a small contact (called a "Blue Dot") which plugs into a serial port, and software downloads the data. Store the authentication data (RSA key or just a plaintext password) in the iButton, maybe all encrypted with a single password. Then when authenticating, touch the iButton to the contact, and type in the (single) password to decrypt. The software could figure out which account was being accessed, and use the appropriate key. I think the software bits here wouldn't be too hard (I only see software on iButton's site for Windoze machines, is this being remedied?). Of course, this would require a iButton contact on any client machine that you access from; or it would require you to carry the contact thingy around and plug it into a serial port (pain in the ass).
I've often wondered how well this would work in an environment with lots of people. Could you reasonably expect people to hold onto an iButton or a CD? Maybe the iButton, if it attached to their keys? Is this too Draconian?
Thoughts?
-c