Star Citizen and Squadron 42 are using Amazon's Lumberyard game engine - <AUTHOR> http://venturebeat.com/2016/12/23/star-citizen-and-squadron-42-are-using-amazons-lumberyard-game-engine/ <comment><USER3> The link should probably be updated to point directly to Venturebeat [0] instead of the AMP version. I think submitting the AMP version might break the guidelines, which ask you to submit the original source.

I preordered Star Citizen a few years ago, but I stopped keeping track of all updates after a while. To be honest, I kinda assumed it'd just become vaporware.

Although I'd heard about Amazon Lumberyard before, I hadn't considered this before: I wonder if Amazon will start a game studio at some point, since they seem to have a hand in pretty much every other tech scene. Are there any big avenues open for disruption in the videogame scene?

[0] [http://venturebeat.com/2016/12/23/star-citizen-and- squadron-...](http://venturebeat.com/2016/12/23/star-citizen-and- squadron-42-are-using-amazons-lumberyard-game-engine/)

<comment><USER4> Amazon actually already runs a game studio: [https://games.amazon.com](https://games.amazon.com)

<comment><USER3> Well, that doesn't surprise me, but still... I'm absolutely amazed at how many things they seem to be doing over at Amazon.

I wonder if Amazon will follow Google's route and start splitting up into smaller companies at some point?

<comment><USER5> I think it is already split into a lot of sub-companies.

[https://www.quora.com/List-of-all-Amazon-properties- subsidia...](https://www.quora.com/List-of-all-Amazon-properties-subsidiaries)

</comment></comment></comment></comment><comment><USER6> I didn't expect this, but it makes a lot of sense in retrospect. CIG had already hired a bunch of the crytek devs and invested a ton into their engine. They're also already pretty tightly coupled with AWS.

I suspect this is the nail in CryEngine's coffin.

I massively disagree with the decision, though. I think CIG could have taken CryEngine under their wing and continued developing it, releasing StarEngine (their fork) as another competitor on a field which simply doesn't have enough _high quality_ competition as it is. Maybe they thought about it; maybe they couldn't get the rights, or didn't have enough cash for it. Maybe Amazon made them a massive offer just for the name recognition, too.

<comment><USER7> I don't see how fragmenting CryEngine benefits that much considering they're all on the same licensed CryEngine. Amazon paid $50m for the CryEngine and Amazon said Lumberyard is free to use with their AWS services.

I think it makes sense for CIG to use Lumberyard's engine with AWS integration, especially it saves them a lot of money not licensing their own CryEngine fork and they're using AWS anyway.

<comment><USER8> As far as I knew, the plan was to use the various Google Cloud services for the backend, but I wonder if CIG found the offerings from Google too paltry. AWS seems to have better geographical proximity for Australia and South America, along with Asia in general, which was a complaint/concern among backers from Asia and Australia and South America.

As far as the license for CryEngine, I believe that wasn't an ongoing cost per se. I know CIG has done a bunch of customization (64-bit floating point precision vs 32-bit floating precision the biggest) but they were originally talking about folding some of those changes back into the general CryTek offering. I wonder if they're instead going to offer that to Amazon for Lumberyard as a cost offset to their use of the services.

Star Citizen would be a pretty big feather in the cap for Lumberyard, as well. I'm optimistic about the game's development.

</comment></comment></comment><comment><USER9> After getting my refund, I've been watching the SC narrative unfold from the sidelines with interest. There's enough things that've gone awry in this project to write a book about (and I guess if you were to collect all of Derek Smart's writings, that's what you'd have).

For me, the main deal breakers and why I got out were that I felt substantively bait-and-switched when you compare the current "game" to what was originally promised, and a complete lack of any confidence whatsoever in this game actually coming out. The latter is mainly due to things like this, where core technologies are forever iterated on at a fundamental level even this far (5 years) into development.

<comment><USER10> >> compare the current "game" to what was originally promised

That's a real issue with crowdfunding. More often than not, the devs truly have no idea what the final game will look like. Much of the early funding goes into what are essentially extended market research projects. Alphas are released, feedback taken, and changes made. Everyone expects that devs have some final version of "done" in their heads, but the truth is that such pictures constantly change in response to user/market feedback.

There are only a handful of indi games that ever developed towards a finite picture (Prison Architect). Most bounce around trying to please all the fans until some financial tipping point causes them to slap "1.0" on the latest build and push it out the door (KSP). That crowdfunding and traditional funding result in very different game development should be no surprise to anyone. StarCitizen will release when they need to release. Until then the cycle of feedback and iteration will continue.

<comment><USER11> KSP was steam early access rather than crowdfunded per se, and was one of the early successes of steam's "early access", the funding made it into a very complete game and had regular updates and progress throughout the early access stages and didn't re-invent itself.

<comment><USER10> It wasn't only on steam. They also sold through their own store. I certainly didn't buy through steam. Whether the game is complete or not depends on when you got in on the process. What it does have is the layered and rather disconnected set of features that are typical of game development in response to market feedback rather than cohesive vision. It's a good game, but does show the telltales.

</comment></comment></comment></comment><comment><USER12> Given their comments about having rewritten over half of the original CryEngine codebase (including things like 64-bit map sizes, local physics grids, physically based rendering, and more), my guess is that this engine switch is primarily about licensing, networking, and use of AWS. They'd also stopped taking updates from CryEngine a while back, so at most they've swapped out some of their networking code.

</comment><comment><USER13> This sounds more dramatic than what it actually is, a merge of two CryEngine forks.

</comment><comment><USER14> Apparently "The most open game development in history" involves briefly mentioning an engine / platform switch at 5pm on a Friday before christmas

<comment><USER15> Did you see their EULA change a while back? If you upgraded to the latest beta, you absolved them of all liability if they never deliver the actual product.

This is a sinking ship, they just won't (publicly) admit it yet.. though a bunch of their staff jumped ship, so they realize it.

<comment><USER6> "A bunch of their staff" jumped ship? What are we talking there? 5 people? 10? 50?

Unless you're talking about a mass exodus, more high ranking employees left Blizzard Entertainment the past couple of years than that. Is Blizzard a sinking ship as well?

<comment><USER16> Blizzard actually puts on new games, content for their games, and turns an enormous profit. So no they are not.

I am really curious if you are either an employee at CIG or just a really passionate backer of the project based on your unrelenting defense here. I am not sure why you are surprised by the candor of the comments here - CIG is seen as a running train on fire and is quite literally a joke in the gaming industry. It's unfortunate for those who work there and the people who want the game to succeed, but CIG has earned this reputation.

<comment><USER6> I'm not affiliated with CIG (edit: I am an early backer as I mentioned elsewhere), but I am passionate because I work in the games industry and I see what CIG is doing as incredibly beneficial to the industry; open development is huge for both studios and consumers but it needs all the love it can get.

So I'd really love a source for your "is seen as a joke in the gaming industry", because that is not _at all_ what it's like here and is making me doubt your intentions. CIG is producing a game that people are passionate about years before it's released, completely self-funded and all that off a kickstarter. They're the reason Kickstarter got so popular in the gaming industry: everybody wants to be them.

<comment><USER17> I agree it's beneficial but not for the reasons you think: it's turning thousands of people away from the ill-conceived crowd-funding model of game development.

BTW it has roughly about $140 MILLION of "all the love it can get". Does it really need any more than that? It has enough. That's well more than Skyrim's budget.

> They're the reason Kickstarter got so popular in the gaming industry: > everybody wants to be them.

If you're backing Star Citizen because you think it proves the crowd-funding model, I'm sorry to break this to you, but it's more likely people in the know are _rejecting_ the crowd-funding model due to Star Citizen, not signing up for it.

<comment><USER6> > _it 's more likely people in the know are rejecting the crowd-funding model > due to Star Citizen, not signing up for it._

And your source for that nonsensical statement is?

Star Citizen is _the_ most successful crowdfunded project to date and second most successful kickstarter project at the time of its completion (after Oculus Rift). The two successes together that year were what made Kickstarter famous and turned it from a niche site to "the american dream 2.0" where anyone's greatest ideas can be funded.

I don't care about the crowdfunding model and you're completely mistaken about my reasons on why I backed Star Citizen. I don't particularly like or dislike it and I do appreciate your stance that you prefer buying the finished product - I think it's a healthy stance.

But your comment on people rejecting the crowd funding model "due to star citizen" is absolute nonsense. And so is your comment on budgeting, by the way - You should keep in mind that the number on there isn't "Star Citizen's budget", it's CIG's budget. There's no particular point in time where anyone says "Alright guys, time to pack up, stop making sales, we'll do with the money we have right now because it's more than enough to finish the game".

<comment><USER18> Most successful? Measured in what, money spent? I'm sure other kick-started projects are more successful in that they actually produced a product that resulted in profitability.

<comment><USER6> Please stop trolling and read my actual post.

<comment><USER19> I don't see the trolling? How is Star Citizen the most successful crowdfunded game? It's still not released.

<comment><USER6> The point I now made several times is that it's one of the two major projects that turned kickstarter into a popular platform. It was extremely successful at the time it was released and while projects have since outranked SC in most spend on Kickstarter, it's still one of the most successful crowdfunding campaigns of all time by any financial measure.

As for "not released", they've released a lot more than other projects have. Colossal failures such as Everquest Next have absolutely nothing to show for it - if SC stops development tomorrow (which is unlikely), they have in fact released an early stage game and a ton of near-game content.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Still waiting on that Linux support. I only backed because it was promised.

</comment><comment><USER21> Amazon Lumberyard game engine = fork of CryEngine maintained by Amazon. So they just changed from were they get Engine support, the engine is the same.

CryEngine got forked and improved from Ubisoft before and is used in FarCry 2-4 series (now called Dunia engine). The original FarCry 1 was from Crytek.

</comment><comment><USER22> This isn't nearly as big of a deal as the headline sounds since Lumberyard is just a free version of CryTek with extra bells and whistles. Why would any dev that was using CryTek _not_ switch to Lumberyard?

<comment><USER23> Because they could never again use any 3rd party cloud services for their game except AWS?

<comment><USER22> Yeah I didn't check the agreement before, I had assumed the integration with AWS was there to make it attractive, but you're right it locks you out of any other third party service. That does make it a real choice.

</comment></comment></comment><comment><USER24> When do they start with the "bottom line" and try to finish the game?

A month more here, another month more there another switch of engine, concept,plan etc there.

<comment><USER25> It's basically the next installment of Duke Nukem.

<comment><USER26> exactly.

</comment></comment></comment><comment><USER27> Soo, how different is this new game engine since it a offshoot of the crytek engine? Is it going to add another x years to the development? Because it took my company almost a whole year to switch engines for a game that is a tiny fraction of the size of SC

</comment><comment><USER28> Does anyone know if there is a comparison or even lumberyard is comparable to Microsoft's azure game services ?

<comment><USER29> Azure for Gaming [1] is just a collection of Azure services that are related for games, like Notification Hubs, Media Services, etc. Presumably, there's some common SDK for games but I haven't really used it so I can't say.

I suspect (although I haven't looked into it) that the backend services that Lumberyard uses are also just standard AWS services packaged up in nice way like Azure.

Lumberyard is really just CryEngine with the AWS integration I mentioned above, so it's not really directly comparable. I'd say the two backend services would be a more apt comparison, but as I said above, I haven't used the two myself, so I can't give more details.

[1]: [https://azure.microsoft.com/en- us/solutions/gaming/](https://azure.microsoft.com/en-us/solutions/gaming/)

</comment></comment><comment><USER30> I was gonna be like "that's gonna be so expensive when they hit a large playerbase"

Then I thought about it

</comment><comment><USER31> Is there a reason why this links to the AMP page as opposed to the actual VentureBeat article?

<comment><USER32> Most likely because there is no user interface to get a non AMP link when you follow a link from Google. It's nuts.

<comment><USER33> Yep, this drives me crazy. Finally found a solution (Request Desktop Site) but it's incredibly buried.

Shocked that content providers arent suing over this. Google removes all ads (which as a user I like), and any links to the content they are serving. If I were a provider I would be pissed.

</comment></comment></comment><comment><USER34> Can we get the redirect link changed to the target of the redirect? [http://venturebeat.com/2016/12/23/star-citizen-and- squadron-...](http://venturebeat.com/2016/12/23/star-citizen-and- squadron-42-are-using-amazons-lumberyard-game-engine/)

<comment><USER35> Sure thing.

</comment></comment><comment><USER36> To abuse a phrase: it is difficult to make a dev finish a project when his livelihood depends on him not finishing it.

<comment><USER37> I think the devs deserve slightly more respect. Nobody wants to spend years of their lives on an unfinished product.

<comment><USER6> CIG deserves a _lot_ more respect than that. I'm appalled at the quality of the comments here.

They are one of the best studios in the industry right now when it comes to consumer and dev friendliness. Their blog is a treasure trove of interesting posts on the internal development of the game, far more often and rigorously updated than anything else.

Seriously, keep the unsourced/unresearched flames to Reddit. You'd think that HN of all communities would be more appreciative of what CIG brings to the table.

<comment><USER36> You're praising them for being developers, rather than actually making anything finished. I'm glad you respect their effort so highly but that doesn't mean anyone else is "flaming" them for pointing out the constantly pushed-out schedules and the convenient fact that they're making plenty of cash without ever releasing anything... and the betas they have released shows an ever-more-ambitious vision when even 3-5 vision-elevations back it was doubtful they could do what they're trying.

<comment><USER6> > _You 're praising them for being developers, rather than actually making > anything finished_

This is a developer forum more than a gaming forum, so I think it's appropriate, don't you?

> _plenty of cash without ever releasing anything_

Come on now. I haven't at all kept up with the game for the past year and half and I can still tell you that they are regularly pushing out content simply because my inbox gets _spammed_ with their content update newsletters.

In fact, the latest email is from 17 hours ago, announcing Lumberyard alongside "Alpha 2.6 with Star Marine", their big FPS patch. Saying they "aren't releasing anything" is disingenuous.

If you're saying they're not releasing anything you want to play, then sure - they haven't released anything I want to play either. It doesn't change anything.

<comment><USER38> Sample Email: "Here's another pretend ship you can buy for a game that isn't remotely done!"

<comment><USER6> The post I was replying to claims that the game is releasing zero content. I replied with the most readily available example that it in fact is releasing content.

That _you_ are unhappy that they're making money before the game is done is another problem. I don't get why you would be; there's far less chances of the game ever being done if they're _not_ making money than if they are.

I dunno what to tell you. Don't buy the ships? I stopped buying the ships a long time ago, nobody needed to tell me to do that.

<comment><USER29> Nobody said _zero content_. The parent comment even mentions the Beta (technically, Alpha,) so it's clear they meant that no finished product is being released.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER39> Dont get your hopes up, this game is shaping to be something between Theranos and No Mans Sky (aka No Mans Gameplay[1])

Here is a critique of FPS portion from seasoned FPS player (Beagle - <USER2> ShackTac etc) [https://www.twitch.tv/beagsandjam/v/109477776](https://www.twitch.tv/beagsandjam/v/109477776)

TLDR: devs dont have any idea how FPS games work and what makes them fun.

[1] I used that sentence during the hype train and got downvoted to hell and back ;-) People are blind when they go fanboy mode.

<comment><USER6> There is a big difference between a game that was developed entirely in secret that does not live up to its hype once released, and a game in early alpha that has disappointing gameplay.

Of course, I have _no fucking idea_ why this has to be explained on hacker news, to people who most likely are familiar with the differences between an alpha-quality product and a release-quality product, so I'd love your input on that.</comment></comment>


Fix earth's climate crisis instead of dreaming of other planets - <AUTHOR> https://ecoplanetnews.com/2019/12/08/fix-earths-climate-crisis-instead-of-dreaming-of-other-planets-urges-nobel-prize-winning-astronomer/ <comment><USER2> It's important to break down unrealistic fantasies so that we don't get lulled into a false sense of security or complacency for major problems. Building a maintainable civilization outside of Earth is likely a significantly harder problem than solving the climate crisis directly.

Having said that, goals to colonize space or terraform other planets could be immensely helpful at developing technologies to deal with our problems on Earth.

I've also never come across anyone who actually has the view that we don't need to deal with climate change because we can just leave Earth. Is that actually common?

If so, we're really not doing a good job of conveying how time critical the crisis is. We don't have the centuries we'll likely need to develop self sustaining off world civilizations before civilization here starts to break down. We have decades, maybe. Even if we develop the technology fast enough, we'll probably have exhausted all the cheap energy/resources needed to deploy it at scale.

<comment><USER3> I'm not sure you're correct about colonization being harder than fixing local problems. By starting new colonies afresh, you avoid a large amount of legacy issues and political inertia.

It can be a lot easier to start a new colony than to convince everyone in the homeland to change their traditional ways.

That's one reason why I think colonization has always been on the table in the western world, with varying success over the past millennia.

</comment></comment><comment><USER3> I would suggest we maintain the one as plan A and the other as plan B, and work on them in parallel.

<comment><USER4> Sincerely, which do you think is more feasible? Reducing emissions in a number of countries you can count on one hand or moving billions of people off to another planet on technology that doesn't even exist yet?

We know the technology to reduce GHG's, it's already here. We just aren't doing it for what I think are foolish reasons.

<comment><USER5> We also know about contraception. But that isn't going to stop the population from hitting 10 billion by 2050.

The best way to solve climate crisis is to reduce world population leading to less consumption and GHG reduction.

<comment><USER4> I'm not sure that will solve it in the way you're thinking it will. The global poor are not responsible for GHG's because they don't produce it, most of the GHG (per capita and through consumption) belong to the US particularly and some European countries (Russia in particular).

</comment></comment></comment></comment><comment><USER6> This is obviously correct but HN community is in total denial about the feasibility or even usefulness of living off Earth. It would be easier to live on the bottom of the ocean or a mile underground but nobody has schoolboy fantasies about that.

<comment><USER5> We should not stop reaching for the stars. Or bottom of the ocean.

I don't understand what's stopping people from fixing the earth's climate crisis while a minuscule portion of our resources is used for space colonization.

<comment><USER6> You can't do anything like space colonization on the cheap. The current manned space program isn't very expensive in the grand scheme of things, but it's hardly space colonization. Low earth orbit is only 250 miles away. If you get started right after breakfast you can go that far on a bike.

</comment></comment></comment><comment><USER7> Oh god, not this again. I will say though, often it's the research and technology produced from space programs that pushes society forward. I'm not sure how useful it's going to be to dwell over our impact on the environment and how many gold stars we have before we can trade them in for a space mission. I also have serious reservations about humanity being in only one place, it's not a good idea to have all our eggs in one basket.

I don't see why we can't work on reducing our environmental impact, reversing damage where feasible, and funding space programs. We are capable of doing multiple things simultaneously.

<comment><USER4> I made a comment on this below, the crux of the argument of the article and the statement it focuses on isn't whether we exclude one or the other but rather a realistic assessment of the alternatives. That assessment should drive policy and focus for research which should obviously favor fixing things on Earth.

</comment></comment><comment><USER4> This is an important thing to discuss. It's sad that it's flagged here. I'm not even sure what is contentious here.

<comment><USER8> Probably because it's considered a strawman argument. Surely no one actually believes that moving off Earth is an option to solve the climate crisis.

</comment></comment><comment><USER4> Unfortunately, this sort of attitude is in line with a prevailing attitude at least in society today, that focuses on novelty over mundane things that work, maintenance, and fixing things that are broken. It's not that people who have a different perspective don't exist, it's that they don't make decisions.

</comment><comment><USER9> Sure, but "fixing the climate crisis" with engineering is also not an acceptable option for many radical ecologists. The only acceptable solution to them is to abandon technical progress and reduce population.

</comment><comment><USER10> With all of the humans emitting CO2 from their bodies right now and population increase that happens every year, dreaming of other planets might be the only alternative.

<comment><USER2> Mass depopulation is probably the only option either way. Whether it's under our control or forced upon us.

Even if we manage to colonize another world, there's no way we'll be able to scale transportation and settlement fast enough to move enough people off planet to mitigate climate change here.

<comment><USER4> This is only true if by mass depopulation you mean of specifically the US and some European countries judging by per capita GHG production.

<comment><USER2> Depends on the quality of life and final population level. Maybe our options are a billion people living in abject, third world poverty, or a few 10s of millions living a first world, middle class lifestyle. Depopulation will happen until we get to some sustainable ratio, whatever that happens to be.

How we get there might also be the opposite of what you'd expect. Maybe the poorest 6 billion die first, and the remaining rich manage to survive only by drastically ratcheting down their lifestyle. Or maybe world war 3 happens and almost everyone dies, but the small number of survivors are able to pick up the pieces and build something resembling a modern lifestyle.

<comment><USER4> I don't think you understand the situation that exists. Climate change is a problem that exists today and so is caused by current consumption levels. The global poor doesn't today produce the overwhelming amount of GHGs, the first world does through its consumption. So, if you want to depopulate anywhere to solve the current crisis, the only place you can depopulate is here.

That said, not all middle class lifestyles need be so carbon intensive. US in particular has the highest GHG per capita because of sprawl and lifestyle choices. As China and India develop (although that might take a while) we have to help encourage them to not copy the US' example but say certain western european countries which use much less GHG per capita that we in the US do.</comment></comment></comment></comment></comment>


Mittsu – 3D Graphics Library for Ruby - <AUTHOR> https://github.com/jellymann/mittsu <comment><USER2> Quite handy if you've just landed a job in a somewhat unusual 24hr bookshop.

(Explanation: [https://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Books...](https://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Bookstore) \- the protagonist writes a 3D visualisation in Ruby. It's a good read.)

<comment><USER3> Ha hahaha. Sure enough, I clicked this story b/c I was like, "Oh hey! That matches my interests!" ;)

</comment></comment><comment><USER4> You should show PNGs of the example renders, maybe APNGs / GIFs of rotation or zooming. That would make me feel like downloading it more, if it looked neat

<comment><AUTHOR> I've added a few GIFs to the README now.

<comment><USER5> Oh my, is the code for the tank example published anywhere? I didn't see anything in the examples directory but I could have missed it.

Edit: Looked through your repositories and here it is! [https://github.com/jellymann/mittsu-tank- demo](https://github.com/jellymann/mittsu-tank-demo)

</comment></comment></comment><comment><USER6> As an aside, mittsu (三つ) is the Japanese word for counting three things: [https://en.wikipedia.org/wiki/Japanese_counter_word](https://en.wikipedia.org/wiki/Japanese_counter_word)

<comment><USER7> nah thats mitsu (as in mitsubishi)

<comment><USER8> GP is correct. It's right there in the wikipedia link.

<comment><USER7> holy moly, I have forgotten more than I realised :( embarrassing

</comment></comment></comment></comment><comment><USER9> Interesting. I started my own work on something exactly like this, before giving up after realizing how poor the Ruby opengl perfomance is / how difficult proper graphics rendering can be. Nice to see some more graphics work being done with Ruby.

</comment><comment><USER10> Sorry if this is an ignorant question, but does it run in the browser?

<comment><AUTHOR> No, it runs as a desktop app in a native window.</comment></comment>


Golang last build soon to be tagged RC for Go 1 - <AUTHOR> https://plus.google.com/101406623878176903605/posts/2yjKTMTFKEr

<comment><AUTHOR> checking out from mercurial and compiling Golang from sources was too much of a barrier to make it my afterdinner play. But now is quite straightfoward to set it up: wget, untar, export $SOMEVAR, compile, run. Nice!

       > cd $HOME
       > wget http://go.googlecode.com/files/go.weekly.2012-03-04.linux-amd64.tar.gz
       > tar -xzf go.weekly.2012-03-04.linux-amd64.tar.gz
       > export GOROOT=$HOME/go
       > export PATH=$PATH:$GOROOT/bin
       > cat > hello.go

       package main

       import fmt "fmt" // Package implementing formatted I/O.

       func main() {
           fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n")
       }
       ^D

       > go build hello.go
       > ./hello

       Hello, world; or Καλημέρα κόσμε; or こんにちは 世界</comment>


3 great takeaways from Flow by Mihaly Csikszentmihalyi - <AUTHOR> http://fourminutebooks.com/flow-summary/ <comment><USER2> See my comment on your first post: [https://news.ycombinator.com/item?id=10852175](https://news.ycombinator.com/item?id=10852175)

<comment><AUTHOR> Just submitted, thanks for the tip!!</comment></comment>


Whatbrowser.org doesn't work on IE8 - <AUTHOR> https://whatbrowser.org <comment><USER2> who gives a sh!t?

</comment><comment><USER3> And?

<comment><USER4> That's the site Google points you to for more information if i.e. Google Maps doesn't load on your browser</comment></comment>


We had a unit test which only failed on Sundays - <AUTHOR> http://qntm.org/unit <comment><USER2> Once upon a time in a Fab far away...

We had received three reports over as many months of a system that failed mysteriously in a manufacturing setting. We sent a field tech out each time. He examined the system, examined logs, found that an error had happened, but found no explanation for it.

On the fourth report, while examining the system, the field tech noticed that single thread of sunlight was passing through a high window and into the viewport of the system. He immediately realized that the optical sensor on the automated arm would be spoiled by that beam had the system been operating.

We had the manufacturer cover the window, and filed it as a bug that only happens at a specific time of day in a specific season when the sun is shining.

</comment><comment><USER3> This reminds me of the case of the "500 mile email" [1]

[1] [http://www.ibiblio.org/harris/500milemail.html](http://www.ibiblio.org/harris/500milemail.html)

</comment><comment><USER4> Corner cases involving time are endless (you can use this joke for free):

\- Can your code handle a datetime if the logic expects midnight times?

\- What happens if you have a duration that starts on November 1 and ends on November 2, and the user decides to change the end time by an hour? Daylight savings?

\- If I fly from Denver to Arizona in December, how does it deal with the time zones? Oh great, you need a table.

\- What's the next business day? Another table, this time with holidays.

\- When does an all day event start? Midnight? Midnight where?

\- Pre-gregorian time? Warhammer 40K time?

Then there's platform based problems:

\- Is there an easy way to do time arithmetic?

\- Is there an easy way to extract time parts? (iOS I'm looking at you!)

\- Are time zone aware times different to UTC times?

<comment><USER5> Because of questions like these, the widest table in every dimensional model I've ever built has been the date dimension.

<comment><USER6> Yeeeep. Can be tens to hundreds of columns depending on the requirements. Fiscal years, UTC+14, holidays, etc, etc, etc.

<comment><USER5> Work days, index field for every granularity of time (for fiscal calendars that don't align to calendar granularities), day number of every time span, display fields stored in text ("I don't care about the intricacies of date formatting in locales, just make it always look like this "), abbreviations of display fields.

How about the retail requirement of capturing store open/close status for year on year comparisons? Date dimension becomes Store_Date dimension, with indicators for what to include/exclude in comparison totals?

I give trainings on dimensional modeling and query design/optimization. The vast majority of my examples are for dates, for two reasons.

1\. Everyone needs some form of date dimension.

2\. If you can solve date problems, you can apply any other logic you want trivially.

2 is not 100% true, but sometimes it seems that way.

</comment></comment></comment></comment><comment><USER7> I've come to simply expect that any code that deals with time is going to be hard to build abstractions on top of, whether it be test cases or workflows. The number of ways in which we use time is combinatorially large.

When introducing awareness of time into a system, I slow development down by an order of magnitude until I have workflows built up to deal with all the edge cases. The workflows have to be iterated on manually and slowly so the domain model can emerge.

</comment><comment><USER8> I remember a similar bug in the early 1980s when a line-of-business system went haywire every Wednesday. Every other day it worked fine.

We eventually found a maintenance programmer had changed "Wensday" in a database to "Wednesday". Unfortunately this was passed to a C char day[9], so the string had no trailing '\0'. Hilarity ensued.

</comment><comment><USER9> Related: OpenOffice won't print on Tuesdays: [https://bugs.launchpad.net/ubuntu/+source/file/+bug/248619](https://bugs.launchpad.net/ubuntu/+source/file/+bug/248619)

</comment><comment><USER10> Is this really a bad thing? If there's a bug on only one day of the week, then writing your unit test to work on the current day will actually catch that sort of bug. Whereas if you hardcode a day then it will never catch that bug. So it seems there is at least one advantage to this sort of testing in practice.

<comment><USER11> A better way to test it would be to deterministically generate the days that you want to test with. That might be one date for each day of the week, or one date for each day of the year, or some set of dates that include some normal dates and edge cases like leap days.

The problem with having non-deterministic tests is that when they break you don't know if it's because the test broke or the code broke and even if it was the code you don't know when it broke.

What if someone checked in a change that broke how things were handled on Sundays but the tests were only run on Sundays once/year? You'd have to run each build through the test suite, one by one, and you'd have to do it on that day, just to figure out which check in broke.

</comment></comment><comment><USER12> Much less interesting than I was expecting. The program under test behaved consistently; the test itself contained logic to perform a different assertion on Sundays.

<comment><USER13> but the discussion with all the other, more interesting, bugs makes up for it

</comment></comment><comment><USER14> Date/Time is a fine example of something that initially seems simple, but turns out to be exceedingly complex at times. For this reason, I usually use a proper library (like Joda Time for Java, Moment.js for JavaScript, though Java 8 has improved things a lot with the built-in APIs) when dealing with any date/time data, especially when manipulating it, i.e. finding out a duration between two dates, adding a duration to a date, etc.

Also, it's helpful if you have some sort of DateService that you can mock rather than using something like "new Date()..." in your code. The article touches on this; in general you should not have tests that rely on or deal with the current datetime as that's just asking for non-deterministic behaviour. By having your code call out to a DateService to get the current date-time, rather than creating it on its own, unit testing becomes easier.

My favourite date/time story: [http://stackoverflow.com/questions/6841333/why- is-subtractin...](http://stackoverflow.com/questions/6841333/why-is- subtracting-these-two-times-in-1927-giving-a-strange-result)

<comment><USER15> Using a library is definitely the way to go when you can. For serialization, ALWAYS use 8601.

</comment></comment><comment><USER16> Date formatting is the source of so many of these headscratchers :(

I'm reminded of the difference between 'yyyy' and 'YYYY' [https://news.ycombinator.com/item?id=8810157](https://news.ycombinator.com/item?id=8810157)

</comment><comment><USER17> If I'm parsing the article correctly (And I'm not sure I am), the test was written to care about the current day, because the code under test defaulted to the current day when no day was specified.

Someone please tell me what "should" have been done. While I recognize that unrepeatable tests can be bad, I don't see how one can test that defaulting code works correctly without messing with whatever that defaulting code relies on (in this case, the system date). I'd think I'd prefer to have some conditional logic in the test than screw with the system clock.

Then again, enough doesn't make sense here (why was this test failing?) that I'm probably misunderstanding the basis.

<comment><USER18> Our systems generally rely on a (dependency injected) 'currentDateTimeService'. In unit-tests, the currentDateTimeService is dependency-injected with a mock service, always returning the same date.

But here, I guess the better solution would be to fix the tested code: don't gracefully fall-back, but fail fast. I've seen too many places where graceful defaulting code ended up corrupting important data.

</comment></comment><comment><USER13> The funner bug is when your testers find a bug that happens when they work late (after 6pm CST) that you cannot duplicate the next morning.

<comment><USER19> I've fixed a bug that broke a web app any time the user did something after 10pm. Turns out someone had written their own date/time parser and validated the time using a regex along the lines of "^[01]?\d:[0-5]\d:[0-5]\d".

</comment></comment><comment><USER20> Wouldn't this be an integration test if it was testing a dependency? I believe unit tests should have all dependencies mocked out to tightly control the scope of that which you are actually testing.

</comment><comment><USER21> Two things I hate dealing most while developing software: graphics and date/time management. Every time a new project starts, you have to deal with the same problems over and over again..

</comment><comment><USER22> A fun one that I came across was a test (in an old rails app I was maintaining) that failed only on the 29th January in years preceding leap year.

The test was:

      Subscription.new (starts_at: 1.month.from_now).ends_at.should == 13.months.from_now

On 29th Jan 2015, 13.months.from_now is 29th Feb 2016; but 1.month.from_now = 28th Feb, plus a year gives 28th Feb 2016.

(Possible conclusion: when using activesupport-style magic date helpers, look up their exact semantics and be sure that what they're doing is what you mean them to do...)

<comment><USER23> Another possible conclusion: fix this several years from now, the first time it causes a test failure and still probably before it causes any production problems.

<comment><USER12> If you have time bugs that only manifest at the DST changeover then everyone knows why your bugs have happened and you look incompetent. I suspect this applies if subscriptions handle leap years poorly too.

<comment><USER23> My point is more that if it costs more to fix it now, than it does to fix it later (including the opportunity cost), then there is little point in fixing an extreme edge case now. Especially if it means having to understand every intricacy of every library you work with and spend a long time thinking of permutations that have little effect on the business.

It depends on the situation you are in as to whether that cost calculation works out in your favour.

It is not always that is has to always work in 100% of edge cases, all thought about up-front and with no possible bugs arising due to not 100% understanding every line of code in every library. Sometimes it makes more sense to fix a bug that happens every four years when it causes a problem. In this case the bug may manifest itself in a user potentially seeing a day off by one error on a subscription details page. In which case it may never make sense to fix that page. As the user may never look at that page, and even if they did, they may never care.

<comment><USER12> > Sometimes it makes more sense to fix a bug that happens every four years > when it causes a problem.

Sometimes yes, but you need to actually perform the risk assessment/cost- benefit analysis. Many bugs are costly enough that it's worth fixing them pre- emptively rather than always waiting for a problem to happen before you do anything about it.

</comment></comment></comment></comment></comment><comment><USER24> Related: [http://stackoverflow.com/questions/4608470/why- dec-31-2010-r...](http://stackoverflow.com/questions/4608470/why- dec-31-2010-returns-1-as-week-of-year)

</comment><comment><USER25> The article was surprisingly complicated, I was expecting something like yesterday is DAYOFWEEK(NOW())-1 which works every day except Sunday.

</comment><comment><USER26> tl;dr

Badly-written test, nothing to see here.

</comment><comment><USER27> ISO weeks run Monday-Sunday, not Sunday-Saturday.

</comment><comment><USER28> We had a test that was calculating a total value of a counter (so based on differences between counter values) for "yesterday" (as well as "today", "this week", etc). I committed code and within a few minutes get notified that my code caused a failure in this test -- unexpected as my change didn't even touch anything remotely related to this functionality.

As I start asking if anyone has any idea, someone else mentions they've seen that before too, many weeks ago, but then it "fixed itself".. Today was the 1st, and when I looked at the previous failure for this test, it was also on the 1st, but it was a couple months ago. Last month the tests were passing on the 1st. So I start to dig into it.

To put this in perspective, we had dozens of other tests that were checking the same calculation for various time spans across months (including explicitly for months with both 30 and 31 days, and February-to-March for both leap and non-leap years), and all sorts of combinations of different values, missing data, etc, that had mostly been there for well over a year. We had actually spent a fairly significant amount of time thinking about how to test this for all the different combinations of dates and data.

As it was the 1st, one of the other tests was actually running with the exact same start and end date/times as this "yesterday" test, but was passing. So I started looking at the mock data each was using.

Turns out it was in fact a legitimate bug, but only happened if it was currently the 1st, AND yesterday was not the 31st, AND there were no values at all for the current month (or anytime later).

The mock data for the "yesterday" test didn't have _any_ values after whatever yesterday was. The explicit date test for 31st-to-1st happened to have a 0 value on the 1st, which meant this bug didn't happen.

Mostly out of curiosity, I looked further back in test history. There were in fact 3 or 4 separate times this test failed, all of which were on the 1st of either March, May, July, October or December. But not _all_ of those dates -- because sometimes the 1st was on a weekend, or just no code was pushed, and no build was run.

This was also in production, but probably was never seen by any customers (none had reported it) because the "yesterday" value was only ever displayed in the UI, and most of the time data is added hourly, so by the time a user logged in on the 1st (say, 8 am), it was almost certain there was some piece of data added (even if it was 0).

We added an explicit test with the data for this situation, and of course fixed the bug.

However, this will live on as by far the most obscure time-based test failure I've ever had to deal with.

<comment><USER29> > _I committed code and within a few minutes get notified that my code caused > a failure in this test_

Forgive me as I'm coming from a .NET background where everything is tightly integration into Visual Studio, but are you not able to run your tests before committing? We are strongly encouraged to run the full test suite prior to committing any code for exactly this reason.

<comment><USER28> Yeah, and this is also .NET. I can't remember if I ran the full test suite or not (I have to admit, I don't always -- even though it's not best practice -- if it's a fairly isolated/minor change).. but in this case, due to the problem, if I had done the code change on the 30th, it would have passed at that time anyway. The nightly build (in the morning hours of the 1st) would have failed.</comment></comment></comment>


Show HN: Patronage – donation matching for small businesses - <AUTHOR> https://www.patronage.org <comment><AUTHOR> Hey everyone, founder here.

We've always done work in the social good sphere, primarily working with non- profits directly. Once we reached the point as a company where we started offering benefits, we wanted to do offer something that would stand out and attract people who value impact and giving back.

We actually tried to run a program on our own, but found that even with just 4 employees, it was surprisingly difficult. When we looked at existing software solutions, they were all expensive and aimed at enterprise companies.

From that Patronage was born, and our employees are now able to give up to $100 a month, which we match with a single credit card transaction at month's end.

Happy to answer any questions about Patronage, or about what it's like running a donation matching program.

Also curious to hear from others who've either had experience with these programs at current or past jobs, or considered starting them as a startup/small business.

</comment><comment><USER2> Not having to be the one to separately keep track of receipts between me and the HR folks sounds much saner. Just adding a charity, seeing the breakdown of how much the company would match, and then just snapping and uploading receipts as I give or a set amount to auto-deduct, then logging in and seeing breakdowns of what was given each month and totals makes it easier to see just how much I'm helping out the cause. Looks nice.

</comment><comment><USER3> Love the idea of this being a new perk for recruits/employees.</comment>


What to Do About TikTok - <AUTHOR> https://www.nytimes.com/2020/07/27/technology/tiktok-data-privacy.html <comment><USER2> First you create a problem, then you propose ways to fix it? Sure, give it a try...</comment>


Ask HN: Startups working on Hard tech problems? - <AUTHOR> Hey, I wanted to find examples of startups working on challenging tech problems, perhaps the ones you don't hear about too often.
I don't mean to put down other startups here obviously, I'd be a food to do so, considering the value that these companies add in our daily lives.
But, I wanted to find examples of companies that are trying to tap to sectors that haven't been tapped into yet and are innovating with technology instead of just enabling the industry with technology or companies that truly have a technology based IP instead of an operational IP , which can be focused purely on one sector only.
Thanks! <comment><USER2> We're shipping our first rear view and data overlay motorcycle helmets over at Skully next month: [http://www.skully.com/#smartest- helmet](http://www.skully.com/#smartest-helmet)

As far as I know, there are a few announced products in development that do this sort of thing, but we're the first out the door off a production line. I do believe we can honestly improve rider situational awareness and safety too, so we will be saving lives.

<comment><AUTHOR> Hey that's a pretty awesome product! Can definitely see the need for it, especially in developing countries where motorcycles are incredibly prominent, maybe not at that price point though. But, love the product!</comment></comment>


Ask HN: Why do you disable HTML form autocomplete? - <AUTHOR>

I've been noticing that Chrome's autocomplete does not work on <i>significantly</i> more sites than it does.  Each time I've been inspecting the HTML and sometimes its caused by unsemantic form field names, but more often it's forcefully disabled with `autocomplete="off"`.  Why are people doing this?  It's cumbersome and error prone to fill in the same monotonous information over and over, please let my browser do it for me. <comment><USER2> Recent releases of IE and Chrome now, unfortunately, ignore the "autocomplete=off" setting. Being required to fill it in each time is annoying, but it is surprisingly easy for an exploit to get the browser to cough up the credentials. So it appears that this issue will soon be moot, with all browsers autocompleting regardless.

What I do is to use 1password and paste the password in.

<comment><AUTHOR> I'm on the latest public Chrome release (39.0.2171.95) and it does not force autocomplete. I also use 1Passsword but for addresses and other non-password fields I use Chrome's autocomplete.

</comment></comment><comment><USER3> Back in the day, Opera did not care whether a form had autocomplete set to off, or even if a form was bizarrely structured, the magic wand would fill in whatever you wanted on command.

If only it didn't morph into a low quality Chrome-clone...

</comment><comment><USER4> I've seen people use placeholders to label form fields. If something got auto completed, it might contain incorrect data.

<comment><AUTHOR> Placeholders do not get submitted with forms AFAIK. So I don't see what that has to do with autocomplete.

</comment></comment><comment><USER5> Paranoia.</comment>


The NSA and Me - <AUTHOR> https://firstlook.org/theintercept/2014/10/02/the-nsa-and-me/ <comment><USER2> _The solution is not to jail the whistleblowers, or to question the patriotism of those who tell their stories, but to do what Attorney General Edward Levi courageously attempted to do more than a third of a century ago – to have the criminal division of the Justice Department conduct a thorough investigation, and then to prosecute any member of the intelligence community who has broken the law, whether by illegally spying on Americans or by lying to Congress._

Until the guilty are prosecuted, there won't be any real change in the way that the U.S. intelligence agencies operate. Half-measures and bullshit platitudes from the powers that be are insufficient. Justice must be served, and if necessary, people need to go to jail.

<comment><USER3> > Until the guilty are prosecuted, there won't be any real change in the way > that the U.S. intelligence agencies operate.

I disagree. There will be changes, but for the worse.

Because now those running the programs have a real world validated proof that people don't care and there are no consequences. So that is a good signal to crank up the level a few notches.

<comment><USER4> I think it's worse than that. Many people _do_ care, in the opposite way that we think they should. There are a lot of people who outright approve of these programs because they think they're necessary and that they help keep us safe.

I personally think that all the outrage at the government is misplaced. They are ultimately just doing what the people want. The US isn't groping airline passengers and holding terror suspects for years without trial and torturing people for information and spying on its own citizens because the government is running out of control and the people can't reign it in. They're doing these things because "the people", as a whole, _want_ it. _Demand_ it in many cases.

If we want change, we must convince the population of our views. The rest will follow naturally if that can be done. No, I have no idea how.

<comment><USER5> The government _may_ be giving people what they want, but it also knows how to convince people to want what they get.

<comment><USER4> That's true, that's the other side of the coin. Still, I think trying to change government without first changing the people is futile.

</comment></comment></comment></comment></comment><comment><USER6> _" Despite the threats, I refused to alter my manuscript or return the documents. Instead, we argued that according to Executive Order 12065, "classification may not be restored to documents already declassified and released to the public" under the Freedom of Information Act. That prompted the drama to move all the way up to the White House. On April 2, 1982, President Reagan signed a new executive order on secrecy that overturned the earlier one and granted him the authority to "reclassify information previously declassified and disclosed.""_

This is truly frightening stuff.

The NSA is above the law. Even when they're not; they have the power to change the law.

</comment><comment><USER7> I just want to point out that the real issue then and these days, is the potential compromise of the DoJ. In my mind, the level the 3 letters have risen to in the beltway and across the nation fundamentally undermines the justice system, and that includes SCOTUS. I don't know how much of the lack of will to prosecute is incompetence (Hanlon's razor), fear of bribery, blackmail, loss of financial gain or loss of power/position, though I have my ideas about how to find these things out, the bottom line is that the system doesn't work properly.

I am a USMC Iraq combat vet (most of my time was during the "surge"). I spent most of my years since I got out trying to follow the strands up the chain to figure out what went wrong, and quite frankly, every single branch of government, including the fourth estate, has been compromised by the security state aka the military congressional corporate industrial complex. The executive is compromised, justice is compromised, the legislative is compromised.

Nobody wanted to hear my rants on the NSA pre-Snowden. Now they don't want to hear me explain the why, and get too caught up in the how.

My real problem is that none of these concerns are being addressed in any meaningful way by any of the people at the top. If the transition from nation- state security matters to single-actor threats is as insidious as the security apparatus purports it to be, they should explain their logic. So far though, it seems they have decided to undermine in a very conscious manner the constitution of the United States of America, without so much as notifying the American public.

</comment><comment><USER8> Shocking stuff. I don't think it's an exaggeration at this point to say that politicians are afraid of opposing an organization that knows their, and everyone else's, secrets. And so they continue operate as they like.

<comment><USER9> It's almost certainly more complicated than this. The NSA is scary, but it's also not a revenue producing part of the government, and therefore it must justify its existence in the budget every year. Lawmakers therefore must be doing some sort of cost/benefit analysis and have determined (perhaps by looking at the NSA's secret output) that the cost is worth it.

tl;dr: If Congress wanted to chastise the NSA, all they have to do is _not fund it_.

<comment><USER10> This is exactly backwards. No politician cares about revenue-producing parts of the government; those things take care of themselves. They care about the really spendy parts, preferably those that spend all that money in a few big opaque unauditable chunks. Like the military, or espionage. That way, they know they'll have the leverage they need to make sure large chunks of those chunks eventually get back to them or their PACs.

That's [another, besides GP's] reason why Congress would never choose to chastise NSA.

<comment><USER9> If what you're saying is true, then it is (dis)provable. There must be ample evidence of what you're talking about, as the votes themselves are public, and resource allocation by geography is (probably) also public information.

I would argue that if you cannot prove it, then you should consider whether or not the assertion is coming more from a negative, cynical sentiment than from any real fact.

<comment><USER10> I'm not sure what you're asking for here. Is it a problem for my theory that "intelligence kickbacks" isn't a category at:

[https://www.opensecrets.org/lobby/top.php?indexType=i&showYe...](https://www.opensecrets.org/lobby/top.php?indexType=i&showYear=2013)

These people are unaccountable ghosts; there's nothing to stop them from masquerading as anything from "retail" to "misc manufacturing" to "pharma". But back to your theory. What about "revenue producing" parts of the government (which is what, the IRS?) would cause them to loom larger in a politician's thinking than the sums of money recorded on the linked page?

</comment></comment></comment></comment></comment><comment><USER11> "But then the NSA got its revenge—when they handed me the 6,000 pages, they were all out of order, as if they had been shuffled like a new deck of cards"

A good occasion to practice one of those n log n sorting algorithms manually.

<comment><USER12> I do not think pages were numbered 1-6000. I think there were multiple documents, so you would need to do something like:

1\. Split all the pages into piles for page 1, page 2, page 3, etc...

2\. Look at highest page pile first, because it would have least number of documents, work backward through page piles searching for matching previous page until you extract all of the pages[0] for that document.

[0] If pages were heavily blanked out, identification might have been difficult.

<comment><USER13> Today we'd run them through a portable scanner, upload the individual PDFs to a crowd source site, and have the proper order in under a day.

<comment><USER14> Not if they stick you in a room and say "none of these documents can leave," which is what it sounds like happened here.

<comment><USER13> Tethering/Hotspot + EyeFi Wifi-Enabled SD card.

It's possible the room is a faraday cage, but not likely.

<comment><USER15> Back then it wasn't likely. Today? If the NSA has secure rooms for viewing confidential documents that can not leave the room? It seems pretty darn likely it is a faraday cage. You think they don't know what they're doing? Or don't have the money in their budget?

<comment><USER13> > You think they don't know what they're doing? Or don't have the money in > their budget?

Budget? Yes. I don't dispute that. Know what they're doing? Clearly they don't.

<comment><USER15> so we got nothing to worry about?

<comment><USER16> We have everyting to worry about. Would you feel safe/confortable with a toddler waving a fire arm on your face?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> This story probably only hints at the truly terrifying power that the NSA can bring to bear. I do not think anyone is disputing the need to collect intelligence but the scale and scope of the NSA's no-holds-barred all the information all the time approach needs to be reigned in.

At this point (ironically) it may be fair to start treating them as one of the biggest threats to the functioning of democracy in the US.

Not terrorists, not violent militia, not soft money, not Income inequality - but an agency with virtually unchecked powers, opaque budget, no due process that Govt. Officials themselves daren't speak against for fear of embarrassment or worse.

<comment><USER18> For far more than a hint, I recommend reading all four of James Bamford's books.

</comment></comment><comment><USER19> Don't miss the link to the actual document, if you are curious.

[https://firstlook.org/theintercept/document/2014/10/02/repor...](https://firstlook.org/theintercept/document/2014/10/02/report- inquiry-cia-related-electronic-surveillance-activities/)

<comment><USER20> & the PDF is here: [https://s3.amazonaws.com/s3.documentcloud.org/documents/1304...](https://s3.amazonaws.com/s3.documentcloud.org/documents/1304974/report- on-inquiry-into-cia-related-electronic.pdf)

<comment><USER21> And the "prosecutive summary":

[https://s3.amazonaws.com/s3.documentcloud.org/documents/1304...](https://s3.amazonaws.com/s3.documentcloud.org/documents/1304973/prosecutive- summary.pdf)

</comment></comment></comment><comment><USER22> I recommend his book "The Puzzle Palace" my wife originally read it as part of a class on espionage in college and passed it on to me to read.

<comment><USER23> Have you not at all read the linked article? It _is_ about this book.

</comment></comment><comment><USER24> If you're interested in more recent aerial imagery of the Sabana Seca site, you can see it on Google Maps here: [https://goo.gl/maps/PJuAd](https://goo.gl/maps/PJuAd)

</comment><comment><USER25> To think if someone was to go up against the NSA today in a similar fashion, they would be in jail. Unless they were able to escape the country to hide out somewhere like say... Russia.

</comment><comment><USER26> So has every one here just put a giant target on their back for reading this?

<comment><USER26> Not sure why I was downvoted here. Maybe this was interpreted as snark. I assure you that it was not. I am genuinely concerned that reading about snowden and NSA issues "flags" me and puts me on a list. I Don't feel like I've anything to hide, but it seems that the NSA wants this to go away. Maybe I'm paranoid.

<comment><USER4> You get put on a list, then what?

If they were sending people off to concentration camps, I'd be cautious. As it is, I'd be _proud_ to be on some NSA list. Come on, let's do it, NSA. What exactly are you going to with me on such a list, browse my porn?

<comment><USER26> I can see where you are coming from with that sentiment, kind of "they can't arrest everyone". I guess what scares me is if things do escalate to a tipping point life could really suck for the group that gets targeted. I even generally think that the NSA is mostly filled with good people that want to do public good. As big as snowden and the evesdropping story got, I still think that most of the mainstream public thinks snowden did something WRONG akin to espionage. Its one of those things that when reported on your average news channel is easy to dismiss as just some rogue bad actor with an ax to grind. The more I think on this the more I am blown away at what he did. This guy DID put a target on his back. He exiled himself from his life over this. I wouldnt be surprised if he was on a hit list. I think of having to be in his shoes, and dont think I would have that same courage.

<comment><USER4> Sure, but my point is that we're nowhere near Snowden. I wouldn't want to be him, but to be the guy who gets put on some list with a million other people for reading and discussing an article that's critical of the NSA? Bring it on.

</comment></comment></comment></comment></comment><comment><USER27> > The agency's metadata collection program now targets everyone in the country > old enough to hold a phone. The gargantuan data storage facility it has > built in Utah may eventually hold zettabytes (1,000,000,000,000,000,000,000 > bytes) of information. And the massive supercomputer that the NSA is > secretly building in Oak Ridge, Tennessee, will search through it all at > exaflop (1,000,000,000,000,000,000 operations per second) speeds.

What? These numbers are clearly wrong.

<comment><USER28> > "may eventually"

That suggests a "Drake Equation" type estimate, probably something similar to:

        density = current_disk_density * moores_law * official_estimate_of_project_lifetime
        total = building_area * density * "round up for reporters/management" * propaganda multiplier
        round_up_to_next_si_prefix(total)

The actual value is probably somewhere between "current (much smaller) need" and "how much do we need expand the budget", both of which are far smaller than those numbers.

</comment></comment><comment><USER21> Fascinating article.

I was intrigued by the mention of the "Black Chamber," alias the Cipher Bureau and the predecessor of the NSA. Looking it up, I was further intrigued by mentions of institutional cryptography in Elisabethan England and so on. If I'm interested in this at a purely layman's level (I'm more into the history than the practical implications today) what books or essays would you recommend my reading?

<comment><USER29> The Codebreakers: The Comprehensive History of Secret Communication[0] by David Kahn is probably the best book in this area. Be warned it sits on many bookshelves but due to its length few are the number that have finished it, none the less it is an extremely rewarding read. It has oddles and oddles of stories about cryptographers you have never heard of doing awesome things, including the history and personalities behind many of the Black Chambers of Europe.

It puts the Code Book to shame.

[0]: [http://www.amazon.com/The-Codebreakers-Comprehensive- Communi...](http://www.amazon.com/The-Codebreakers-Comprehensive- Communication-Internet/dp/0684831309#)

<comment><USER16> $55 - Kindle price? $20 more than the paper version? Nice try, amazon!

</comment></comment></comment><comment><USER30> In case anyone else is curious, the "elephant cage" mentioned is a Wullenweber antenna[0].

[https://en.wikipedia.org/wiki/Wullenweber](https://en.wikipedia.org/wiki/Wullenweber)

</comment><comment><USER31> nice. Everybody of course knows (at least deep inside oneself if the one is too obtuse to acknowledge it publicly) that, starting from the ancient times, all the encrypted communication stuff around has always been backdoored, yet seeing actual confirmation is always assuring :

"Others contained clues to a secret trips that Friedman had made to Switzerland, where he helped the agency gain backdoor access into encryption systems that a Swiss company was selling to foreign countries."

<comment><USER32> Switzerland, crypto devices headed to foreign countries, NSA backdoor? Must be Crypto AG ([https://en.wikipedia.org/wiki/Crypto_AG#Back- doored_machines](https://en.wikipedia.org/wiki/Crypto_AG#Back- doored_machines))

<comment><USER31> double nice:

"The owner(s) of Crypto AG are unknown, supposedly even to the managers of firm, and they hold their ownership through bearer shares"

<comment><USER33> They also have no money issues, ever. No, no citation available, sorry.

</comment></comment></comment></comment><comment><USER34> Not an actual democracy.

<comment><USER35> Never was.

</comment></comment><comment><USER36> Since the NSA is the most secret agency in the world, how does anyone know anything he says in this article is true?

<comment><USER37> Trivially easy. If you want to believe it, it's true. If you don't want to believe it, it's false.

<comment><USER38> hahahahaha. No. Documents. Snowden. Good try though...

</comment></comment></comment><comment><USER39> To steal a line from Mulder (The X-Files)

"And they call me paranoid."

Glad my phone, and my messages are encrypted. Filevault on my laptop.

<comment><USER40> They can get into the phone through the baseband. Its not safe to assume its secure vs. targeted surveillance.

A good discussion is here: [https://news.ycombinator.com/item?id=7062489](https://news.ycombinator.com/item?id=7062489)

<comment><USER41> A great starting point is asking how many general purpose computers are on your phone. My count is currently 2-4. Your primary OS, the one you interact with. The radio baseband, which you don't have control over. Your SIM card which can speak to the baseband without your primary OS. Lastly depending on your storage, (SD Card) may have it's own cpu, but this (I don't believe in general) can be accessed by the baseband or sim card without passing through the primary os.

<comment><USER42> I've been thinking lately about a way to address this: get a "phone" with no cell hardware, and pair it with a cellular/WiFi bridge such as MiFi. Get internet-based replacement services for voice calls and texts. Now you have one less undocumented interface or super-privileged CPU to worry about.

There's a lot of practicality questions in terms of battery life, expense, convenience to carry around, but for certain security scenarios it seems like a step forward.</comment></comment></comment></comment>


Yahoo Stockholders Approve Sale of Yahoo's Operating Business to Verizon - <AUTHOR> https://finance.yahoo.com/news/yahoo-stockholders-approve-sale-yahoo-161700822.html <comment><USER2> And the real winner...

 _In unrelated news, Yahoo also voted today to approve the final compensation for its executive team. Marissa Mayer, Yahoo's outgoing CEO, stands to make $186 million from the sale. During her five-year tenure as CEO, she made a number of dubious moves, like a $1.1-billion acquisition of Tumblr and paying a teenager $30 million for an app with no underlying technology or code._ [1]

[1] [https://www.yahoo.com/tech/verizon-finalizes-yahoo- acquisiti...](https://www.yahoo.com/tech/verizon-finalizes-yahoo-acquisition- instantly-starts-laying-people-183434808.html)

<comment><USER3> I am curious to know of the product the teenager sold.

<comment><USER4> They wanted a piece of SRI international, the company that licensed Siri.

"Though Summly's own Web site once said: "SRI International, with the help of the Summly team, built the summarization technology behind Summly," we are told that D'Aloisio "invented" the product's original technology."

"And indeed, inside Yahoo, Summly is called "Yahoo's Siri."

"Further, D'Aloisio deserves credit for outsourcing technology development and app development to the right firms, and coalescing their work into a product that made him millions."

He's either really smart to set up the right branding and licensing deals, really lucky to have made the perfect business relationship for a future acquisition, or was set up by someone in the know for a fat payday. My guess is all three. Lucky kid.

[1]: [http://www.businessinsider.com/why-marissa-mayer- bought-a-30...](http://www.businessinsider.com/why-marissa-mayer- bought-a-30m-startup-2013-4)

<comment><USER5> It's most likely the last one. He was the "good PR piece" part of the deal.

</comment></comment></comment></comment><comment><USER6> .....And now the layoffs start

> SVP of Mobile and Emerging Products Adam Cahan, is on the way out

> CISO (information and security officer) Bob Lord is out

[https://techcrunch.com/2017/06/08/confirmed-verizon-will- cut...](https://techcrunch.com/2017/06/08/confirmed-verizon-will-cut-15-of- aol-yahoo-staff-after-merger-closes/)

Up to 2100 people about to be let go, 1000 from the old Yahoo, though most will be in groups that are no longer needed like HR, finance and general administration

I found this to be interesting.....

> The digital media operation will be known as Oath, but the Yahoo and AOL > brands won't go away.

So they are re branding the combined companies into a brand called Oath, but still keeping hte AOL and yahoo names? I'm confused.

<comment><USER7> It's like the Alphabet and Google relationship, where Oath is Alphabet and AOL & Yahoo are Google

</comment></comment><comment><USER8> This is sad. For companies like Yahoo and AOL, I wish I could just take their messenger properties, AIM and Messenger and make an advanced messaging application with the latest encryption technologies, self hosted/federated, and open source. I know there isn't money in that market, but I would just love to simply resurrect those applications.

</comment><comment><USER9> The disclaimer is twice as long as the news announcement.</comment>


Show HN: Svgurt – Transform images into SVGs - <AUTHOR> http://svgurt.com <comment><USER2> This (specifically an OSS bitmap to vector tool) has been needed for literally years now. Well done.

A suggestion: have one of the demo outputs be less stylised - eg more of a line trace style.</comment>


A Great User Onboarding Process Flow Creates Happy Users - <AUTHOR> https://hackernoon.com/a-great-user-onboarding-process-flow-creates-happy-users-8e4e730aa627 <comment><USER2> I worked as an engineer at my previous company, where I was responsible for optimizing the onboarding flow. Existing onboarding flows often discard the fact that onboarding is a continuous process, not something that just happens during the first session. This was a problem we encountered, too. My team and I built an in-app bot to tackle this. It works "out of the box" with Intercom, Segment, and Mixpanel data. I'd love to get your feedback - [https://onboarding.traitly.com/](https://onboarding.traitly.com/)

</comment><comment><USER3> This list of onboarding-reviews is still fascinating, years after it was produced:

[https://www.useronboard.com/user-onboarding- teardowns/](https://www.useronboard.com/user-onboarding-teardowns/)

<comment><AUTHOR> I love that site! So informative and humorous at the same time.</comment></comment>


Ask HN: How you decide when to fire a person? - <AUTHOR> <comment><USER2> Only for serious transgression -- violence in the workplace, theft of company property, repeatedly showing up drunk/high.

Otherwise, lots of things can be going on in someone's life that can cause them to suck at their jobs for a while.

And long before actually firing them, it's better to see if maybe they fit better somewhere else in the company. Possibly at a lower pay rate.

And if even _that_ doesn't work -- they should be advised that their job is in jeopardy and given an opportunity, on company time, to seek other employment (it's easier to get a job if you already have one).

Be kind.

You never know when the toes you step on today are attached to the ass you have to kiss a decade hence.

</comment><comment><USER3> A few things that instantly come to mind:

1.) When they are not, and have not been, performing their job at a level that justifies their compensation.

2.) When they have a negative impact on the team (rude, pessimistic, etc.)

3.) When it has been determined by the company that it is better off without that individual.</comment>


Meebo Just May Be This Year's Twitter - <AUTHOR> http://www.businessweek.com/the_thread/techbeat/archives/2008/03/meebo_just_mayb.html?campaign_id=rss_blog_techbeat <comment><USER2> I thought Twitter was this year's Meebo...

[http://siteanalytics.compete.com/meebo.com+twitter.com/?metr...](http://siteanalytics.compete.com/meebo.com+twitter.com/?metric=uv)</comment>


Show HN: LanguageModels.io - <AUTHOR> http://languagemodels.io <comment><USER2> I'm not sure how these "language models" perform. I went to the Bosnian model, but for some reason I got a demo that could analyze Danish? The site does not mention anything about the performance of the models. (At least I could not find that information)</comment>


A fast, parallel backtracking algorithm for n-queens implemented in Rust - <AUTHOR> https://github.com/reem/rust-n-queens <comment><USER2> I recommend looking at the WorkQueue [1] for better parallelism performance on problems like these. It's not upstreamed to the Rust core distribution yet, but it's fairly solid at this point, as it's the main parallelism workhorse for Servo.

One of the nice things about having low-level memory management and well as feature-rich generics in Rust is that we can come up with parallel primitives that are tuned to the problem at hand. For example, like parallel web page layout, I suspect that any parallel primitive that needs to allocate anything is going to be too slow to achieve any gains on this problem—it rules out threads, coroutines, etc. You need a super-lightweight primitive instead.

[1]: [https://github.com/mozilla/servo/blob/master/src/components/...](https://github.com/mozilla/servo/blob/master/src/components/util/workqueue.rs)

<comment><USER3> > I suspect that any parallel primitive that needs to allocate anything is > going to be too slow to achieve any gains on this problem

Even by using TLS instead of the global heap?

<comment><USER2> Any decent multithreaded allocator (like the one in glibc) is going to basically make those equivalent, and if the parallel version is 10x slower than the sequential one then I suspect most of the overhead is in allocating stacks. You could try tcmalloc/jemalloc but I suspect you won't see huge gains—the overhead of allocation in general (cache pressure, etc.) seems to be swamping any gains.

</comment></comment></comment><comment><USER4> The algorithm implemented here appears to be based off of this paper: [http://www.cl.cam.ac.uk/~mr10/backtrk.pdf](http://www.cl.cam.ac.uk/~mr10/backtrk.pdf)

The paper goes into far more detail than the comments in the code.

</comment><comment><USER5> Wow, that is amazingly compact. Without comments the main function is only 12 lines.</comment>


Debian Handbook for Debian 10 Buster - <AUTHOR> https://debian-handbook.info/browse/stable/ <comment><USER2> In terms of linux documentation, generally, I have two recommendations. One, install Arch Linux in a VM and mess around with it a bit. Not because I particularly like it, or use it for any production purposes. But because the Arch wiki is such a wealth of information on individual daemons and subsystems.

Secondly, make use of the Arch wiki. By knowing at least the basics of how Arch is organized, you can better discern what technical reference material is unique to specific quirks of arch, and what is general to the same daemons running on debian or centos (postfix or dovecot, for instance).

examples of generically useful reference:

[https://wiki.archlinux.org/index.php/Network_Time_Protocol_d...](https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon)

[https://wiki.archlinux.org/index.php/Postfix](https://wiki.archlinux.org/index.php/Postfix)

[https://wiki.archlinux.org/index.php/Systemd](https://wiki.archlinux.org/index.php/Systemd)

<comment><USER3> I installed arch, and it was so much faster that it is now my favorite distribution.

Ubuntu by comparison is a slow intrusive distribution.

I do use debian-ish by way of raspbian.

<comment><USER4> Whether a distro will seem "slow" or "fast" is almost entirely down to which desktop is installed by default on that distro. But users should know that they are not limited to that default desktop, and they can just type a few commands and switch to some lighter desktop if their hardware doesn't smoothly run the default. Therefore, it is rather a waste of time to completely switch to a different distro just for the sake of speedups.

<comment><USER3> i had gnome on ubuntu and gnome on arch, and arch was _significantly_ faster. I should try a debian install.

<comment><USER5> Probably the background services and the fact that Arch doesn't come with AppArmor or SELinux running OOTB.

</comment></comment></comment></comment></comment><comment><USER6> Debian used to be a necessity. The informational complexity of an OS installation was defined by the skill of the package managers. You would rely on them to make smart decisions, which would be codified in the _debian /_ directory alongside the original source, in the dpkg sources themselves.

All that feels by the wayside nowadays. The _information_ about my site installation is all in a set of ansible playbooks. They could blast their way through an installation of any modern Linux OS and the result would look like an horrendous mess to a sysadmin from the 90s, but who cares? It's still as reproducible as the carefully tended garden that was a Debian installation of the old days, but with the advantage that whenever the install drifts into instability you can just nuke everything and rebuild from scratch.

In fact, it's all so automated, if you aren't regularly blasting everything away and reinstalling, you're doing it wrong.

No longer do I have a gigabyte or more of backups representing my ossified Debian install as a fallback. Instead I have a few kB of YAML and ansible to build everything.

Case in point. Debian 10 ships with LXC 3. If I want LXC 4 I just script the build and installation. The script is what needs backing up. The OS is disposable. In the past I might have taken care to ./configure to install in /opt but why bother? It's more work (LD_LIBRARY_PATH needs setting) so just blast it into /use/bin and don't lose sleep over treading on Debian's carefully pedicured toes. If it doesn't work out, reimage and try something else. It's wonderfully transient.

I miss the old days, but I embrace the controlled chaos, volatility, and dynamism of the future. I can do what I want instead of what, in the last, was carefully curated for me by expert Debian maintainers. A bazaar to their cathedral, sort of.

<comment><USER7> Debian adds a lot of value in tracking and patching security issues.

Debian adds a lot of value in dependency management.

Debian adds a lot of value in community.

All of these things can and are done by other organizations, but Debian is definitely doing it.

<comment><USER8> Debian adds negative value on security issues. The Debian ssh key vulnerability was among the worst vulnerabilities ever seen in general-purpose computing, and also a predictable result of Debian policies which remain in place to this day. It will happen again sooner or later.

<comment><USER9> The ssh key vulnerability was as much a fault of the upstream as it was Debian: the Debian maintainer who made the patch explicitly asked the OpenSSL mailing list if it was okay, and they indicated at least acquiescence in the change.

Given that upstream OpenSSL itself would have the Heartbleed bug revealed a decade later, with all the revelations of its source code quality made more notable as a result, I'm willing to place more blame on OpenSSL than Debian here.

<comment><USER8> > The ssh key vulnerability was as much a fault of the upstream as it was > Debian: the Debian maintainer who made the patch explicitly asked the > OpenSSL mailing list if it was okay, and they indicated at least > acquiescence in the change.

IIRC they asked a list that was not the main project list and not intended for security-critical questions. Code that actually goes in to OpenSSL gets a lot more scrutiny from the OpenSSL side, and other big-name distributions either have dedicated security teams that review changes to security-critical packages, or don't modify upstream sources for them. Debian is both unusually aggressive in its patching (not just for OpenSSL; look at e.g. the cdrecord drama) and unusually lax in its security review.

> Given that upstream OpenSSL itself would have the Heartbleed bug revealed a > decade later, with all the revelations of its source code quality made more > notable as a result, I'm willing to place more blame on OpenSSL than Debian > here.

Heartbleed was a much more "normal"/defensible bug IMO. Buffer overflows are a normal/expected part of using memory-unsafe languages; every major C/C++ project has had them. Not using random numbers to generate your cryptographic key is just hilariously awful.

</comment></comment></comment></comment></comment><comment><USER10> Direct link to online version (as I had to click on three different links to get to it): [https://debian-handbook.info/browse/stable/](https://debian- handbook.info/browse/stable/)

<comment><USER11> That's probably on purpose so you make a donation.

<comment><USER12> I can live with that.

I think of you are benefiting from a FOSS project day on and day out, donating "one cappuccino" once in a while would not be a major spending decision.

<comment><USER13> How many "cappuccinos" do you spend on closed software? Why do you spend less on software that gives you additional rights?

<comment><USER12> Cappuccinos are not the upper limit.

It's just a good start.

</comment></comment></comment></comment></comment><comment><USER14> I thought the effort behind this book died, given the lack of one for Debian 9. This was always an excellent resource for me in the Debian 6-8 days, and I'm glad to see it back!

Nitpick: the cover still says "Debian Jessie"

</comment><comment><USER15> I tried to use this handbook yesterday to answer the question: "how do I start the SSH server on Debian?" and I couldn't answer it. Compare this to something like the FreeBSD handbook [1], where the information is very easy to find.

[1]: [https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/](https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/)

<comment><USER16> I'd imagine it doesn't cover that specifically because almost all services start automatically when they're installed on Debian.

<comment><USER17> It doesn't cover it generally, either. What you have just stated appears nowhere in the headlined _Handbook_.

</comment></comment></comment><comment><USER18> I've been using Debian for about 4 years now. Before that I was a Ubuntu user. Before that, Windows. Never looked back. Great distro. Highly recommend it.

<comment><USER12> What are your thoughts on Ubuntu vs Debian with respect to functionality and he support (laptops in particular)?

I have used Ubuntu at work and in home for a while now and things have been surprisingly free from hassles. I don't mind moving to Debian if things work as smooth as now.

<comment><USER19> From my experience, as long as you choose the "nonfree" ISO [1] to install Debian from, you should be fine. On the default "free" iso my Wi-Fi didn't work while on the nonfree ISO everything was fine out of the box. Debian these days also has the "live and nonfree" ISO so you can test everything out before installing.

[1]: [https://cdimage.debian.org/images/unofficial/non- free/images...](https://cdimage.debian.org/images/unofficial/non-free/images- including-firmware/)

<comment><USER18> This! Some computer have proprietary parts like modens and graphics card. Non- free takes care of all that.

<comment><USER12> How much non-free would one need on something like a Thinkpad? I guess the wifi chip, what else?

<comment><USER18> I've been owing Dell for quite some time now, and on Dell machine you need it for the wi-fi and graphics cards (if they have a nvidia, for instance). Don't know much about thinkpads, sorry. But, people lots of people from /g/ use it, and they usually use Gentoo, meaning they compile it from source (almost).

You can use the free version of Debian and install what you need later. But as I was saying, if you're installing on a laptop with no ethernet cable, non- free is the way to go.

</comment></comment></comment></comment></comment></comment><comment><USER20> Complementary to this handbook, if you maintain one or more debian servers it is useful to learn and adopt a configuration management tool -- assuming you are not already using another state management technique that gives you even more control.

The time invested to learn and automate repetitive configuration or admin tasks (upgrades, installing dependencies, deploying a new version of your app, etc) through ansible and ansible-playbook pays for itself pretty fast. For common tasks there are often high level modules that provide a simple declarative interface to non-interactively configure the desired state compared to using the underlying command line tools directly. E.g.. installing/upgrading packages with apt: [https://docs.ansible.com/ansible/latest/modules/apt_module.h...](https://docs.ansible.com/ansible/latest/modules/apt_module.html#examples)

</comment><comment><USER21> This seems really useful!

Related question for all debian people I guess will visit this page: Is there a version of this for all the small stuff in debian?

Background: A few days ago I installed debian under WSL. Normally I used to install Ubuntu.

I've set it up to be comfortable (bash completion etc,) but I think someone here mentioned some other guide or something for setting up debian machines, this handbook seems to be more about large systems administration and less about configuring it as a developer workstation.

(I also did some cursory searching on this to see if I could find something about vadh completion in this handbook, but couldn't find it.)

<comment><USER14> Debian has ~60,000 packages and it'd be pretty impractical-to-impossible to cover them all in a single book. This handbook is about the really common tasks--even most of the specifics it goes into, such as with mail servers, LDAP, etc, they have alternative packages and implementations in Debian that aren't covered.

Thankfully, most packages are very well-documented, you can usually browse around /usr/share/doc/$PACKAGE to see the upstream documentation and possibly any Debian-specific information. HTML and PDF versions of documentation tend to be in an independent $PACKAGE-doc package, so as to keep the main package rather small.

<comment><USER22> odd, I find the docs to be routinely missing, often substituted by a some kind of shell text file with a gz compression on it (?)

first look on an old system:

      /usr/share/doc/amd64-microcode
      /usr/share/doc/anacron
      /usr/share/doc/apache2
      /usr/share/doc/apache2-bin
      /usr/share/doc/apache2-data

all fit that pattern

<comment><USER23> gzipping documents is a long tradition. Most common text reading tools (cat, more, less, grep, diff, and some more) has "z" variants which work on gzipped files directly, without ungzipping them.

Most of the tools bigger documentations come in man and info files. If there's an even bigger, additional documentation, it comes with -doc package (like apache2-doc).

Otherwise every package comes with some basic documentation and Debian specific changes file, most of the time.

Debian's specifics on packaging is very strict. You just cannot package something and publish in the main repo.

<comment><USER24> It was always somewhat annoying though, particularly when it broke inter- document links, and it was a legacy of older times. Today, it's way past time to drop individual file compression. I mean, we have transparent compression with systems like ZFS, so there's no penalty to pay by half-assing it with gzip.

<comment><USER23> If Linux was a big-iron only OS, I could happily agree but, this stubborn thing works from Raspberries to mainframes and everything in between. So it's not always possible to run it on a CPU which can drive an ZFS on a multi-disk enclosure.

I'd rather have individually compressed files instead of running a heavier FS layer with smaller/less powerful systems.

</comment></comment></comment></comment></comment></comment><comment><USER25> I got curious to know how it was published. I see that it has been published using publican.

I looks like the source is all in xml. Are these hand written in xml or there is some kind of UI to write? Writing everything in xml looks painful.

<comment><USER17> It isn't painful. I do doco in DocBook XML myself. I write it with a text editor and view it with a WWW browser or (when I am using a terminal) a TUI DocBook XML viewer that I wrote.

Too-little known fact: with a small amount of CSS, mainstream WWW browsers can view most DocBook XML directly. Witness:

* [http://jdebp.uk./Softwares/nosh/guide/commands/linux-vt.xml](http://jdebp.uk./Softwares/nosh/guide/commands/linux-vt.xml)

* [http://jdebp.uk./Softwares/nosh/guide/commands/linux-console...](http://jdebp.uk./Softwares/nosh/guide/commands/linux-console.xml)

* [http://jdebp.uk./Softwares/nosh/guide/commands/console-docbo...](http://jdebp.uk./Softwares/nosh/guide/commands/console-docbook-xml-viewer.xml)

</comment></comment><comment><AUTHOR> If you (like me) enjoyed the previous version, which discussed Debian 8 Jessie, and are mostly interested in checking out what's new, the commit history might be a good place to start: [https://salsa.debian.org/hertzog/debian- handbook/-/commits/b...](https://salsa.debian.org/hertzog/debian- handbook/-/commits/buster/master/en-US)

</comment><comment><USER26> so, does anyone even use Debian anymore? And if you do, what for (no, rPIs don't count)

</comment><comment><USER27> 1st order of business if you're looking into Debian Buster:

Install Devuan (www.devuan.org) Beowulf instead. It's Debian Buster without systemd. Almost all of the administrator's handbook applies verbatim.

If enough of the Debian usersbase chooses Devuan, its minor diffs will probably be implemented in Debian mainline and we can get past this sad affair.

<comment><USER16> Couldn't you just install Debian, choose sysvinit and uninstall systemd?

Also, I personally won't be dropping systemd any time soon because the alternatives on Debian are:

Go back to Sysvinit and have to write sysvinit scripts myself; or

Use some even less common init system and have no package provided init scripts/units/what have you.

<comment><USER17> One system has, at last count, over 600 provided service bundles in a Debian package. (It's somewhere around 670 in the development version.) These range from "accounting" through "keepalived" and "swift@container-auditor" to "ypbind".

* [http://jdebp.uk./Softwares/nosh/debian-binary-packages.html#...](http://jdebp.uk./Softwares/nosh/debian-binary-packages.html#Bundles)

One can also pull in other people's run program collections, of which the world has several.

* [http://jdebp.uk./Softwares/nosh/guide/creating-bundles.html](http://jdebp.uk./Softwares/nosh/guide/creating-bundles.html)

And there's a handy tool for what's left.

* [http://jdebp.uk./Softwares/nosh/guide/commands/convert-syste...](http://jdebp.uk./Softwares/nosh/guide/commands/convert-systemd-units.xml)

* [http://jdebp.uk./Softwares/nosh/worked-example.html](http://jdebp.uk./Softwares/nosh/worked-example.html)

Note, for the sake of completeness, that van Smoorenburg rc scripts changed format on Debian back in 2014. Most of the boilerplate has been eliminated, and writing them is a lot closer to how would would write a Mewburn rc script on FreeBSD/NetBSD or an OpenRC script.

* [https://manpages.debian.org/buster/sysvinit-utils/init-d-scr...](https://manpages.debian.org/buster/sysvinit-utils/init-d-script.5.en.html)

<comment><USER16> Sorry but a slightly better script based init system maintained by one person just isn't gonna cut it.

<comment><USER17> It is fortunate, then, that neither of the ones that I referenced are that. The several run program collections are, as we can see, provided by a range of different people from Wayne Marshall to Glenn Strauss; and van Smoorenburg rc on Debian is maintained by several people, including Petter Reinholdtsen who introduced the aforementioned 2014 change.</comment></comment></comment></comment></comment>


What We Talk about When We Talk about Holes - <AUTHOR> http://blogs.scientificamerican.com/roots-of-unity/2014/12/25/what-is-a-hole/?HN_20141228

<comment><USER2> In the spirit of (and referenced by) the _Stanford Encyclopedia of Philosophy_ entry mentioned in the article, here's a lovely little philosophical (and _not_ substantially mathematical) dialogue about holes: [http://www.philosophy.org.vt.edu/files/9013/4455/4412/Lewis_...](http://www.philosophy.org.vt.edu/files/9013/4455/4412/Lewis_and_Lewis_- _Holes.pdf) .

(I think the philosophers should be listening to the mathematicians, though. Part of the answer to the question "what is a hole", and part of the explanation for, e.g., the fact that counting the number of holes in a thing is problematic, is that what holed-ness really is is nontrivial homology, and the right question for holes is not "how many?" but "what homology groups?", etc.)

<comment><USER3> For those who prefer to listen (and see puppets making silly faces): [https://www.youtube.com/watch?v=SoSx4nxgvgY](https://www.youtube.com/watch?v=SoSx4nxgvgY)

</comment></comment><comment><USER4> Misleading terminology alert: I would have said that a basketball doesn't have a hole, for the same reason that a tire doesn't have a hole: if it did, it would deflate.

But he means that a basketball is in airtight container, so it has a sort of two dimensional hole. By his definition, when you put a cap on a tube of toothpaste, it creates a hole rather than closing a hole.

<comment><AUTHOR> The point, to some extent, is that when you talk about a "hole" you need to specify what dimension you're referring to. Making that precise is hard, and is one of the things that makes serious topology difficult.

And useful. I've worked with robot arm systems with 9 degrees of freedom, and thinking of the configuration space as a 9 dimensional manifold with "holes" was the key point.

The terminology isn't misleading, it's technical.

<comment><USER5> > thinking of the configuration space as a 9 dimensional manifold with "holes" > was the key point

Fascinating. Can you expand on that? i.e. what is the configuration space, how did manifolds with holes connect with it, and how did you figure out that the problem should be represented that way?

<comment><AUTHOR> I'll see if I can write that up - It'll take more time than I have right now. In essence, people tend to think of moving through a space like "robot positions" as moving through ordinary space: "I can see where I'm going - I'll go that way." Unfortunately, in higher dimensions that doesn't work, and you have to develop an awareness of where the holes are so you can go round them.

I'll write that up and submit it.

</comment></comment></comment></comment><comment><USER6> I am having trouble following this. It kind of breaks my brain, like discussing time and dimensions with my sons. But I cannot help but think of portable holes in old cartoons, like Bugs Bunny.

Edit: Though I will say I am impressed with her example of torus. Donut glaze is something everyone should be able to relate to.</comment>