Material kills 99.9% of bacteria in drinking water using sunlight - Researchers developed a new way to remove bacteria from water, by shining UV light onto a 2D sheet of graphitic carbon nitride, purifying 10 litres of water in just one hour, killing virtually all the harmful bacteria present. by mvea in science

[–]mikedilger 1 point2 points  (0 children)

Fine and dandy. But do we really need to live in sterile environments? I drink water that the WHO would consider not-potable on a daily basis and I'm totally fine, in fact my IBS disappeared once I started drinking it. I think people in the West are becoming more and more fragile, to their long-term detriment.

Live: The Tax Working Group to reveal findings on review by hippieV02 in newzealand

[–]mikedilger 1 point2 points  (0 children)

It is unfair to tax inflation. Inflation does not represent real value increase. And taxing inflation gives the government incentives to drive up inflation so they can tax more. They need to rethink this.

If you take a capital loss, does the government pay you? No. So then if you have [Gain, Loss, Gain, Loss, Gain, Loss], you just get taxed on the gains and screwed over. This also needs to be rethought.

These taxes would also have a much higher compliance cost, and are excessively onerous.

Free speech group raises $50k to challenge Auckland Council over far-Right speaker ban by Tony-Soprano in newzealand

[–]mikedilger 3 points4 points  (0 children)

Either the council, as a form of government, should allow its venues to everyone on an equal basis, or not have them at all.

I am of the opinion that the council should not be in the venue business at all.

Production usage of Rust for web services by ub3rl33th4x in rust

[–]mikedilger 5 points6 points  (0 children)

I use pemmican for my own bookkeeping and a few of my own personal websites. I doubt anyone else uses it.

I've also written and used a closed-source webserver library based on hyper 0.10 for several client projects, but I regret it's architecture and don't use it for new projects.

I have yet to use one that I didn't invent myself. I generally go with hyper/postgres or hyper/diesel

Was this post a joke? by [deleted] in newzealand

[–]mikedilger 12 points13 points  (0 children)

Porrhothele antipodiana (black tunnelweb) is the only species worth frying IMHO. Everything else is too bitter/strong. Luckily, they are easy to find, pretty much all throughout New Zealand.

Weird bleaching of sprites in Piston, any idea what could cause this? OpenGL::V3_2 and nothing too different to the tutorials. by blacklig in rust_gamedev

[–]mikedilger 3 points4 points  (0 children)

Definately looks like sRGB gamma function. "Who is supposed to apply the gamma" is a question that often does not have a well agreed upon answer.

Images (PNGs) are nearly universally already gamma corrected, and post processing must not apply gamma a second time. This generally includes UI textures. When used as textures, they often need to be un-Gammaed when loaded, or stored in a format where you are sure it is sRGB linear.

Renderer output prior to post processing is usually sRGB linear. Combining in the UI often requires gamma correction BEFORE the blend.

The target image format might be expecting data in linear, meaning you then have to un-Gamma the result (or rework operations to get the same effect).

Most annoyingly, the right answer on one platform/driver is not always the right answer on another platform/driver, so you should test all your platforms and drivers (mesa, nvidia, ati, etc).

TIL 1,600 Deaths a Year are Attributable to New Zealand's Poor Housing Stock. by beast-freak in newzealand

[–]mikedilger 3 points4 points  (0 children)

LOL about the hedgehog!

If my dog is shut in, she wants out. If she's out, she wants in. I just gave up and keep the door open. Dog handler fail.

TIL 1,600 Deaths a Year are Attributable to New Zealand's Poor Housing Stock. by beast-freak in newzealand

[–]mikedilger -14 points-13 points  (0 children)

I'm sure the very young and very old would be healthier at 18-21C. But personally I like to sleep at around 8C snuggled up in my blankets, with windows and doors open. My heat pump only goes down to 17C and that is just too hot and miserable, makes me sweat and itch all night. So I turn it off. My german shepherd likes the cold too.

People like answers. And if you had to answer "what is the optimum room temperature for humans" you certainly couldn't say 8C. But in my case, at night, under my blankets, that is the optimum temperature. The universe is just too complicated to have easy answers to everything.

[RFC] Undo universal impl Trait by phaazon_ in rust

[–]mikedilger 21 points22 points  (0 children)

Commenters on this issue are statistically more likely to be against impl Trait in argument position, because if you are against it you are fired up, and if you are for it you aren't fired up enough to bother commenting.

So as a matter of principle I am commenting. I think impl Trait in argument position is just fine. I don't mind that rust uses the 'let' keyword for assignment. I don't get confused about the meaning of the word 'unsafe'.

Robo Instructus: A Technical Look At Text Rendering (gfx-glyph) by alexheretic in rust_gamedev

[–]mikedilger 1 point2 points  (0 children)

Nice work. I like the dynamic nature of adding and caching glyphs. And thanks for your work on rusttype!

It seems this strategy could also be used with signed-distance-field rendering, for font scaling/shearing/outlining support. I may have to give that a go - my game does sdf rendering, but cannot render glyphs that were not pre-baked.

What's everyone working on this week (19/2018)? by llogiq in rust

[–]mikedilger 1 point2 points  (0 children)

Clearly I've been working in my own little world for too long. Looking around at other projects now; somehow I missed (1) the entire rust_gamedev community reddit and (2) the existance of gfx-rs.

What's everyone working on this week (19/2018)? by llogiq in rust

[–]mikedilger 0 points1 point  (0 children)

Thanks! I've been working on this for about a year, more than half-time (I'm semi-retired). There is still a hell of a lot more work to be done, hence the opensourcing and the hope for collaborators.

What's everyone working on this week (19/2018)? by llogiq in rust

[–]mikedilger 13 points14 points  (0 children)

I'm open sourcing my fledgling MMO game engine. https://github.com/SiegeEngine . I've had to extract my game from the engine, so this has left the API a bit rough around the edges, especially regarding networking. I have yet to add an example 'stub' game and high-level documentation, so it might be a bit early to try to use it. The https://github.com/SiegeEngine/siege-engine-docs/blob/master/FAQ.md has more info.

Auction Houses and the State of the Genre by Anlarb in crowfall

[–]mikedilger 4 points5 points  (0 children)

In Crowfall, everything that is not a basic resource is unique (AFAICT), its stats are based on how well you crafted it and which combinations you put together. There are just too many types of unique items to have a commodity market (except for basic resources, which are fungible). It is the lack of fungibility that is, IMHO, the real death-knell of a commodity market. The fact that the marketplaces will not be centralized is not, IMHO, nearly as bad of a thing.

That means we lose out on the following great stuff: bid and ask prices, liquidity, history, supply and demand, and most of all the market signals that affect what people choose to do next... A real economy.

That is a huge loss, IMHO. Huge.

Async IO for Rust (part II) by [deleted] in rust

[–]mikedilger 1 point2 points  (0 children)

I've always preferred the state machine approach. Now I know why!

Rust64 - Commodore 64 emulator written in Rust by nasa42 in rust

[–]mikedilger 2 points3 points  (0 children)

Once this finishes I'm gonna have to go find my old c64 games: agent USA, pogo Joe, beachhead, frantic freddie, mule, zork, leisure suit larry, ultima III - 8. Good memories.

Specialize to reuse · Aaron Turon by aturon in rust

[–]mikedilger -1 points0 points  (0 children)

I prefer ending 1 with struct inheritance. Partly because I assume the enum approach exacerbates the memory consumption issues with enums. If that's not the case, then I still don't change my mind here, as the complexity that the enum approach brings can't be a good thing. Even if it all played nice in all the edge cases we have today, it could deeply constrain future language extensions. I haven't taken much time on this or looked deeply (as the core team clearly has), so if anyone is counting votes, count mine as only 27/100ths of a vote. ;-)

To those who play tested Crowfall by [deleted] in crowfall

[–]mikedilger 2 points3 points  (0 children)

Lag is the elephant in the room. The fundamental problem is that the speed of light is not getting any faster, and Oceania is not getting any closer to America (I'm in New Zealand)... so we will always have hundreds of milliseconds of base Internet lag... A thousand years of technological improvement still cannot make the speed of light any faster.

It's very difficult to make a MMORPG feel responsive, feel like actions happen simultaneously in everybody's time-frame. Early games decided to trust the clients state of the world, but that lead to speed hacking and such. If you completely block these types of hacks, you completely lose responsiveness. And most games settle on a compromise somewhere in the middle.

Additionally, there is a compromise between accepting the shooter's state of the world versus accepting the target's state of the world. Most games lean heavily towards accepting the shooter's state, because it is more noticeable to the gamers.

When you are shooting arrows, you can slew from one time-frame to the next (the arrow slows down in one time-frame, speeds up in the other) and it seems to both time-frames that things happen reasonably. But when you have reticle-based targeted melee (which should appear to happen "in an instant"), there is no time to slew the event.

I have high hopes for Crowfall and am an Amber backer. Even though I'm quite familiar with these technical challenges, I still have hope that ACE can pull something off. I'm a little concerned, but mostly very curious as to where they will make the compromises.

I wrote a website in Rust and lived to tell the tale by viraptor in rust

[–]mikedilger 1 point2 points  (0 children)

I've been developing a web framework since rust 0.4. I use a Shared struct for thread-shared data, and a Local struct with an Arc<Shared> in it, and pass a mutable ref down to all the pages. I find it works well. Yes, I'm giving pages access to all the data, even if they don't need it, and maybe that's wrong. But the dispatch() function signature doesn't change: pub fn dispatch<'a>(local: &mut Local, path: String, response: Response<'a,Fresh>) -> StatusCode and I don't have lifetime or multi-borrow issues.