text:
It's no secret that I don't like some of the implications of pointers.
Specifically pointers to data objects and who in essence actually owns the data object at any point in time. Whilst not too much of an issue in a process with a single sequential thread of execution, issues quickly arise with two or more threads. The brut force method being to lock an object to who it was last passed to (Rust's way of doing things) irrespective of if it was for reading or modifing the daya object. Under the same brut force mentality you have to lock the entire data object not individual data items within it.
In nearly all cases the use of clean functions that pass by message/value resolve the issues painlessly. And as a side effect tend to make generic garbage collection unnecessary as adjusting the stack frame on function termination resolves that. But the problem with this is three fold the size and duplication of the data object passed and likewise the return value(s) from the function, that might be used to update the data object, in effect pushes you back to single sequential thread operation and locked records.
Whilst a human can by having intimate knowledge of the function of the code can work around this, in general compilers can not because they lack knowledge to do anything other than brut force locking. Attempts to describe the function of the code via lables such as const / static etc still do not get around the problem.
In fact as a generalised case Process Callculi are defined to use message passing channels not by sharing variables, for good reason.
Whilst I won't say passing pointers is an abomination, the abuse many code-cutters subject them to is very definitely an abomination.]]>
Y. Moy is a bright and capable man but again: he is not Ada or adacorp. He is not even Spark. That is not meant in any way against Y. Moy but rather to put your story into a frame. What you call "quite a bit of corroboration" still is far away from "Ada/Spark will use Rusts pointers". Also Y. Moy didn't admit anything; he merely mentioned something that is, btw, *not* high up on adacorps ToDo list. Putting an intern at something usually translates to something like "is probably worth a closer look and some experimenting".
You also consistently fail to see the importance of language. This is not some game where one collects safety items and strives to have the best ones. Ada simply has BY FAR less need for safe pointers than C family languages.
One point that immediately struck me was the clear hint at something that tells a lot about the Ada people and reminds of the difference between professionals doing something vs. some amateurs playing around: Math at Inria and a strong desire to have it properly formally verified, both the design and the resulting code.
"In Ada, they can't without garbage collection" - uhm, garbage collection is optional and many Ada compilers don't have it (and I certainly don't miss it). More importantly, though, that demonstrates once more that you might want to pick up on my multiple strong hints about language specificity. That whole garbage collection mindset comes from a certain background, often C and family, but is of far lesser importance for other languages. So, for Rust GC might be seriously attractive but many Ada compilers do not even plan to work on it; it's simply an unimportant gadget.
"The concepts of maximizing potential and ROI means you want to create as many great things as possible with as little effort as possible." - Uhum. And what is "great things"? Unless "great things" means crap (like most code we have that was driven by profit greed and incompetence), if it means at least halfway decent quality we are back at formal methods and languages like Ada oder Eiffel, etc.
And I'm back at my "report" where I - with good reason - mentioned that TDC (total development cost) with Ada is *not* higher than with C and family. This is even way more true if we include maintenance.
So what are you arguing here? That we should throw millions of more hours and billions of more $ at the C family in the hope that one day in the year 2700 it might be able to deliver "great things" of halfway decent quality with not too much effort - say, like what we can do today even with Object Pascal (not even to mention Ada)?
"Forcing long, hard work in separation logic like Microsoft tried to do in Hyper-V is terrible compared to how quickly Redox team threw together a whole OS with same safety guarantees on heaps just using Rust's borrow-checker. Same benefits with fraction of knowledge or work = better solution."
Theory and improper, too. For a start the "long, hard work in separation logic" of microsoft lead to *provably safe* code. I've yet to see that for redox. Moreover you are comparing apples and horses, namely early research work of microsoft vs. much later work (btw quite probably profitting from microsofts earlier work). Furthermore Rust's borrow-checker solves 1 (in words: one) problem only, albeit a major one while microsofts work solves whole problem classes and offers formal verification.
And again: I did concrete work, I solved concrete problems in C, Frama-C, verifast (sep logic) and in sparked Ada. I have concrete experience with concrete work. And the result is that working in Ada is about as fast as in C and much, much more efficient and faster than ACSL annotated C plus Frama-C checking (which btw. is a pita even just to set up) or sep-logic annotated and checked.
That is a tremendously important result because it means that we can build "many great things ... with as little effort as possible." or, more concretely with about the same effort - but with hugely higher quality!
"Rust's temporal safety" - ... is mostly a misnaming. Yes, temporal aspects may play a role under certain circumstances but the thing you are talking about is mostly memory safety. As for temporal safety there is much more needed than merely pointer safety. And btw. Ada offers a lot in that regard since a long time (I'd love to talk about Eiffel, too, but a) my experience with Eiffel is quite limited and b) multitasking of any kind is quite new there).
As we are on a security blog, let me mention an example that is of importance in crypto protocol verification, namely the temporal pi calculus implication, i.e. a statement like "event A implies that there was event B before" which btw can also be transformed for what you meant, i.e. memory safety with multiple tasks -> "event 'grab token' or 'change bit' implies that there was an event 'release token' before".
All in all, yes, Rust probably is better suited than C to create less buggy software but as soon as we talk real safety we can't but talk formal verification, too.
Closing, I have a maybe interesting tip for you: as you like to dig into papers and concepts, you might enjoy a deeper look into the Pony language; you'll even find something similar to Rust's approach plus an amazing evolution towards quite well done and blazingly fast actors.]]>
"For a start Yannick Moy != Ada(core). Y. Moy, who has a strong background in C/C++, with emphasis on safety and checking, is a senior engineer at adacore and mainly involved with Spark from what I know."
Yannick understands Ada enough to work on its flagship implementations at the main company contributing to it. That he admits the hole I describe is there is quite a bit of corroboration.
"Also kindly note that Ada's unchecked_deallocation is *not* something dangerous or evil (as it may sound); it's merely about deallocating a pointed to object expressly as wished by the programmer."
You could say the same thing about C or C++. The programmer wants to do that operation safely for good reasons involving dynamic, memory management. In Rust, they can. In Ada, they can't without garbage collection. Ada in FOSS also doesn't have a garbage collector as good as Go's per Yannick. Hence, Ada needs to have one or both of these to be safe in situations the competition is which Ada can't handle.
"On the other hand, people being people and existing software being what it is (e.g. OS or lib Interfaces) pointers are sometimes used, be it out of utter necessity or due to idiocy."
Rust is utterly dominating such extensions in terms of a safe, high-performance language doing them. Ada uses the same platforms without the same benefits. Your counter is actually corroborating Yannick and I's position that a borrow-checker in Ada would be a good thing.
"To me that simply translates to "I don't care. Let them play, I have work to do". Verification is no burden, it's a gift from heaven."
Intellectually stimulating but not in general. The concepts of maximizing potential and ROI means you want to create as many great things as possible with as little effort as possible. Forcing long, hard work in separation logic like Microsoft tried to do in Hyper-V is terrible compared to how quickly Redox team threw together a whole OS with same safety guarantees on heaps just using Rust's borrow-checker. Same benefits with fraction of knowledge or work = better solution.
Rust's temporal safety hit a sweet spot between cost and benefits I rarely see. So, I'd prefer the other safe, system languages to have the same capability. Otherwise, a concurrent, low-latency GC that can be customized to the job at hand more like Go to save programmers effort. However, if Rust people can handle borrow-checkers, the straight-jacket-loving developers using Ada should be able to do it just as well. Maybe better combined with other features of language.]]>
For a start Yannick Moy != Ada(core). Y. Moy, who has a strong background in C/C++, with emphasis on safety and checking, is a senior engineer at adacore and mainly involved with Spark from what I know.
What he says about that intern is focussed on a certain quite specific problem where Rust like pointer may or may not be helpful.
Also kindly note that Ada's unchecked_deallocation is *not* something dangerous or evil (as it may sound); it's merely about deallocating a pointed to object expressly as wished by the programmer.
But the problem goes far deeper. We (safety oriented Ada people) have a "hierarchy" from desirable down to undesirable and pointers ('access types' in Ada lingo) are considered undesirable; sometimes necessary (e.g. at the OS interface) but undesirable. Another example is pointer arithmetic; it's available in Ada, too ("hidden away", of course) but you'll hardly get an Ada developer to use pointer arithmetic without seriously urgent need or a liberal dose of beating him.
On the other hand, people being people and existing software being what it is (e.g. OS or lib Interfaces) pointers are sometimes used, be it out of utter necessity or due to idiocy. It's *that* dark and sad corner Y. Moy is talking about and not about Ada somehow throwing away all its beauty only to follow the Rust creed.
Moreover keep in mind that Moy is mostly about checking, Spark, proving, etc. So, his statement is *not* "Rust does it better. We'll switch" but rather something to the effect of "Rust pointers are attractive for *checking* and bookkeeping. We should look at that".
There are - like everywhere - of course different factions within the Ada community, one of which is the lenient one with e.g. Moy (maybe to a degree also driven by business interests); I myself belong to the other faction, the one that says "Let them die. More often than not pointers are evil and if used at all, that should be left to only the experienced wise masters. If a grasshopper uses them and dies that's just natural selection and a solved problem".
Which brings us to the next point. Sorry if I'm blunt (my english isn't good enough to put it elegantly) but I don't trust or care a rats rear about Rust. Simple reason: To me "open source community" translates pretty directly to "bunch of idiots". Of course, there are usually some bright or even brilliant individuals involved, too, but "democracy", "equality", bla bla etc, quite commonly and reliably is but a recipee for disaster.
"It also eliminates need for separation logic like VCC uses for temporal safety since it does same thing *without any verification effort*."
To me that simply translates to "I don't care. Let them play, I have work to do". Verification is no burden, it's a gift from heaven.
Oh I tried to buy bruce a drink but he dipped out to his hotel room then plane after a talk. So sorry I guess a digital beer will do (and I'm not doing your toslink data diode either 😂😂)]]>
Imagine if you can a man of sufficient hight and stature that a previous commenter described him as "looking like a Klingon", but without the wringles, and after reading your comment a slightly red complexion around the ears :$
funnily enough I pre empted both components of your reply because you have previously described 1. your appearance and 2. your physiologial reaction, when reading of compliments on this blog
some millenia ago, Iskander was taking a stroll and encountered a naked Klingon wearing a barrel, sitting on the pavement. Iskander stopped and said, I will give you anything you want. The klingon looked up and responded ' Move out of my sunlight'
Iskander the ruler of the world sighed and exclaimed 'If I was not Iskander I would wish to be Clive Robinson'
"It is known that Amazon's CloudHSM uses Safenet Luna HSMs and the security level is set to FIPS 140-2 Level 2. What it means is the keys stored in the HSM CAN BE RETRIEVED."
In the past, Level 4 devices were separate products that cost a fortune. I could see them not using Level 4 if trying to offer low-cost HSM's to a wide audience. I mean, it should be an option for mission-critical, business assets for those who would pay. They might not, though. Since there's justification against Level 4, my first question is whether their current hardware supports Level 3 with no extra costs? If extra costs, maybe a business decision from the penny-pinchers at Amazon. If not, then it may corroborate the idea that they're malicious.
Operating at Level 2 w/ key extraction possible is pretty damning. The report said "tamper-evident, seal broken." Does that mean the key is available but knowledge of extraction is tamper-resistant along lines of Level 3? Or can they get rid of the broken seal status? Also, does the interface easily allow a cloud vendor to let customers (a) ensure their stuff stays on specific set of HSM's and (b) get a signed confirmation that seal is intact before doing a sensitive operation? Then, they could just periodically check with a smaller window of risk.]]>
"I respect the good intention of the Rust people but as far as I'm concerned it's a lousy compromise. New code should use better languages in the first place and for the huge body of existing C/C++ code we'll need post factum analysers.
I had good reasons to stress in my "report" that Ada a) does not run significantly slower (and usually just as fast as C code) and b) doesn't make us less productive; in fact, if there is a difference at all than it's one to the good side."
You seem to be missing a big reason for my post which has nothing to with C. There's no way in Ada to do temporal safety in the general case. The AdaCore rep acknowledged that. Many others wrote about the need to use unchecked deallocation in lots of places. The Rust solution started with linear types work in *functional languages* decades ago that the Cyclone team made work with a C-like language. Rust adopted affine types and improved on it. That Rust competes with or has occasional similarities to C is irrelevant. The relevant thing is the affine types on references, aka the borrow-checker, make the major, temporal errors impossible and allow safe concurrency with no extra constraints. One can also use multiple, concurrency models just like the best HPC languages allowed given different problems suit different models. All are safe at code level, though, via borrow checker. This allows Rust developers to use those pointer or thread heavy approaches that result in ultra-fast machine code *with no safety concerns or runtime checks*. Ada and SPARK can't do that just like AdaCore rep admitted.
So, I suggested *those features* be including *into Ada/SPARK*. Then, we get all the benefits of Ada/SPARK plus the strongest of Rust that Ada/SPARK currently lack. It also eliminates need for separation logic like VCC uses for temporal safety since it does same thing *without any verification effort*. They just heuristically learn ways to structuring programs to reduce battles with borrow-checker. SPARK would suddenly do dynamic memory and flexible concurrency so long as we're not talking real-time apps. Ada 2012 code would also require less runtime checks and tests given Rust's model makes it immune to these problems without runtime checks. So, there's clear improvement to be gained if Ada/SPARK adds a borrow-checker for references. Meanwhile, Rust is in the lead if the program is dynamic and/or multi-threaded.]]>
Imagine if you can a man of sufficient hight and stature that a previous commenter described him as "looking like a Klingon", but without the wringles, and after reading your comment a slightly red complexion around the ears :$]]>
Any way all that said as I have said a number of times I do not mind people using my ideas, but there is to requirments, firstly acknowledgment,
Clive, I acknowledge you. Because you are my hero! I mean that with utmost sincerity. I admire you on a variety of levels. I won't go into the number of reasons why but I am sure anyone else here could create such a list just as easily
How many lives have you saved and will you continue to save, we wonder?]]>
Opps it should be "who cites who sites"...]]>
Not sure the beef besides if you just want a shout out (and it's still technically possible he doesn't read here and thought up this himself unless you're eavesdropping on his connections)
The "beef" if you will is academics, they get very prickly about atribution of ideas or parts of ideas, hence the often long long list of refrences at the backs of papers. Also those who sites who sites, all are part of the "publish or die" rules. However quite a few academics treat what they see as non academics differently and will not acknowledge other peoples ideas unless they "are part of the club". Not only is it hypocritical behaviour it also makes their crime even more insulting. But worse it "buys in" to one of the worst straight jackets on knowledge since the Catholic Church the racket of the academic journals.
Even on a "public site" what I write good, bad or indiferent is automatically a "work" that has as a minimum the legal protection of copyright etc. The fact it appears on a public site which is freely available also means it is "published". The copyright can not be taken away, only the rights pertaining to it assigned to others. The fact it also carries both my name and a date of creation / publication further strengthens those protections and rights, and makes it in effect "prior art" from that time onwards. Which you probably know means it has legal impications when it comes to both patents and usage. Importantly like it or not the Schneier on Security site is due to both it's usage and history the equivalent of a "journal" even though not pre peer reviewed.
Any way all that said as I have said a number of times I do not mind people using my ideas, but there is to requirments, firstly acknowledgment, secondly that if they buy me a drink, prefereably through our generous host, thus they buy Bruce two drinks, and at some point Bruce can buy me one (if we ever meet up ;)]]>
I have to keep my mouth shut about a lot of things I wish I could say and discuss, but I've signed agreements and would give competitors a leg up if they happened to be reading. Personally I find it really exciting that different brains with different approaches and different ways of seeing the world will take some work and apply new ways of thinking to it.
So long as you version control, if they muck up an idea so bad, just revert to older versions. :p]]>
Actually I'm a little sad about C. Dross/Y. Moy doing what they are doing because while certainly meaning well they actually risk to add confusion. Let me explain:
That whole verification field is confusing enough and many do not fully understand it. As it also happens to be one of the few major tools in the rotten software world, it is of importance that it be well understood.
I'd feel a need to elaborate on two important points in that regard. And I'll begin with and use as a guiding light Dijkstras often forgotten but immensely important statement that code is the implementation of algorithm. This immediately leads us to my first point: What is code verification about? Answer: It is obviously about code, i.e. about the *implementation* of algorithms - *not* about algorithm verif.
What Dross/Moy demonstrate is understandable from a human point of view. Of course, having developed a powerful new tool, one wants to show its capabilities and to play with it. Quite probably another factor played a role, too, namely a very troublesome attitude mainly from across the ocean (something like "No need to properly think. Just do it. Shoot!").
And yes, Spark has grown to considerable power; one *can* do lots of amazing things with it, as (not only) Dross/Moy demonstrate.
However: That is *not* what code verification is about! It is *not* about algorithm verification!
As I said, the field is complex and we should certainly not mislead those who are just beginners in it. Similarly I can understand that it just seems practical to throw "all that verif stuff" together, particularly when a tool like Spark seems to be able to handle it.
No. We must discern and not cut corners. The question to be answered using Spark is a specific one. It is about the *implementation* - and nothing else. "Is my algorithm sound?" is a question to be looked at with other tools. Is my red-black tree design sound is not a question to be answered using Spark. Spark is about looking at the question "Is my *implementation* correct?"
2nd and related issue: code verification is *obviously* language dependant. Which also relates to your point of Spark looking at and maybe borrowing from Rust. Frankly, I think that that is largely nonsensical (albeit interesting and fun). Why? Simple: Rust has strong roots in the C family and, in fact, one very C-typical construct, namely pointers and the many related problems, has been a major, if not the reason for Rust in the first place. Most of those problems, however, simply do not exist in Ada.
Digging a little deeper one finds that the core problem is not even pointers but their utterly unaccounted willy nilly availability and arbitrary usability along with an utter lack of means to properly deal with them even if one wanted to; C (and family) simply don't offer any means. *That* is the problem, not even pointers per se. I know what I'm talking about; what I just said is the very reason why I looked at Frama-C (which I liked but which isn't powerful enough) and at separation logic tools.
Let us look at an algorithmically trivial problem, namely at a "hex printer", i.e. at code to "print" an unsigned, say 32 bit integer into a hex string. In C that would be something like a
void hexprint(char*buf, uint32_t num);procedure where buf is the buffer to print into and num is the number to be printed.
procedure hex_print(buf : String; num Unsigned_32);and we need not care where buf is allocated plus the compiler *knows* that; also the size of buf is known. So, sparking it might be as simple as "with Pre => buf'Last >= buf'First + 8", done.
Which leads me to next point: When I said that we must properly understand what we are examining/verifying I left away one decisive point: context - and that's what I'm actually testing above.
Code verification means two things, namely a) implementation (e.g. the procedure itself) and b) context (which includes the interface).
Remember the uni days when they drilled us to provide context, when they drilled us to e.g. specify domain and co-domain for a function? Same thing. hex_print, being code, i.e. meant to be run on real world hardware, is not supposed to work no matter what; it is supposed to provide a well specified service with a well specified context; that may be something simple a 'buf' existing and being at least of size 8 (or 9 in C) or it may be much more complex factors such a temporal or other conditions (like e.g. 'buf' being read or written to from/by another thread).
I agree that Rust has found an interesting and promising approach. However, Rust is only interesting under the premise that one wants to stay withing the C universe - which, frankly, doesn't sound like a smart proposition considering all the problems we have.
But there is good news, too. Gladly only (so my experienced guess) a quite small part of the rich C related problems universe is to do with complex problems. The vast majority are 1 off errors, loop errors, many kinds of buffer errors, etc.
I respect the good intention of the Rust people but as far as I'm concerned it's a lousy compromise. New code should use better languages in the first place and for the huge body of existing C/C++ code we'll need post factum analysers.
I had good reasons to stress in my "report" that Ada a) does not run significantly slower (and usually just as fast as C code) and b) doesn't make us less productive; in fact, if there is a difference at all than it's one to the good side.
That said, I personally chose Ada for many reasons but my intention is not to preach Ada. Eiffel, for example, might be an alternative for many, too. And even C can be acceptable, provided that microsoft doesn't somehow limit vcc to windows and dark-world licensing.
My advice for those who are interested in formal methods and proper software design would be to have a look at tla+ and at B. *Those* are meant to be used to verify ones design (as opposed to code).
It is quite obvious that Amazon's CloudHSM service provides ability to extract keys from HSMs with HSM administrator authority to hand over to anyone and even for themselves. EnigmaBridge took quite a while to realize that Amazon (in bed with U.S. ICs), will not think twice to reveal the user enrolled "HSM protected" key.
It is known that Amazon's CloudHSM uses Safenet Luna HSMs and the security level is set to FIPS 140-2 Level 2. What it means is the keys stored in the HSM CAN BE RETRIEVED. A Level 3 and above prevents retrieval and even then, Amazon is free to lie about the security level and can spoof as FIPS 140-2 Level 3 or 4 (prevent retrieval of keys) and even then Amazon could also lie about whether HSMs are actually deployed as there is very little that they can't do to spoof the HSMs' existence.
Also, the idea of a public cloud-based HSM service is a very bad idea as it means that you are surrendering critical cryptographic material to someone whom you don't really know well and even then it is bad idea to handover any security critical materials to anyone trusted or not.
Also, Enigma Bridge claims their setup for their CloudHSM is FIPS 140-2 Level 4 and it's secure. Yet another obvious snake oil again.
The best security measures are for the customer to purchase or build their own HSMs and deploy it themselves in their own environment and not anywhere else in the context of HSM deployment.
Enigma Bridge and other Cloud HSM solutions will be added to incoming Hoilydays list.
Link: https://dan.enigmabridge.com/does-amazon-want-to-control-all-encryption-keys/]]>
Nice experience report. :) I got another person, doubec, trying to learn SPARK. That user posted this report of their semi-automated style of proof on red-black trees. Meanwhile, I went to find out what Ada had on temporal safety vs Rust as I previously heard you eventually resort to unchecked deallocation if there's a lot of memory moving around. Plus, the Ravenscar restrictions are quite long compared to Rust's borrow checker which is 3 rules and 2 "traits" for concurrency. They really need to steal the safety system of Rust. Pushing them on Reddit and comp.lang.ada got interesting results:
Rust's temporal safety for Ada/SPARK
The bad news is the responses largely sucked. The difference between how they handle a question like this and how the Rust people handle it explains a lot about why only one has momentum. One thing I say everyone should steal from Rust that's non-technical is how they do community building to create momentum. In the Ada threads I encountered, quite a few didn't seem to get the basic question or focused excessively on concurrency part. So, there aren't many people following the main forum daily that can handle advanced questions about the language. Contrast to Mozilla having a whole team of people scouring Google Groups, Hacker News, Reddit, and so on answering questions. Then, I'm getting procedural stuff that doesn't quite explain itself to a lay audience. The Rust team puts tons of effort into writeups on about any aspect you can think of. Independent parties do as well given the momentum they create naturally leads to that. If you're curious, I eventually provoked a Rust team member enough that he dropped an ad-hoc guide to doing it. :)
Now, the bad parts aside, the good news that might appeal to you most is a knowledgeable person from AdaCore did show up. Yannick seems to show up on a lot of these threads. He told me the following:
"In fact, we currently have at AdaCore an intern working with us on the inclusion of Rust-like pointers in SPARK. He has reached a first milestone which was the description of suitable rules to include safe pointers in SPARK, which have convinced the SPARK Language Design Group at AdaCore and Altran UK (the small group working on the evolutions of the SPARK language).
He's now working with us and researchers from Inria team Toccata to give a mathematical semantics to the notions that we're using for these safe pointers: move (on assignment mostly), borrow (on parameter passing for mutable objects) and observe (on parameter passing for immutable objects). We have also started looking at the concrete implementation of these rules in GNATprove (the SPARK analysis tool).
In this work, we don't target everything that the Rust borrow checker does:
- we leave accessibility checking (the lifetime checking in Rust) to the compiler, using existing Ada rules, plus some restrictions in SPARK to avoid the need for dynamic accessibility checks
- we leave nullity checking to proof (a Verification Condition will be generated for dereference of possibly null pointers), with the help here of Ada non-null types that reduce the need for such proofs. Given that pointers are always initialized to null in Ada, there is no need to separately deal with initialization.
- we ignore the problem of memory leaks (which could be tackled later as an extension of the current scheme)
So the main issue that we really address with this work is the issue of non-aliasing. Or rather the issue of problematic interferences, when two names, one of which can be updated, are referring to the same memory location. We're focusing on this issue, because it is the one preventing inclusion of pointers in SPARK, as for formal analysis we rely on the ability to perform modular analysis, where we make assumptions on the absence of problematic interferences.
But since our solution to non-aliasing is based on this Rust-like notion of ownership of pointers, the same solution will also forbid use-after-free or double-free.
This work is ongoing, we will certainly let the community know about our progress after the summer."
Also confirmed that they'll try to extend it further in the language if this experiment succeeds. You can already see they're not investing enough, though, given they have one intern while Mozilla dropped an entire team on the problem. At least it will improve.]]>
@Clive - Thanks for the nice exposition of engineering history. There is a useful treatment of that and more in Petroski's book, To Engineer is Human.
Imperial Collapse Watch
The U.S. Intelligence Ship Is Too Leaky To Sail Bloomberg (resilc)
Big Brother is Watching You Watch
Florida GOP consultant admits he worked with Guccifer 2.0, analyzing hacked data ars technica (martha r)
About Face: DMV Lets Cops Search Database of Driver's License Photos Seven Days (Chuck L)
Cartoon: The Internet of Ransomware Things Geekculture. EM: "The broom was my personal favorite."]]>
Haha! Your description of the Victorian boiler makers, and wheelwrights pretty well match major parts of the software industry, too, it seems. "bodge it and cludge which boiled down to work it till it breaks then bolt on a cludge and work it again" puts it quite well, doesn't it.
"as you probably know crypto algorithms have issues when used as PRNGs." - oh yes, and how well I know that. On the other hand, what are we to do (other than using trngs which for some reason are rarely available on mainboards ...)? Them mersenne twisters, xor shifters and linear shifters have good random properties and speed (in good cases) but are utterly simply predictable. The cs-prngs are very hard to predict (well, that's their whole raison d'ètre) but bloody slow and/or plagues by poor random properties.
Funny that you mention state space, which is both an ugly maladie and rarely noticed. Surprising, it seems to me, looking at cache sizes and multithreading systems. In other words: Unless your state doesn't fit in one cache line chances are that you have an attack surface on your algorithms a**. Unless you desire a bad day I suggest to not look at widely used crypto ... (states spaces of kilobytes are quite common (as is memcmp and other bad sins)).
"ARC4" - Oh there are many who made that choice and it seemed not that bad then; nothing to be ashamed of. OpenBSD used it, too. Today we know better. Btw, the prng I've implemented has a state space that fits easily in a cache line and with some effort it fits even in the register set (which, of course, is very strongly desirable).
"prefering hard science graduates over CompSci graduatee" - Hmmm, my personal approach is to go with seasoned CS people but to have some mathematicians on the team, too. In bad cases I end up being the "joint" myself but I've had cases where a CS colleague (with strong math inclination) and a math colleague with solid CS experience/inclination did very well.
The reason for my approach is that we usually absolutely need a good link between the two and also the typically used tools must be "digestible" and produce digestible output, because in the end it ends up in the code. Which btw is another reason why I really love sparked Ada; it brings together the math and the code very comfortably (well, it's on a good way at least). But I get your point.
I'm gaining more and more confidence that we might escape into a safer future. But I also see that there is mountains of work before us. Nevertheless, medium gray is still much better than pitch black.
Oh there's a little colour in their to if you look carefully you get the occasional jem.
One big problem that is not much talked about is "haste" in software development. Creation in art, science or engineering is actually a thoughtful endeavor and as has been discussed here briefly in the past elegance is a metric of fitness, that we have yet to quantify in a non abstract way. Throwing things together in overly short time scales gives rise to inelegance. I frequently mention the Victorian boiler makers, and wheelwrights. The wheelwrghts artisanl method of small incremental improvment gave rise to a pattern that if followed would provide a serviceable wheel for carts and carriages. The boiler maker however had no history to give them patterns, they only had "bodge it and cludge" which boiled down to work it till it breaks then bolt on a cludge and work it again, looping around untill it stops breaking. The results were as you would expect not just inelegant but down right ugly. There was also a side effect of deaths by boiler explosions. This got to the point wher the British Parliament had to act. The result was the gentlemen of science and the artisan blacksmiths had to meet and the result was engineering (look up the history of "The ring of iron").
If we now look at programing we can see scientists and we can see smiths and wrights, and a degree of artisanal behaviour. But as of yet no real engineering, so software development is mainly in the "bodge it and cludge" endless iterative loop. To make things worse, few can see the shape of software, even those who crank it out, thus the deformed morass of cludges essentialy remains hidden in the dark and festering like a rotting corpse. Few actually shine a light on it and clean up the stygian mess, instead they slap on yet more cludges as though necrotic code could be hidden by a wart and thus ignored.
Few dare mention the driver behind this state of affairs which is the cries of "faster faster from the bridge, as the bottom gets torn from the ship, and the crew frantically bail". There are many to blaim but the likes of Microsoft stand prominent in many peoples minds for the pushing of vapourware that needs endless patching. That in turn infected an entire industry and the techical debt becomes a tsunami of world girdling proportions. Thus we need to slow down and get the artisans to meet the scientists and become engineers. The problem is how to get out of the ship, and stop frantically bailing to keep your nose above water, because from the bridge of every other ship you hear "faster faster", as the world becomes a "Red Queen's race to the bottom". Even Bill Gates discovered that things had gone to far even for a Hercules and the stygian mess will remain in the Augean Stables that is the software industry.
With regards PRNG's it's not just the speed issue it's also the minimal memory requirment as well. It has often struck me as odd, that we know that "entropy" is based on redundancy yet we demand a state behind all PRNGs with minimal redundancy. Back in the 1990's I had reason to be designing PRNG's and as you probably know crypto algorithms have issues when used as PRNGs. Thus you end up with either ridiculously large block ciphers or chains of algorithms where one acts as a CS-CNT to feed the data in of a block cipher and another CS-CNT drives the key in and runs at speed that is a very small fraction of the data CS-CNT.
As I've mentioned here before I ended up using a modified version of ARC4 where the Sarray was 1024 elements long but the output was still only a byte in size. Further I modified the update algorithm such that the Iptr got jumped every so often by the adition of ten bits from a BBS generator. I did also modify the output algorithm such that it ran in the key fill mode, with the input from a Mitchell-Moore generator. The performance like the speed was good but... There were moans about the usage of memory which was 1026bytes for ARC similar for BBS and a hundred or so for the Mitchell-Moore generator, all to produce an apparently endless stream of bytes...
There are a number of ways you can look at your use of Ada, but in effect the process was taking time to think or of using a formal method both of which are a step towards the engineering approach, but the road is long, and the journey but a few steps started.
It's also why I'm known for prefering hard science graduates over CompSci graduates. Because not only do they have a solid science/engineering background, they have actually had to use software in anger for real engineering tasks. Thus they are more in Bacon's mold not that of Descartes which CompSci grads appear to favour.]]>
Today, after lots and lots of research and of work I dare to say that it's not all dark.
The 3 main reasons for my, albeit still modest, hope are the following:
- thanks to Snowden, Assange, Wikileaks and many others we have a changed situation. Sure, there are also factors working against us, the worst one being the smartphone swamp, and Joe and Jane are either blissfully or ignorant or helpless anyway. But generally the situation changed to the better, particularly because have begun to grow up (as I call it). There are more and more people who don't handle IT as the new wild west but who are beginning to understand how important safety and security are.
- More and more available and better hardware, particularly processors. While I like Risc-V it's not even about that specific processor but about having alternatives to x86 and arm and about better chip design and verification.
Unfortunately, the very chips we are supposed to trust most, namely "trusted stuff" like sim and hsm processors are badly tainted, even poisoned, by java but not all hope is lost; maybe sometimes soon companies like nxp or infineon wake up and offer alternative methods of (direct) access rather than having to go through a java crap layer.
- Lots of progress one the software side. Granted, most of it is not yet in a generally and widely usable state but we are on a good way.
Being at that let me report about some of my own experiences.
The task I chose (well the most current one besides my everyday professional work) was a high quality prng (I already hinted at that). The reason is simple: If I had to pick the one "lego" brick that makes or breaks encryption schemes I'd invariably end up looking at prngs. And I understand perfectly well why nsa chose to taint rc4 ...
One of the classical problems is that you can either have a fast prng or a good one, i.e. one that is very hard to predict. There is plenty more or less crappy but quite fast ones (e.g. the xorshift family) and there are quite some cs-prngs of high quality but those tend to be snail-slow (and btw. often do *not* have good random properties). Gladly though that's less bad than it seems because one could - and does - use csprngs to seed (and sometimes also to occasionally reseed) crappy but fast prngs. If there wasn't the problem that pretty all of the fast ones are so utterly crappy (predictable, biased, bad distribution, etc) that they are *very easily* predictable ("crackable").
The algorithm itself showed itself to be impeccable and even elegant (no, it's not mine) but the reference implementation (in C/C++, "of course") has diverse problems; some of them quite grave, most probably not so significant.
This is reporting about my work to implement it in sparked Ada. I myself spotted just 1 (grave) error in the ref. implementation, the rest was spotted by Ada, which I intentionally provoked by "stupidly" translating the C[++] ref. code as verbatim as possible. The kind of errors and problems I found was what I would consider typical for C[++]. Plus the whole thing was brutally lacking in elegance (don't underestimate that! Elegance is a quite reliable indicator of design quality).
So I started all new, based only on the algorithm and completely ignoring the ref. implementation. Result (after just a few days work, most of it thinking): Much more elegant (quite well matching the elegance of the algorithm) and almost no "red" (Gnats error marking).
But it gets better. The Ada compiler also grumbled at me when I had a variable that could be a constant and things like that. Excellent!
When I was all but done and running my test cases (in particular also testing for reference comformity) it soon blew up with a constraint error. It was code generated by Spark to runtime check a precondition. I mention this and find it interesting because it points at a very interesting spot, namely that the designer in me had formulated a precondition that was perfectly right but the programmer in me still had some bad old habits...
Side remark: Currently Spark brings quite many buts and ifs along and the kind of (very low level) code I was working on did not allow for static verification of some parts, so I had to have runtime checks created at least for the development version.
Another result that might be particularly interesting to many: My Ada code runs about as fast a C[++] code but I have to be fair and mention that that not the full truth. To achieve that result I needed quite some experience with Ada (e.g. trying to avoid implicit 2nd stack allocations) and with diverse tricks of the trade (e.g. when and what to inline). But then, the good result could be achieved and was achieved. That's an important message. Using Ada does *not* make your code slow.
All in all I feel confident enough to not just laugh at them if, say a nation state, asked me whether a trustworthy basic OS incl. the major libraries typically neeeded could be created with reasonably low resources and in a reasonable amount of time.
I'm gaining more and more confidence that we might escape into a safer future. But I also see that there is mountains of work before us. Nevertheless, medium gray is still much better than pitch black.]]>
There's almost always a central, trusted component if it's not secure, multi-party computation. The consensus stuff gets complicated. I was doing something similar to what you're describing in my proposal for distributed, secure repositories. They would've essentially been link transaction logs that were synced up after checking signatures and/or access controls. It's doable. There's high overhead, though, to the point that I don't know off head its feasibility for verifier. The prior work in that area used high-reliability circuits that were simple. Recent work and my own proposal put the verifier on older, process node or just easier-to-verify methodology so it can be trusted.
Btw, you have some competition coming. Keep moving fast.]]>
"The Secret History of American Surveillance" [Reveal]. Surprisingly advanced techniques in our first imperial war, suppressing the Philippine's war for independence.
News of the Wired
"How one man wreaked ingenious revenge on rude customers in a coffee shop" [Telegraph]. What's the world coming to…
"There was method to the madness of Heath Robinson's extraordinary illustrations" [The Spectator]. Looks like Rube Goldberg. Test of independent invention? Maybe not:
The expression 'Heath Robinson' has entered the dictionary to mean 'an over-ingenious, ridiculously complicated or elaborate mechanical contrivance'. But early domestic gadgets were often ridiculously complicated. Hubert Cecil Booth's original vacuum cleaner of 1901 was a steam-powered machine the size of a large cart, and pulled by horses. When you summoned it, the monster was brought to the road outside your house, and pipes led in through the windows. This was an important social event — ladies would invite their friends to come and take tea and observe the wonderful machine in action.
And this was before the Internet of Things!
"The GOP's leading campaign and fundraising arm, the Republican National Committee, has thrown its support behind an initiative that could allow marketing firms and robocallers to spam your voicemail inbox — without your phone ever ringing" [TechDirt]. "Whether you want to have a voicemail inbox magically filled with political missives, ads for mattresses and assorted other sales pitches apparently doesn't even enter into the equation. If you'd like to share your thoughts with the FCC on this subject, you can find and comment on the particular proceeding in question, here."]]>
Those who have a copy of the London Evening Standard[1], might want to turn to page 17 or follow this link,
To read an article by Rohan Silva, who is basically using the Manchester bombing to regurgitate the "Snoopers Charter" line about encryption back doors. And in the process shows he either "knows nothing" about the subject or worse is being deliberatly disingenuous for ulterior reasons.
If he is being disingenuous I don't know why, because his Editor George Osbourn MP[1] is known to ferverantly dislike Mrs May PM who came up with the "snoopers charter". Furthe George is also known to have an intense dislike of Amber Rudd MP who has taken over Mrs May's old job quite ineptly as the recent WannaCry episode shows.
In fact as most journalists know Amber Rudd's only real claims to fame are her lack of business acumen[2] her bullying, fractious nature and her brown nosing ability to others who find her a "usefull idiot".
So on the face of it you would expect that George Osbourn would have used Editorial perogative to stop the story... Which leaves the question of "Why not?".
[1] The editor of the Evening Standard is ex-chancellor George "White Lines" / "gidiot" Osbourn (Cons), who was sacked by Mrs May (Cons) when she became PM. Why on earth anybodyvwould think he would be a competent let alone good editor is beyond most in the industry but then the Russian owner of the paper may be currying favour or if you like is "trying to influance the UK general election".
[2] Amber Rudd is known to be quite the failure in business life and her father is a multi-time bankrupt who is nolonger alowed to be a company director in name or influance. However as Private Eye has shown he appears to have had that sort of influance over Amber and her mother with the result that the family has lost considerable financial worth. So Amber appears not to understand the "Fool me once..." principle.]]>
This probably doesn't answer your questions, but . . .
Advanced Mobile Location (AML) & Emergency Location Service in Android (ELS)
pg. 2:
"When an emergency call is made with a smartphone where AML is enabled, the phone automatically activates its location service during 20 seconds to establish its position and sends this information via a text message to the 112 and 999 service in the UK"
Advanced Mobile Location (AML) Specifications & Requirements
See pgs. 5 and 15.
European Telecommunications Standards Institute
"An SMS message is initially routed to the home network's SMSC [Short Message Service Center]. SMSCs should be programmed to send an emergency location SMS (identified by an SMS number such as 112, or a dedicated full length MSISDN [Mobile Station International Subscriber Directory Number] operated by, or on behalf of, the PSAP tha"t is running an AML [Advanced Mobile Location] location processing application (the AML Server)."
Section 2 and Appendix C imply that this might not work well if you're roaming outside the country in which you pay for mobile service.
No idea how easy or hard it would be to spoof such a message. Not obvious why one would want to, but mischief abounds.]]>
The Circuit Cellar had an interesting design
going. It's too bad Gary Kildall wasn't around
long enough to supply M/PM to Ciarcia for his
extended memory Z80 architecture (HD180 ?) comp.
My memory is pretty fuzzy on it now but that
combination would have killed Gates crap if it
had been allowed to determine the direction
of computing.
I've often thought that computing may come to
the same end as the Irish potato farmers by
insisting on monocropping. In the case of the
comp putting everything on the same architecture
for general usage. A worm that bricked all of
the Intel + clones through the TPM would take
down far too much of the modern world for any
level of comfort.
Figuring out who owns what in international
business is opening an ugly wormcan, by the
time you locate the head of the worm the tail
has disappeared in a flurry of legalistic
confetti thrown up by their lawyers. Mark
Blyth had a nice bit on Chinese Banks and
referred to investing in China as faith based
investments. Something to do with the lack
of transparency.
If Rayguns star wars hadn't derailed the
political push, the L5 Society would have
talked USA into building the habitation
module for a starship at that LaGrange
point. It would have been a better use for
the money. However bombing and military
expansions are a lot more stylish these
I don't recall any connection between Jerry Pournelle and Steve Ciarcia's Circuit Cellar...
Hmm I think you are right, it was "Chaos Manor" he called it, but hey that was back in/before Ronnie the Ray Gun which is a third of a century ago, which is more than half a life time (so far ;-)]]>
This should be good for a laugh or three,
Also for the use of a trusted "controller" chip as verifier in the Prison architecture, I have thought of a possible way to not require a trusted "controller" chip sitting between all the secure crypto-coprocessors that do the secure execution. The third party chip can be as untrusted as ever in my current opinion (as I am still deciding on the properties of my current suggestions).
My new idea would be to simply do a group key negotiation of sort or some sort of announcing of their calculation results attested by their group negotiated digital signatures in a sort of broadcast style via using the controller to route the signed messages to each other. Once a small group of co-processors have finished doing their calculations and broadcasted their signed results with negotiated group session signature key, they would look at all the results and then amongst themselves produce a result by broadcast style anonymous voting within the group of co-processors.
The problem this produces is how to consolidate the results with as little overhead and present it in an attested fashion while correctly representing the consensus of voting of the results by the group of co-processors within the possibly malicious controller chip having a hand in anything.
Also for those who want to falsely dare patent or possess the works of @Clive Robinson, Thoth, Nick P et. al. who have contributed to the C-v-P architecture for the use of no good that which maketh us fools or to harmth others, do heed thee cursed by the sameth fate that befell those who broke into King Tutankhamun's tomb :D !!!]]>
I sometimes wonder if you and Nick P have the ability to read minds. I was very close to bringing up that issue but decided to hold back precisely because they missed the finer points of the architectures we have been discussing. One side of me thought that it was probably coincident that they might just had that idea but the other side of me had some suspicion on them copying the designs we discussed here.
Well, he should receive the letter and the whole ton of C-v-P theories (by asking him to do his own Schneier blog search on his own).
Also note that he had to use some sort of specific hardware while all I had to do for my version of implementation was to use the host computer (i.e. Windows OS), a USB hub and a bunch of smart card chip embedded into USB form factor where the insecure router does the routing of messages between the multiple USB form factor smart card sticks which the smart card sticks will secure themselves and prevent the insecure router/middle-man from tampering with the traffic thus my setup is much more cheaper and cost effective with no requirements of anything fanciful.]]>
Plagiarism abounds yet again
Have a read of,
And compare to C-v-P...
The sad thing is they've missed some of the finer points...
The author is a Prof and was a post-doc researcher at Cambridge Uni Comp Labs and has worked with Ross J Anderson,
Thus he realy should no better than nicking ideas that are "Known in the field of endevor", especially when he can be shown to have read this blog...
Should I drop him a written letter?
Leaking of Manchester evidence to the media:
An attempt to undermine POTUS, or public deception in order to smoke out the rats?
Transparency and accountability, of course. Has there ever, in the entire history of mankind, been any other reason to leak?]]>
An attempt to undermine POTUS, or public deception in order to smoke out the rats?
Neither, it's endemic behaviour of the "Twat's On The Hill".
If you go back and look at the 7/7 attack in London, you will find the same leaking of sensitive information by US Hill Twat's who should have kept their lips buttoned...]]>
An attempt to undermine POTUS, or public deception in order to smoke out the rats?]]>
How a dubious Russian document influenced the FBI's handling of the Clinton probe WaPo. (This is the Kos rewrite: "Comey was duped by the Russians into bypassing the Justice Department and attacking Clinton." Wait, now Comey isn't a Hero of the Republic?) Anyhow, "officials say" is WaPo's sourcing. That is the sourcing. "Current and former officials." That is where we are with the sourcing.
Trump's Go-To Lawyer Kasowitz: A Pit Bull Loyal to the Boss Bloomberg. But will Kasowitz be able to get his boss to button his lip?
GETTING JULIAN ASSANGE: THE UNTOLD STORY John Pilger. A compilation.
There is no Github repo link to be found for review.
Also, noting the reward offered, nobody knows who you are and how much to trust this reward. There is no official statement whatsoever as well and the fact that $1000 is offered with an unknown identity, a ciphered message and no effective link the Github repo sounds rather suspicious and it seems like some sort of marketing for some products along that line.
I am not sure about the legality of such messages on this forum and it is up to the discretion of the @Moderator and @Bruce Schneier for their decisions.
Also, the amount of trailing "---This message has been ... " is a very bad idea as a user doesn't want to handle that stuff and "---End of Encrypted Message" is also a bad design choice as it is a calling card for those observing the traffic or data to see such metadata and there is always a saying that "Metadata Kills" and the more metadata you introduce, the more you leak details about the sender and receiver.
This sort of encrypted messenger will not make the cut with such a huge header and also a dead giveway that someone is attempting to encrypt to another recipient and such metadata would allow attackers to create traces and pinpoint targets.]]>
mere mortal
--Glad you're able to make it work for yourself. Stepping stones to more secure setups is how the world works, you don't just flip a switch and do no work to get somewhere in computer security. Getting off exclusively windows was really nice, but I still use it a ton for programming (lots of toolchain support, b/c that's what gives you biggest bang for your buck if you're a company and you choose an OS to support). I've tried a lot of distros, lots of CD/DVD's, and have used OpenBSD (barely tried FreeBSD) for variety of purposes. It's very easy to install and the minimalism is quite nice. Few things make me pretty mad like pre-installed crapware firstly taking up my memory, then taking up CPU time with network traffic and wasting battery/power. They know no one in their right mind would install their crapware, so they pay to pre-install it. And windows 10 putting candy grams or whatever that worthless game was on my work computer pissed me off, I'm not playing games when I'm building production firmware builds...I have lots of computers for specific purposes. For day-to-day use, being able to install most anything easily, keyword *easily* and knowing I can resolve an issue that pops up pretty quickly is what I want most times. So I went back to latest Ubuntu for my biggest PC I have. Can do a lot of programming and other work on it.
Security Musings: Potential Security Risks of Low Power
--Was reading this paper today http://www.atmel.com/images/doc7903.pdf trying to wrap my head around how some other chip works (being able to reset a watchdog timer w/ code executing on separate processor inside, not the main CPU; must pass a pointer to the processor to pick up that loop. Most chips you put to deep sleep, there's no code execution or separate processors, and you can't reset a watchdog timer so you can't have it on in sleep.)
Two threats popped up in my head, keep in mind, these are way out there and I bring them up as a fun thought exercise, they may be totally overblown or not.
1) In clock-gating (being able to selectively shutoff oscillators), if you have critical functionality dependent on certain clocks, there may be a risk of it getting shutdown by an attack to enable other attacks or to incapacitate defenses on chip. Or if a remote shutdown backdoor were to be added (possible in today's environment), adding more gates that control whether a clock is on or off would make a prime spot for a backdoor.
2) "Flashing sampling", which is a technique to reduce power by powering on flash memory for quick bursts, then turn off. I could see malware or a rootkit using this technique to covertly scan flash memory to either eavesdrop by copying and moving to an exfil point or check it's malicious code is still there, maybe doing so quickly (10 nanoseconds) it hides from detection or get written off to some other unknown effect. Can't immediately find much more on this technique.]]>
HSBC was founded by a Scotsman. If you look at their logo you'll notice that it's a St Andrew's Cross.
The Scots have a fairly 'colorful' history in HK. Earlier characters included Jardine and Matheson, who started working for the East India Company, before heading out on their own. Jardine Matheson, as was the case with the EIC and HSBC, made vast amounts of money trading in opium. They were not popular with the Chinese authorities. Google image search for a photo of the Jardine House building in HK, then search for the Chinese nickname for the building. Most Brits don't remember, their memories are clouded with romantic empire bullshit, but the Chinese do.
The corruption you describe has a very long history. A good part of the argument in The Wealth of Nations is an attack on the practices of the EIC, the world's first big global corporation. The EIC (famous in Boston for their tea) often acted outside effective government control, had its own vast army in India, which it 'governed', not the British, for a long period, and which wasn't beyond starving millions to death if it earned some coin. It's the model for modern corporations and everything rotten in market economies.]]>
The UK owed an awful lot of money to Canada too
And most of what is now the Commonwealth as well. In turn it can be argued that much of Europe and Russia likewise owed the UK over WWII.
When it comes to war debt the one thing history teaches us is that if reperations etc are put in place the usuall out come is another war.
The way to avoid wars is by trade, that way both sides have way more to loose than they have to gain. Something that will haunt the US badly if it comes to war with China over the South China Seas.
It might be one of the reasons there is so much saber ratteling over North Korea. It could well result in a proxie war as was started by Stalin in the 1950s and then dumped on China. The US does not have a good success rate with proxie wars in asia historically. With China and it's major rearmament[1] and artificial island building the western aligned nations there are starting to feel very very nervous indeed. Thus it would take very little for the South China Seas to turn red, not just politically but with the blood of a million or so people.
[1] Including an F35 rip off that apparently does not burn and crash every five minutes ;-)]]>
As they are intended to carry Lockheed Martin's F-35 Flying Dumpster Fire, they [may] as well be sunk to block the Danes or Dutch from sailing up the Thames. : >
They would probably be of more use defence wise as an artificial reef than as functioning aircraft carriers ;-)
I don't know if you know but there is a sunken WWII munitions ship with about five kilo tonnes equivalent of explosives on board still in the Thames estuary not that far from London. There are various opinions as to what might happen if it does go pop, one of which is "by by Canary Warf, the O2 center and much of Royal Greenwich / Detford new multi million pound waterfront high rise housing developments" purchased by the Chinese friends of our old Chancellor of the Exchequer Geroge "White lines Gidiot" Osbourne, who is now the Editor of the Evening Standard, and busy trotting out the Tory Line as hard as he can even though he is known to hate Mrs May with more venom than the Grand Canyon filled with rattlers.
The reason I say the aircraft carriers would be of more use as an artificial reef is that they are without doubt a compleate waste of space. There is a myth about their "projected power" ability, the reality is they are just sitting ducks as I've mentioned before. Compare the PNR range of the F35 to that of a cruise missile or drones actual range to see why.]]>
Re your comment on CS / Eng, can you give a bit more detail such as which of my comments you are going by because they do not appear to be on this thread.]]>
How does it know where to send that text message? Hardcoded short code to work everywhere? Broadcast by the network at some lower protocol layer? A-GPS *must* be used, and it's part of the GPS helper/ephemeris/etc. info? Or...?
Some of these schemes would allow for spoof messages to be sent.]]>
His latest is this popcorn stuffing epic on Comey.
I was reading Jerry's stuff both his fiction and circuit celler stuff in Byte, back in the 80's. You might remember he had a thing with Ronnie "Ray Gun" Reagan, and wrote the Space Defence Initiative (SDI) part of Reagan's state of the union address. which he later followed up with claims that their "Starwars" SDI weapons were what brought about the colapse of the Iron Curtain and end of the Cold War. Which all things being equal does not realy hold water as a claim.
As for the stuff he's reported to things immediately come to my eye as being wrong.
Firstly that anti-Trump report from the Ex MI6 bod was payed for twice, the first time by the Republicans to try and get Trump out of the running. When that failed the Democrats payed for further work on it. However as we now know the guy writing it created his own echo chamber and was thus told what he wanted to hear, not what was true. He then developed what might politely be called "missionary zeal" and just went off the reservation into a la-la land fantasy where any old tat was treated as gospel and in no way checked the more ludicrous the invention the more it was believed, hence the prominence of the "Golden Rain" tale.
As for HSBC it's not a "British Bank" the obvious clue is "Hong-Kong and Shanghai Banking Corp" (HSBC). The fact that they have offices in the UK is one of "convenience" much like "Liberia Registered ships" are sailing under a "flag of convenience". Put simply with the ending of the 100year lease on Hong-Kong island to the British HSBC had to find a new home before the Chinese got their claws into them. British law was convenient as was London's location in terms of time zones. You might remember that much of the financial shenanigans that came to light over HSBC was due to what was happening via their Swiss arm that was actually a "Private Bank" in Switzerland and revealed in the "Panama Papers". The actual British Bank involved is "the Queens Bankers" Coutts. You may remember Coutts got aquired by RBS and much suspect behaviour occured during this period as they opened up the client base. Both HSBC and Coutts are reputed to have used Limited Liability Partnerships held abroad to shift vast amounts of money into the likes of the UK propeety market on behalf of some decidedly doggy political leaders basically stealing money. Apparent LLPs were popular for this sort of thing because if effectively held abroad their requirments for fillings at the UKs Companies House was as close to nil as you can get...


text:
Name: Screen Recorder
Version: 5.99
Status: Tested by MSSOFTPC.COM
For more Info: Official Site
Size: 51.64 MB
Icecream Screen Recorder
is an easy-to-use free screen recording software that enables you to record any area of your screen or save it as a screenshot. Record apps and games, video tutorials, webinars, live streams, Skype calls and much more in a hassle-free way. You can record screen along with audio and webcam.Features
1. Select area
Record your full screen or select the area you'd like to record or take a screenshot of.
2. Record audio
Record your microphone and system audio.
3. Set video quality
Choose the screen recorder's output video quality.
4. Record webcam
Record screen with a webcam overlay.
5. Annotate
Add text, arrows and shapes to your screen recording or screenshot.
6. Record games
Record full-screen 3D games with our PC screen recorder.
7. Share
Easily upload your recordings to YouTube, Dropbox and Google Drive.
8. Add your logo
Add your own watermark to the screen recording.
9. Zoom in
Use "Zoom In" to make your videos more professional.
10. Trim recordings
Cut unnecessary parts in the beginning/end of the video after recording if needed.
11. Recording settings
Hide cursor or desktop icons, and disable the screensaver during screen capture if necessary.
12. Audio settings
Change the volume of your microphone and system sounds.
13. Convert
With screen recorder you can always change format of the recorded videos later.
14. Display hotkeys used in video
Show the hotkeys you are using during screen recording.
15. Scheduled screen recording
Set multiple screen capture tasks on a timer.
16. Record GIF
Record screen and save it in GIF format.
17. Copy to clipboard
Copy screen recordings and screenshots to the clipboard to share them via Skype instantly.
18. Use hotkeys to control your free screen recorder.
There are no reviews yet.

subset: commoncrawl


text:
The Roger Smith Hotel, New York, United States of America
- Free WiFi
- Collect nights
The Roger Smith Hotel, New York, United States of Americafrom NZ$255
- Standard Double Room, 2 Double Beds
- Standard Room, 1 Queen Bed
- Suite, 1 Bedroom
- Junior Suite, 1 King Bed
- Standard Room
- Junior Suite, 2 Double Beds
- Deluxe Suite
- Room
More great choices
What's around The Roger Smith Hotel, New York, United States of America
- In Midtown
- 5th Avenue - 4 min walk
- Chrysler Building - 5 min walk
- Grand Central Terminal - 7 min walk
- St. Patrick's Cathedral - 9 min walk
- Rockefeller Center - 10 min walk
- United Nations Headquarters - 10 min walk
- Top of the Rock - 10 min walk
Getting around
- New York, NY (LGA-LaGuardia) - 18 min drive
- New York, NY (JFK-John F. Kennedy Intl.) - 32 min drive
- Newark, NJ (EWR-Liberty Intl.) - 36 min drive
- Teterboro, NJ (TEB) - 30 min drive
- Linden, NJ (LDJ) - 44 min drive
- Caldwell, NJ (CDW-Essex County) - 41 min drive
- New York Grand Central Terminal Station - 6 min walk
- New York W 32nd St. Station - 24 min walk
- Long Island City Station - 3 min drive
- Grand Central - 42 St. Station - 6 min walk
- Lexington Av.-53 St. Station - 8 min walk
- Lexington Av.-63 St. Station - 8 min walk
At a glance
Key facts
Hotel size
- This hotel has 131 rooms
- This hotel is arranged over 16 floors
- Check-in time starts at 3 PM
- Check-out time is noon
Required at check-in
- Credit card deposit required
- Government-issued photo ID required
- Minimum check-in age is 21
Travelling with others
- Children stay free when occupying the parent or guardian's room, using existing bedding
- Pets not allowed
- Free WiFi in public areas
- Free WiFi in rooms
- Valet parking *
- Discounted offsite parking
Payment types at the property
Other information
- Smoke-free property
In the hotel
- In-room childcare (surcharge)
- Breakfast daily (surcharge)
- 2 bars/lounges
- Room service
- Use of nearby fitness center (discount)
- Business center
- Conference space
- Meeting rooms
- Computer station
- 24-hour front desk
- Concierge services
- Tours/ticket assistance
- Dry cleaning/laundry service
- Laundry facilities
- Free newspapers in lobby
- Luggage storage
- Wedding services
- Multilingual staff
- Porter/bellhop
- Number of buildings/towers - 1
- Year Built - 1930
- Elevator
- Safe-deposit box at front desk
- Terrace
- Library
- Television in common areas
- Braille or raised signage
- Accessible bathroom
- In-room accessibility
- Roll-in shower
- Wheelchair-accessible path of travel
- Assistive listening devices available
- Chinese
- English
- Filipino
- French
- Italian
- Spanish
In the room
- In-room climate control (air conditioning)
- Air conditioning
- Coffee/tea maker
- Iron/ironing board
- Hypo-allergenic bedding available
- Premium bedding
- Pillowtop mattress
- Individually decorated
- Individually furnished
- Private bathroom
- Bathtub or shower
- Free toiletries
- Hair dryer
- Flat-screen TV
- First-run movies
- Premium TV channels
- Desk
- Free WiFi
- Free local calls
- Refrigerator
- Daily housekeeping
- In-room safe
- Connecting/adjoining rooms available
Recommended hotels
Special features
Awards and affiliations
Green / Sustainable Property
This property participates in Green Key Eco-Rating Program, a program that measures the property's impact on one or more of the following: environment, community, cultural-heritage, the local economy.
The Roger Smith Hotel, New York, United States of America's small print
Also known as
- Hotel Roger Smith
- The Roger Smith Hotel Hotel
- The Roger Smith Hotel New York
- The Roger Smith Hotel Hotel New York
- Hotel Smith
- Roger Hotel
- Roger Smith Hotel
- Roger Smith Hotel New York
- Roger Smith New York
- Smith Hotel
- Roger Smith New York City
- Roger Smith
The property has connecting/adjoining rooms, which are subject to availability and can be requested by contacting the property using the number on the booking confirmation.Please note that cultural norms and guest policies may differ by country and by property. The policies listed are provided by the property.
The name on the credit card used at check-in to pay for incidentals must be the primary name on the guestroom reservation.
Mandatory fees
You'll be asked to pay the following charges at check-in or check-out:
Resort fee inclusions:
- Nearby fitness center access
- Business center/computer access
- Internet access (may be limited)
- Newspaper
- Phone calls (may be limited)
Inclusions may be listed elsewhere on the page as free or for a surcharge.
Optional extras
Valet parking is available for an extra charge
We have included all charges provided to us by this property. However, charges can vary, for example, based on length of stay or the unit you book.
Didn't find the right property?Continue searching for New York, New York, United States Of America
Recent reviews
Very good 8.4 From 961 reviews
We stayed here for the second time this year, great location close to lots of shopping, great restaurants and sight seeing. 20 minutes from LaGuardia airport. Staff is friendly and knowledgeable and pricing is very fair for new New York. Rooms overall comfortable and clean.
Ok room in very tired hotel. Room was big by NY standards but just needs a big overhaul. Snacks and coffee provided which was a pleasant surprise.
Hotel is a mixed bag. Older property, condition wise, but more spacious rooms than the new hotels offer especially nice if yoi have to be there a few days or need to do work from yoiur room. room had upholstered love seat and chair which were comfortable. Hallways were dark, room has bumps and bruises appearance wise, but everything works fine and the room is comfortable. Staff is nice and location is wonderful, 4 blocks to subway and 6 blocks to grand Central. nice restaurants close by. If all was upgraded to new standards, wouod cost $100 more a night, so, keep that in mind. Room was quiet relative to other hotel guests and activities but noise came from outside at night for dumpster emptying activities and EMT sirens, etc. All in all, enjoyable stay.
Really comfortable but not perfect. Kinda reminds me of grandma's. Warm, welcoming, but a little worn and dated. But the are some really great things. The front desk staff is awesome. The guest lounge is homey, quiet and well stocked with yogart and granola. Biggest issue was street noise. Nothing seriously wrong and will stay here again. Hopefully higher and not facing Lexington.
Good location within walking distance of Grand Central Station. Quirky appeal with sculptures and decor. Condition a bit tired but comfortable. Good beds and slept well.
Is the description of this property not correct? Tell us


text:
jorgenmodin.net - Blog
How to start an AVD in Android Studio on Aspire 5 with an Intel GPU (I think)
I could not get a Google Pixel 3A virtual device to start in Android Studio 3.5.2 on Ubuntu 19.04. The solution seems to be use a the "Swiftshader" GPU emulation. However I could not enable it. Eventually I edited the config file directly on disk, and made sure to enable cold boot. Without cold boot it crashed, due to Swiftshader not supporting checkpoints afaict.
I found the device file as
And I changed to:
However after starting up the editor, it seems to have changed it to:
hw.gpu.enabled=no hw.gpu.mode=off
But at least it starts up the AVD now!
Trying to understand colour grading and exposure: Workflow & edits
In this video, beginning at 9:28, Color Grading Central goes through how to make video color grading and light editing in Davinci Resolve 16: https://www.youtube.com/watch?v=NoyDMKqo80U
Now colour grading video is not something I've ever done, but it so happened I watched this video on the topic and I realised that the info contained might be especially helpful for those of us who just post images and videos occasionally, to a at least get the bascis right.
So here's how I interpret the info in the video: Correcting the color and exposure in a video or image is a lot about using the available dynamic range on screen and in the human eye. In that way the material that you are presenting is using as much as possible of the viewer's perceptual space, so to speak.
1. Start with adjusting the exposure. This means adjusting the darkest shadows to be near black (since then we are then using as much as possible of the perceptual space available).
2. After that, adjust the highlights to near white.
3. After that, the midrange probably sits a bit too high in the image. Adjust the curves so that the midrange spreads out across the perceptual space to give the most detail.
4. Adjust the white balance. Find an area in the image that is supposed to be white, and use that as a reference point to white (in the 1980s I did some video, and back then you would white balance the video camera by pointing it at a white paper and press the "white balance" button)
5. Adjust the saturation of the image, by analysing how much there is and then e.g. increase it, again to fill up the perceptual space.
Bonus point, there is an aestethic called "orange/teal" which gives faces a special colour that pops against the background.
In professonal video, it seems you often record images with an exposure curve that is unnatural, but preserves the most dynamic. That is, you always need to colour grade in post to get back to natural. This unnatural curve is called "log profile" or "flat profile". The logic seems similar to audio technologies such RIAA correction in record players, and Dbx or Dolby noise reduction: You record in a compressed or expanded way, and then in these audio cases recompensate at playback to improve the signal to noise ratio..
One of the world's best video editors, on Ubuntu for free!
Video editing on Linux: Blackmagic's Davinci Resolve, one of the world's best video editors—running on my Ubuntu Linux laptop for the price of nothing. Incredible!
Click to view full-size image… — Size: 921.5 kB
Gramtropy — a way to make pronouncable passwords with defined entropy
Pronouncable passwords are a heck of a lot easier to read-type.
"[Gramtropy] aims to solve the problem of generated passwords that are pronouncable according to arbitrary rules, while simultaneously guaranteeing a given security level (in bits)"
How to tell NetworkManager (i guess?) to use a VPN for a connection on Ubuntu
Set it in nm-connection-editor. If that program does not exist on your system, install it.
If you need to change or create volumes on an LVM system, use lvm
The lvm command line program at least on Ubuntu, is well documented with lots of help inside of the shell that is created when you type sudo lvm
LVM is a way of organizing disks into volumes on i.a. Linux systems
Bruce Schneier on quantum computers, encryption and the future
Great quantum breaking overview by Schneier:
"Maybe the whole idea of number theory—based encryption […] is a temporary detour based on our incomplete model of computing"
"Symmetric cryptography is so much nonlinear muddle, so easy to make more complex"
Navigo.js works as replacement router for Riot.route in Riot4.js
The "Riot route" router of the Riot project, does not work with Riot.js 4 at the time of this writing. It had to be switched out and I settled for Navigo.js.I have not used it extensively , but here are the changes I had to make, including explicitly unmounting components and respecting that riot.compile is now asynchronous and separate. The code below is for the on-the-fly compiling:
Before with Riot3.js and Riot.route
<!-- Load riot live compiler for on-the-fly compiling, it compiles automatically --> <script src="http://firstname.lastname@example.com/riot+compiler.min.js"></script> <!-- Load riot's router --> <script src="https://email@example.com/dist/route.js"></script> route('login', function (name) { riot.mount('div#mainview', 'login') }) route('profile', function (name) { riot.mount('div#mainview', 'profile') }) route('mytasks', function (name) { riot.mount('div#mainview', 'mytasks') }) route.start(true) route('login')
And now with Riot4.js and Navigo
<!-- Load riot live compiler for on-the-fly compiling, it does not compile automatically --> <script src="https://cdn.jsdelivr.net/npm/riot@4/riot+compiler.min.js"></script> <!-- Load the navigo router --> <script src="https://email@example.com/lib/navigo.min.js" integrity="sha256-EfgFBwdiJuG/NJPYFztHuhSHB1BP4y2yS83oTm6iP04=" crossorigin="anonymous"></script> <!-- Configure the router and load initial route --> <script> const router = new Navigo(null, true); riot.compile().then(() => { riot.mount('#mainview', {}, 'login') }).then(() => { router .on({ 'login': function () { riot.unmount('#mainview', true) riot.mount('#mainview', {}, 'login') }, 'profile': function () { riot.unmount('#mainview', true) riot.mount('#mainview', {}, 'profile') }, 'mytasks': function () { riot.unmount('#mainview', true) riot.mount('#mainview', {}, 'mytasks') } }) .resolve() router.notFound(function (params) { riot.mount('#mainview', {}, 'login') }).resolve() })
Finding a good one-piece, clip-on voice recorder (dictation recorder)
Up to €/$/£200 I have found these candidates:
- Sony ICD-TX800 at around 200 €/$/£, a bit on the expensive side
- Olympus VP-10 at around 100 €/$/£, great sound according to Youtube videos, but I've tried the clip and it slides off of garments, so it is out of the race
- Sony icd-tx650 at around 150 €/$/£, seems to have built-in compression that gives a weird pumping effect according to a Youtube video. But this video shows it working great
As an extra precaution, I like to mic myself up with an extra device when I do a presentation or lecture that is recorded to video. It should be:
- A self-sufficient unit
- Discrete and small enough to not draw questions or opinions (but can be clearly visible)
- Out of the way enough to not irritate the person who mics me up with the usual gear
- Equipped with a strong enough clip to stay put in different positions
Another use case is for micing up a person I would interview. In that case it should be:
- Easy enough to place on any garment so that a good recording can be obtained
- Look classy enough so that the subject does not feel uncomfortable with say a taped-together contraption
keywords: dictaphone
A report on firmware/OS hardening in IoT devices
"the more area covered, the better the binary hardening (on average)." Synology seems to have better hardened IoT devices than others, Cyber-ITL takes a look at 22 brands,
Click to view full-size image… — Size: 51.8 kB
OpenWRT looks better than DD-WRT too.


text:
Category: Takeaways | show me more
507 Gale Street
Landline: 020 859...
Website: www.becontreetandoori.net
Website: Visit Website
Report a problem with this listing
The finest Indian cuisine located in 507 Gale St, Dagenham RM9. We warmly welcome you to try an elegant Bangladeshi and Indian dining experience with superb service. Enjoy exquisite traditional Indian food as its finest in this contemporary style restaurant. The concept of Millbank spice arose from a need to challenge the current norm in local dining scene with several years of business experience. We the management have highly talented and experiecned chefs that aim to provide a tantalising array of tastes and aromas from the heart of the Indian Subcontinet. We are open seven days a week from 5 PM to Midnight. 6pm to 11:30am (Friday & Saturday). We also caters for events. If you are planning a special event such a birthday party or an office party then why not place your order with Becontree Tandoori, The true home of Indian food in RM9.
Reviews for this businessLeave a review


text:
- Product Menu
- Jaw crusher
- Impact crusher
- Spring cone crusher
- HPC hydraulic cone crusher
- CS series cone crusher
- HCS90 series cone crusher
- PCL-VSI crusher
- MAC-VSI crusher (Hydraulic)
- Portable jaw crushingr plant
- Portable impact crushingr plant
- Portable cone crushingr plant
- Sand washing machine
- Vibrating feeder
- Vibrating screen
- Belt conveyor
- MTM Medium speed trapezium Mill
- Raymond Mill
- High pressure suspension grinding mill
- MSB coarse powder mill
- SCM series super thin mill
- Straight centrifugal grinding mill
- Ball mill
- MTW series trapezium mill
walnut crushing extraction machine california
walnut crushing extraction machine california- walnut crushing extraction machine california ,23 Jun 2014 . Been meaning to post this for a while. £10 voucher. not a bad result for a pretty inane complaint! Dear Ms White, Thank you for your recent.Small-scale oilseed processing. Value-added . - Cyberlipid Centerpumpkin and walnut oils. involved in oil processing including seed cleaning, extraction, clarification, packaging . Sources for more information and equipment are included in the References and . a cage to crush the seed and force out the .. ADF = acid detergent fiber. Ca = calcium. P = phosphorus. NG = not given.
Patent CN103289809A - Method for preparing walnut seed kernel .
. The method comprises the following steps of: firstly, drying walnut . walnut seed kernel oil is low in dosage of enzyme, low in extraction . quality raw pastry with almond (California almonds) , cashew nuts, dried fruit stick tied for the world'.s four. Due to crush the required power consumption of equipment.Dapatkan kutipan
Soil Testing Equipment - Scientific International
List of Dirty Jobs episodes - Wikipedia, the free encyclopedia
Revisit of dirty jobs involving machines: house mover (.Hot Tar Roofer.), tire recycler . Sugarcane mill, firefighter (Fremont, CA), alligator farmer . Mackinac Island horse manure and garbage removal/composting, H5N1 avian . energy efficient by improving insulation, turkey artificial insemination, viewer mail - car crusher.Dapatkan kutipan
Machine for crushing walnuts
Walnut Crushing Machine, You Can Buy Various High Quality Walnut Crushing Machine Products from Global . walnut crushing extraction machine california.Dapatkan kutipan
History of Soybean Crushing: Soy Oil and Soybean Meal - Part 6
Copyright 2007 Soyinfo Center, Lafayette, California . Thus the new focus was not on complete removal of lecithin but on complete . In a screw press, crushed?? and presteamed (tempered) soybeans are fed into the machine so that a . A choke nut at the discharge end of the press allows the operator to control the.Dapatkan kutipan
Nut Seed Oil Press Hand Crank and Automatic.
Cold-Pressed Oil Expeller makes healthy and nutritious nut and seed oil. No Sales Tax Except for Residents of California Call us for extra shipping . The Oil Press gives a high extraction rate and continuous expressing. It uses a . You need a little heat to press and crush the oil out of the seeds and nuts. The oil is.Dapatkan kutipan
Juicer Buying Guide - Food Matters
These machines initially extract juice by pulverizing fruit and vegetables . Nut milk made in a cold press juicer typically lasts much longer than when made . Juice is extracted first through the crushing stage and again in the pressing stage before . US . CA model (shipping to Canada will incur additional fees at Customs).Dapatkan kutipan
Amazon: KRUPS ZB500E52 Infinity Slow Juice Extractor with 2 .
Breville BJS600XL Fountain Crush Masticating Slow Juicer . ASIN: B00DWITU4O. California residents: Click here for Proposition 65 warning. Q: Could you use that machine to make almond milk and almond butter? . in frozen blueberries, mango and cherries. and add wheat germ, flaxseeds, nut butters and yogurt.Dapatkan kutipan
Raisin bread Recipes with Butter, Vanilla extract, Orange zest, Walnut
Results 1 - 10 of 17583 . butter, vanilla extract, walnut, +brown sugar, +cranberries, +eggs, +evaporated . Bread Machine Brioche Orange-Raisin Bread .Flaked coconut, grated orange peel, crushed pineapple and chopped nuts . This is the closest thing to Dudley'.s Bakery Raisin,Date and Nut Bread in Santa Isabel, CA.Dapatkan kutipan
History of Black Walnut - Herbal Legacy
The Benefits of the Use of Black Walnut in Herbal Preparations. Europeans were blanching, crushing, and soaking walnuts and almonds to create a rich, . One area that eventually became the city of Walnut, California, was home to the San . Today, the trees are shaken by machine, while another machine uses vacuum.Dapatkan kutipan
Annual Average Industry Wages in US States and . - RAND California
RAND CA Annual Average Industry Wage Statistics include U.S. totals, states and . and logging / Fruit and tree nut / Fur-bearing animal and rabbit / Goat / Grape . Building equipment contractors / Building finishing contractors / Building . ore, and zinc mining / Crude petroleum and natural gas extraction / Crushed and.Dapatkan kutipan
Juicer Types: The Difference Between Cold Press Juicers vs .
walnut crushing extraction machine california | Mining Equipment
Olive oil extraction - Wikipedia, the free encyclopedia Olive oil extraction is the process of extracting the oil present in olive drupes, known as olive.Dapatkan kutipan
gold extraction rock crushing machines - crusher technology
rock crushing machines for gold gold ore extraction - YouTube. More details: . walnut crushing extraction machine california . rock crushing machines for gold.Dapatkan kutipan
Maple Walnut Vegan Ice Cream - Thrifted
14 Aug 2013 . extract, 1 teaspoon of maple extract, and 1 cup of crushed walnut pieces. Pour the mixture into your ice cream maker and follow your.Dapatkan kutipan
walnut crushing extraction machine california, economic profile of .
canada tree nut food uses treenuts.ca index page. oils can be extracted from nuts by crushing and use a food processor or specialty machine. the more about.Dapatkan kutipan
51.0 - 68.0 - Food and Agriculture Organization of the United Nations
California 95108 . A handle, attached to the machine, is turned to press the fruit and extract the juice. The crusher is placed across the hopper of the fruit press, the handle is turned and the crushed fruit . This machine pounds boiled palm fruits, separating the fibre from the palm nut and extracting the fresh palm oil.Dapatkan kutipan
Machine Almonds And Walnuts - Alibaba
Machine Almonds And Walnuts, You Can Buy Various High Quality Machine . DYZ-260 Automatic hydraulic olives,almond,sesame,mountain tea seeds,walnut oil extraction machine . high performance almond/sesame/walnut crushing machine . cashew nut, wholesale california almond, raw almonds, almonds in shell.Dapatkan kutipan
almond crushing and sorting machine - High Quality Crusher
almonds machine, how to extract hazelnut, almond extract machine For Sale New . Detailed Product Description Walnut CCD Color Sorting Machine . new or used shredder . crushing machine california. crushing machines concrete..Dapatkan kutipan
modification of sequence of unit operations in mechanized palm fruit .
when screw press is used for palm oil extraction. This is the . of nut-fibre separation step and all machineries/equipment associated with it in . power and capital cost for a given pressing ca- . breakage/crushing, and attempts to reduce.Dapatkan kutipan
2.0 - Problem Statement - University of Calgary
In creating a machine that can be used by people with little training, safety is a . The current method of oil extraction in Ghana involves crushing palm kernels by . To determine the minimum force needed to crush a nut, a pair of pliers was.Dapatkan kutipan
Is there such a thing as the best juicer? - DiscountJuicers
. lowe prices, with no sales tax* (* except California), . Click here to see a comparison chart of all the juicers we sell! . Fruits, have soft cell walls, and therefore require a gentle extraction method. It can make peanut butter or other nut butters. The crushed produce continues its way through the machine to the 2nd stage.Dapatkan kutipan
Zhengzhou Known Imp. Exp. Co., Ltd. - pellet machine,oil press
pellet machine,oil press,food proceeding machine,wood machine,Hon. North America, South . Order: 1 Set stainless steel walnut crusher/fresh walnut crushing machine. Stainless steel . Stainless steel good quality big ca. Min. Order: 1 . honey extractor . bee protective clothing . bee smoker . Beewax . beekeeping tools.Dapatkan kutipan
Cider mill - Wikipedia, the free encyclopedia
A cider mill is the location and equipment used to crush apples into apple juice for use . At the center is an pivot point or .nut. After the apples have been ground into pomace, the pomace must be squeezed to extract the juice. still in the same spot), Music Concourse, Golden Gate Park, San Francisco, California, USA.Dapatkan kutipan
Download document - Panela Monitor
juice extraction machine fabricated and constructed in the Agricultural Engineering department .. The bagasse that remains after sugar cane crushing may be.Dapatkan kutipan
Fatty oils and waxes photos
Following extraction, the oil cake can be used as an animal feed. The oil is expressed from roasted and crushed seeds and is edible, having been used . Grape-seed oil in particular has become popular in California as a food product.. Like the babassu, the nut is very hard to crack, but machinery has been developed.Dapatkan kutipan
Not All Biscotti Are Created Equal : NPR
12 Jan 2011 . No special equipment is needed. just a bowl, a spoon, a couple of baking . Rich, nutty, iced maple walnut biscotti paired with a steaming mug of . I have made these biscotti with both maple extract and pure maple . Espresso powder, made from used espresso grounds that are dried and crushed into a.Dapatkan kutipan
Green Life Juice Extractor - DiscountJuicers
31 Jan 2001 . We offer lowe prices, with no sales tax* (* except California), . Click here to see . Only some of the extra attachments, like the Mochi Maker, and the Pasta . to your juice and thoroughly crushes and presses fruits and vegetables, . homogenizes, makes baby food, nut butters, frozen fruit sorbet and more!Dapatkan kutipan
List of Job Titles - Process Control and Machine Operators, Food .
List of Job Titles - Process Control and Machine Operators, Food and . bone crusher - food and beverage processing. bottling machine operator . evaporator operator - food processing. extract maker - food and beverage . and beverage processing. nut mixer operator. nut-roasting equipment operator . actionplan.gc.ca.Dapatkan kutipan
Breville Juice Fountain Crush Slow Juicer | Williams-Sonoma
This low-speed juicing system slowly crushes and then presses fruits and . Italian-influenced menu that uses local ingredients from the California wine . Presses fruit, vegetables, greens and nuts to make everything from juice to nut milks. commercial stainless steel kitchen equipment . hurom premium slow juicer.Dapatkan kutipan
The Best Juicer | The Sweethome
2 Apr 2012 . The ultimate machine, which my local delivery guy from Juicetoyou . to slowly crush vegetables, are the next best thing for vegetables in general. And it can do wheat grass as well as extrude pasta, nut butters, grind or . He ranks the juice quality and volume of extraction as very high, and with leafy.Dapatkan kutipan
Oilseed Processing for Small-Scale Producers
AR 72702), Butte, Montana, and Davis, California. National Sustainable . Sources for more information and equipment are included. Oilseed . to their seeds and nuts by extracting the oil. This is not an . other oils from hazelnuts, peanuts, walnuts, macadamia . a cage to crush the seed and force out the oil. Oils can also.Dapatkan kutipan
Ninja® Kitchen Products - Ninja® Professional Blender - NJ600
The Ninja® Professional Blender gives you a professional, hassle-free blender with outstanding performance and a sleek design.Dapatkan kutipan
Posting Terkait
- what machinery required for iron ore mining
- second hand tracked mobile jaw crushers for sale
- refinery and mining new project in indonesia
- mobile jaw crusher price
- PE 250 x 1200 jaw crusher
- working principle vsi crusher
- what machines are used to crush talc for baby powder
- contoh cash flow stone crusher
- contract mining in zimbabwe
- cadmium mining zimbabwe
Posting Acak
- new mining equipment from for sal
- price quotation for small complete stone crushers
- wellstarting crusher machin and befor stating plese to the answer
- parameters for ball milling
- mining iron ore crusher
- spesifikasi dan harga seed grinder
- raymond mill working principles
- mini crusher hire sydney australia
- mining garnet rocks mining for garnet sand
- used raymond rolling mill