Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!



OpenBSD's Kernel Gets W^X Treatment On Amd64

ld a,b Re: Status on other UNIX like kernels (84 comments)

True. This was also my first reaction.
If you read the whole post and speak BSD, however, you'll notice that full kernel-space ASLR is under way as well. So, once again, OpenBSD leads exploit mitigation.

about two weeks ago

Goodbye, Ctrl-S

ld a,b Re:Correction (521 comments)

Ed is the standard text editor.

about 8 months ago

First Browser-Based Quantum Computer Simulator Released

ld a,b Re:If each of those is 22 qubits... (61 comments)

You mean a simulation like this?
# cat /dev/random | grep "the answer to life, the universe and everything" | sed -e 's/the answer to life, the universe and everything/42/'

about 8 months ago

30-Day Status Update On LibreSSL

ld a,b Re:Throwing out all compatibility hooks makes it e (164 comments)

This is because the C standard is full of crap such as undead(maybe it was half-unsigned?) chars and non-zero NULL and Harvard architecture hacks. If you want to be sure your program will work as intended when some starry-eyed clang/gcc developer reasons he can optimize away your security code because it is undefined behavior, you must support all the brain-dead architectures that motivated the standard, in order to serve as canaries.
This is not related to supporting non-standard shitty libcs and OSes which run on 64-bit architectures and yet do not support 64-bit pointers.

about 8 months ago

30-Day Status Update On LibreSSL

ld a,b Re:Multiplatform? (164 comments)

No it's not, it is stated quite clearly that it is written for OpenBSD. OpenBSD is mostly "POSIX-compatible" but they aren't too shy to extend libc when there isn't a good alternative. The slides and the talk mention strlcpy/cat(unfortunately ignored by C11 but widely adopted everywhere but GLIBC) and reallocarray. Only obliquely referenced is a proper kernel API (P)RNG which is not available in most platforms(using /dev/*.random instead, which has many issues[1]).
However, like OpenSSH, you can expect the LibreSSL portability team to write wrappers to make the best of what there is in your OS. As opposed to the best Win16 could do.

[1] http://insanecoding.blogspot.j...

about 8 months ago

Stack Overflow Could Explain Toyota Vehicles' Unintended Acceleration

ld a,b Re:Perfect Software (664 comments)

Anyone who thinks all software has bugs has never written "Hello World" in assembly.

Perfect, trivial software is clearly possible. Perfect software that's slightly more complex is also clearly possible. We haven't yet accepted that perfect software is possible, but we should demand it (for moderately expensive software, or where bugs will cost you money, for instance). A reasonably intelligent programmer writing a modestly complex program should be able to do so perfectly. That he can't, (because his tools don't help him do so) is infuriating.

Yes, almost all software has bugs. We are way too comfortable with the idea. Software doesn't need to have bugs. We just don't have toolchains and development stacks that encourage perfect software. It's as if engineers decided to only use modeling clay for buildings, because nobody sells steel, and it's too cumbersome to smelt their own.

The profession really is no better off for accepting this sorry state.

Sorry, but you are wrong. A perfect Hello World written in assembly according to specification and formally proofed can have bugs in not one but two cases.

  • * The specifications are wrong.
  • * The CPU has a bug.

Hardware people can be clueless retards as well

CPU bugs are something you only read about in books until you actually try to do something non-trivial with the CPU.

about a year ago

Stack Overflow Could Explain Toyota Vehicles' Unintended Acceleration

ld a,b Re:coding standards (664 comments)

Sorry. I work in automotive embedded systems(although not personally in safety-critical parts we use the same parts and rules) and I can tell you rules like yours were behind this.

We are following all these rules and so we are safe. We can save a penny per 1000 units sold using a crappy MMU-less CPU.

First of all, following the stupid rules requires you to use baroque lint imitations which will go off on every line of idiomatic C. You need a paper trail to justify every line of code. Seems about right, people's lives are in danger, right?

Now consider that the controller system is hundreds of thousand of LOCs(for us it's more like millions). Most of that is crap boilerplate code required by the standards. This means if you follow that methodology strictly, you need hundreds of people going through mindnumbing lists of "You are not using this argument/This code assigning an argument to itself does nothing". Given that most software developers are inept and overworked, I can give you a certificate that there will be bugs.

It took me two weeks with the code to find a checksum function used all over the place that had been "fixed" to detect offset data after some earlier corruption bug was not detected.

Every 256 bytes "checksummed", a bit from the input would be left unaccounted(And it was actually used for data several times larger than that). I know for a fact that had to go through at least three source and design reviews and at least one more design review with some fat managers higher up.

Now tell me you feel safe.

Note to PHBs: Googleing up a fucking working CRC and getting a CS PhD to make a formal proof that it will work as intended would have cost far less.

Also, you see, the crappy CPU vendor stack measuring tools - that rules say we must use to guarantee safety - don't account for function pointers(they do show scary icons for recursive functions). They say foo(384) bar(uhhm... maybe 0?) I know to look for that when I add calls to function pointers, but I guess most people don't.

Now you add another rule. LOZRA 4092: You can't use function pointers at all.

Make my life more miserable, give the remaining work I will be unable to do to Dave, the monstera plant, or someone with the same programming aptitude.

I will give the crappy CPU/Compiler/RTOS vendors that should be sued free advice:

0- Add an MPU

1- Add canaries to every function call with any local variable at all(here it's not hackers it's programmers following LOZRA 396: cast the shit off everything so the compiler can't tell)

2- Add stack overflow canaries on every task switch. (add an MPU and align to page in the stack growing direction)

3- Add canaries to any memory pool allocation. (add MPU dead pages - You don't need RAM, just fucking address space of which you are using like 2%)

4- If any of the above traps, jump to a customer defined function(stored in ROM than can only be physically modified by outside hardware) that puts all vital hardware in a safe state, adds a record to the black box and reset the whole thing from scratch.

5- Forget about tasks and threads and move on to processes running on separate address spaces. If information must flow from a to b it better go through accepted channels. 6- Did I tell you to add a fucking MPU!?

about a year ago

Camping Helps Set Circadian Clocks Straight

ld a,b Re:Surprise (173 comments)

I can hardly thank you enough!
I can't believe I could have been using my computer at night without redshift.
There is a package for OpenBSD and you can check if your system is supported on their homepages.
My xterms are goddamned sunsets.
I am moved.
Thank you.

about a year and a half ago

GCC 4.8.0 Release Marks Completion of C++ Migration

ld a,b Re:chicken or egg? (269 comments)

The first build of the compiler used to bootstrap everything else was helpfully provided by the CIA's new Amazon cloud.
Next time you run mingw stay alert for the "'login' is not recognized as an internal or external command, operable program or batch file" warnings during compilation.

about 2 years ago

After Weeks of Trying, UK Cryptographers Fail To Crack WWII Code

ld a,b Re:No surprise there (263 comments)

If you only have two messages you can only get K^A K^B and A^B. This doesn't directly give you the key.
However as A^B is just a plaintext encoded plaintext, decyphering both plaintexts is relatively easy. Where relatively here means infinitely easier than provable impossibility.
Ridiculously easy if A and B were black and white images. See http://www.cryptosmith.com/archives/70
Getting the key is then trivial.

more than 2 years ago

Ask Slashdot: How To Avoid Working With Awful Legacy Code?

ld a,b Re:any questions? (360 comments)

Your job is finding a way to both comply with their requirements and getting quality software out. If after thinking it through with your coworkers there is no way you could get it done, your job is then to tell them they are full of shit and go get us new requirements. If unresponsive repeat and rinse with their superiors.

more than 2 years ago

Solid State Quantum Computer Finds 15=3x5 — 48% of the Time

ld a,b Re:Can someone explain... (262 comments)

Let me remind you of the zeroth law of thermodynamics - You can't have nice things.
By that law I predict Shor's algorithm works in practice as follows:
6=2x3 96%
15=3x5 48%
35=5x7 24%
77=7x11 12%
143=11x13 6%
Good luck breaking RSA.

more than 2 years ago

Bilingual Kids Show More Creativity

ld a,b Re:How about tri-ligual, quad-ligual ? (221 comments)

It may be more the fact that her parents were switching randomly, than the number itself. We can have many neuronal paths in parallel but they are organized by context. switch(p){case MOM: l = Japanese; break; case DAD: l = Korean; break; case TEACHER: l = English; break;} is more optimal than if p=(p==MOM)?(p->l==Japanese)?Japanese:Korean:(p==DAD)(p->l==Korean)?Korean:English;.....

more than 2 years ago

Bill Gates Gives $750M To AIDS Fund

ld a,b Re:He can't win (214 comments)

at least from when he started coding school systems to put him into classes with more girls

That is more "fucking awsome" than "bastard", even if today it would get his ass raped in some federal prison.
I'd say coding a BASIC interpreter in 4kb using paper and an emulator you hacked up for an unreleased platform is pretty cool as well.
Then he started hearing calls from the dark side and the rest is History.

All in all, I think he is an admirable man if only in the same category as Genghis Khan - who also did a lot genetic health related work for Eurasian people.

about 3 years ago

German Paleontologists Find a 'Near-Perfect' Dinosaur Fossil

ld a,b Re:Bone Parts? (99 comments)

The arms in theropods are like avian wings in that for most species they are in a rigid clapping position. There was a Slashdot article about this some time ago. Actually clapping doesn't quite describe it as you'll find ancient bird fossils have their claws facing forwards just like this one.
The "damaged" hip is actually one of the two main features used to tell a theropod away from other dinosaurs. The theropods ischium is facing backwards, while their illium faces forwards. This is the ancestral configuration, although it was secondarily lost in the species most closely related to birds, which have *both* facing backwards,
Plant-eating Ornithischia, like the Triceratops, on the other hand, evolved that "new" hip configuration much earlier.

more than 3 years ago

Look Ma, I'm Getting Arrested!

ld a,b Re:All Hell? (238 comments)

Some might be happy about your real death, but everyone would be pissed off about a false death message.

more than 3 years ago

When Algorithms Control the World

ld a,b Re:Not that far-fetched (150 comments)

I am aware of hidden variables theories being dismissed by many. However, the probabilities can always be explained by hidden variables and vice versa. How could you tell a dead cat from an undead cat that died right after you looked at it?
My point was that we can't tell. I choose the explanation without pixie dust until it is definitely proven right or shown that the pixie dust behaves deterministically after all.
Newton's maths matched the world so closely until we realized they didn't. Nobody is discussing that QT is the best we have, but it can't even explain gravity, so it's safe to say it's at the very least incomplete.

more than 3 years ago

When Algorithms Control the World

ld a,b Re:Not that far-fetched (150 comments)

Heisenberg's Uncertainty Principle is being taken too far by pop interpretations and by some physicists.
It just means we may never be able to confirm any theory on the laws governing quanta and that we have to use probabilistic interpretations instead. It doesn't mean there aren't deterministic rules governing them.

Applying Occam's razor to the problem tells us Schroedinger's experiment doesn't yield an undead cat until you look at it any more than killing your cat based on the 31415926535'th bit of the output of random(3)* with seed 0 would. The cat will die or it won't, "alea jacta est", you just can't tell until you run the experiment.

* random(3) is a misnomer. It is a PRNG.

more than 3 years ago


ld a,b hasn't submitted any stories.



On consciousness

ld a,b ld a,b writes  |  more than 5 years ago The topic of consciousness usually confused with intelligence and thought, however, while in the case of humans it might be a byproduct of either or both of these, there is no reason to think it cannot exist without them.

Consciousness, as the almost metaphysical experience that all humans including myself appear to feel, must have a physical basis. The rationale behind that statement is simple. Our neurons are able to retell that experience, which is the reason we are even able to discuss it.
They wouldn't be able to do that without a physical means of feeling not only the external stimuli and our internal state, but also the metaphysical phenomenon of consciousness that we happen to experience.
This means we should be able to identify the mechanism neurons use to detect it and eventually, once the device is reproduced, close the debate on whether AIs and animals are able to experience consciousness as we know it.

Until that device is discovered, I lean towards the idea of all encompassing consciousness experience(unrelated to thought and intelligence) in all matter and energy that neurons just happen to be able to detect and record. This doesn't advance the discussion as the evolution of conscious neurones cannot be pinpointed. It could be that all neurones are able to detect consciousness, but only brain neurones get the chance to tell anybody other than themselves. Then again, conscious neurones could be a uniquely human development.


Our friend the Saccharomyces yeast

ld a,b ld a,b writes  |  more than 6 years ago

One morning you will wake up and they will have taken your money, your guns, your wife, your computer, your freedom and everything you value, however, there is someone, always by you, that will let you keep(and lose at will) your dignity as long as you keep him as your friend.

His name is Saccharomyces. It is a distant relative of yourself that lives everywhere. On your food, on the air, on your skin, in your guts. He enjoys all sort of sugars and will reward you if you give him some.
Saccaromyces is a yeast, cerevisae is his first name. He usually lives sits alone drinking sugary beverages and spawns some copy of himself when he feels like it, but once in a while he gets lucky and he isn't in a position to say no to wild sex. While yeast can have a healthy and boring life on oxygen and sugar, he can live and thrive on sugar alone. And believe me, both you and him will have a happier life if he does.

If you want to get to know him, keep reading.

The byproduct of Saccharomyces' anaerobic metabolism is Ethanol, yes this is right, instead of taking a leak after a beer he will leak the beer for you to drink.
You possibly already knew that, what you maybe didn't know is that you don't need to buy your friends. You can make friends easily if you know how.

The best way to make a yeasty friend is to open up a sugary self-service. This is as easy as making a water-flour mix and letting it sit somewhere and waiting until saccharomyces comes. You should stir it regularly throwing away a bit and adding up more food until he makes it his own place. You will know because the mess will become a foamy mess and the uninvited dangerous customers will die a painful death thanks to our friend's ethanol. You can speed the process up by adding some raw fruit to the mix. It is likely that yeast is already living in or on the fruit. Once you have got it stabilized and free of dangerous freeriders, you can use this mix to start your parties. You can store it in the refrigerator. Saccharomyces will just go to sleep.

Note that you don't need this at all if you ferment sugars that are likely to have Saccharomyces in them already like fruit juices or honey but it will significantly improve your chances of success. A single barbarian will have a hard time hacking through all your must and might die in the hands of some high level bug; a ship full of berserk barbarians will quickly annihilate everything.

As you don't know what kind of Saccaromyces you have befriended, you should test the waters with two test beverages. Mead is the basic BREWING101 for both you and the yeast. Honey is almost pure glucose so it makes a great food for your friend, and it is easy to regulate. You should make two honey-water solutions, the sweetest one should be at grape level sweetness(A), the other one should be significantly less sweet than that, yet still noticeably sweet to taste(B). Take note of the amounts you use so you can reproduce the results if they are successful. You can use any kind of bottle but you must be able to keep air from entering. If you use plastic bottles they will expand and almost never explode(usually they lie and throw up the mess if you leave the gas production unchecked) as long as you regularly release the CO2 your friend exhales. A safety device is usually better than that.

You don't want your friend to catch some nasty infection from alien bacteria or to live a boring oxygenated life, so what you do is you give him a condom. He is too small for human condoms, but the bottle you use will likely be endowed enough. Religious people will open a pinhole so that some CO2 escapes, others just change the condoms when they are full and give the CO2 to their pet plants or algae. It is very important that whatever happens air never comes in. Unless you want vinegar.

So 24h after setting it up the mix will be foaming and your friend will be having great orgies. Now you have to wait. In a few days there will be just a few bubbles going up. At this point most sugar should be alcohol, but if you are a man you want to wait until fermentation is 99.9% over and a dry drink is left.

Some yeast will have died of too hard sex, others will be sleeping at the bottom of your mead. OK, now you take the mead and bottle it in a glass bottle and put it into the refrigerator. Take care, *do not* put your friends into the drink, leave them sleeping at the bottom, we are not cannibals and they will upset your stomach. You can throw them away so they can find some new friend or you can mix them back into your starter after checking they don't have any infection.

Wait a handful of days, and try the two beverages. B should be completely dry(ie not sweet), if A is dry as well you have a winner friend, keep it. You can use B class yeast for ales and mead and A class yeast for higher alcohol drinks like wines. It is important to know the potential of your yeast to avoid overfeeding. Nobody likes a sugary ale.

Okay so you know how to make mead, what do you brew next? Sky is the limit, any carbohydrate under it will turn into a good drink. Juices are the lowest hangin' fruit, but anything will do, sugary cornflakes, syrup, a sugar solution, anything that isn't good for diabetes mixed with water, is good for your friend and for you.

Your friend the Saccharomyces will have a hard time swallowing starch and other big sugars though. You should turn it into maltose first. There are three ways to do that, the lucky way, the hard way and the gross(and arguably harder) way. The lucky way is: You leave your steamed rice somewhere and it gets infected by another friendly being(Aspergyllus orizae) that turns its starch into sugar. The hard way is: You get some cereal grain to sprout, you bake it, you heat it slightly in water to allow for full conversion, and then boil it and get the maltose juice out. The gross way is: You grind the base(this can be anything with starch in it) put it in your mouth and spit it soaked with saliva. In 24h the amylase in your saliva will have turned the starch into maltose, you boil that and, voila, maltose syrup. It might be gross, but the end result is the same and has the lowest requirements. If you only get bread and water in your jail menu, you can still brew ale using this method and a bit of luck.

As you see, Saccharomyces never leaves you. Even in your hardest times he will be there to make you a bit happier.

Here's to you Saccharomyces Cerevisae!

Quick Facts:
-You will not die for drinking a fermented beverage that tastes good unless you literally drink liters of it in a short time.
-Even if it tastes like vomit it isn't likely that you die. This isn't games/hack.
-Some methanol will be produced in very small amounts, especially if you include fruit material or wood. Incidentally ethanol is the recommended treatment for methanol intoxication. So, no you won't go blind.
- In fact successful fermentation doesn't need perfect protection from air, but you will be safer if you do protect your mix.
- Sanitation of your tools is good but again not necessary if your yeast is healthy. Once it starts doing its thing, the evil bacteria will die. Just don't use dirty "bacteria started" tools.
- Bread yeast is A class(see above). It is the right yeast and it can brew wines. And no, it doesn't taste like bread if you don't drink the yeast. If you need this guide you can't go shopping for brewers' yeast anyways.
- Remember, for gods' sake, do not drink your friends!

Slashdot Login

Need an Account?

Forgot your password?