The Ruby Style Guide - <AUTHOR> https://rubystyle.guide <comment><USER2> Oh fun another style discussion! :-)

My own taste is for a "book style": write the code like you see in good books. I agree with most of this guide, although I'm pretty loose and case-by-case in practice. I've gradually added rubocop to lots of my projects, but then I wind up disabling tons of the rules.

I'm sad all the Ruby guides I've seen ban "and" and "or". I don't find them to be such an issue, and they are nicer to type & read. For one thing you can say `foo or raise "msg"` but need parens to say `foo || raise("msg")`. On team projects I sigh and go along with it, but it is a shame.

Speaking of "book style": I have a bunch of Python books with atrocious style, e.g. no spaces between operators or even between function arguments. How can anyone read that? I even see this from high-quality publishers like O'Reilly. What is going on with the Python world? Are their thumbs tired from all that indentation, so they leave out spaces everywhere else? ;-)

I really want to write a SQL style guide. There seems to be almost no consensus. My own formatting is idiosyncratic and not super principled, but I feel it is the most readable and expresses structure the best. It looks like this:

        SELECT  a, b
        FROM    t1
        LEFT OUTER JOIN t2
        ON      t2.t1_id = t1.id
        WHERE   t2.c = 'foo';

(EDIT: Sorry, t2.c = 'foo' is a pretty dumb thing to do in an outer join. :-)

Other people like to do one or more of these things:

        SELECT a
             , b
          FROM t1
               LEFT OUTER JOIN t2 ON t2.t1_id = t1.id
         WHERE t2.c = 'foo';

In other words:

\- lead with the comma in SELECT.

\- ragged left edge but line up all the single spaces in a column.

\- indent the joins.

Anyway sorry for the rambling. :-) There is some observation that committees spend 90% of their time on trivial details and hardly discuss any of the important stuff, and style is no exception. But who doesn't like giving their opinion? :-)

<comment><USER3> Funny, I've been wanting to do/working on a SQL style guide myself, with a big emphasis on using leading commas because of the readability and easy- adjustability. I do something like this:

                SELECT
                    a, b
                FROM
                    t1
                LEFT OUTER JOIN t2
                    ON t2.t1_id = t1.id
                WHERE
                    t2.c = 'foo'
                ;

<comment><USER2> I don't like it. :-) Splitting each clause into two lines makes my eyes stumble. I can't read it as effortlessly as I read normal text. At least you are left-aligning the keywords though. :-)

I have two spaces after my SELECT because when you press tab that's where you wind up next. Keeping things tab-aligned lets you easily type it out without a lot of fuss. I think that gets you much of the benefit of your broken-line clauses without impairing reading flow.

Also on a monitor vertical space is scarce, so I'd like to keep that reasonably compressed.

I get how leading commas makes it easy to re-order projections but I've never heard anyone say it makes them easier to read. :-) (I have no problem putting them on multiple lines if you have a lot or some are long.) And I'd rather optimize for readability over not needing to add/remove a comma.

I can see why you'd indent `ON` although I prefer to keep its conditions at the same level as WHERE.

I also do the semicolon at the bottom thing a lot.

Anyway it's fun to trade tastes. :-) SQL is surprisingly hard to rule on when it gets complicated. I doubt I am consistent once I start adding subqueries, CASE, etc.

</comment></comment></comment><comment><USER4> The only thing I really don't like here is non indenting when inside case. I know that technically it's not a block, but in practice I find it much less readable

<comment><USER5> Everyone agrees with you on readabilty. I think that's why they had to add this bit about this (A bit of History) section...

"This is the style established in both "The Ruby Programming Language" and "Programming Ruby". Historically it is derived from the fact that case and switch statements are not blocks, hence should not be indented, and the when and else keywords are labels (compiled in the C language, they are literally labels for JMP calls)."

<comment><USER6> No, everyone does most assuredly not agree on readability when it comes to case statements. Flat case reads better, and indenting it would be like indenting "elsif" and "else" in an else statement.

<comment><USER7> yeah, even more, taking the example from the style guide, if lines are short enough, I love doing:

      case
      when song.name == 'Misty' ; puts 'Not again!'
      when song.duration > 120  ; puts 'Too long!'
      when Time.now.hour >  21  ; puts "It's too late"
      else
        song.play
      end

even more, for simple if/elses, many times I do:

      if member.coding_style.vertical_align?
      then friends << member
      else member.show_example(code)
      end

</comment></comment></comment></comment><comment><USER8> I made a comment on this thread[1] in 2014, and it was closed two days ago. I wondered why... guess this is why!

1: [https://github.com/rubocop-hq/ruby-style- guide/issues/273](https://github.com/rubocop-hq/ruby-style-guide/issues/273)

<comment><USER9> I don't fully get your point. There is no official style guideline for Ruby.

<comment><USER8> I'm not sure what your point is either. Mine was "oh, there's a website now; they must have been reviewing old issues to prepare for the launch." There is no "official" style guide, you're 100% right, but I'm not sure what that has to do with this.

<comment><USER9> Oh, got you. I thought you were implying some conspiracy to kill conversation or something. Nvm.

<comment><USER8> Ah, yeah, no worries! I was not :)

<comment><USER9> It's actually an interesting thread. My take would have been to use comma when it's something we intend to modify, no comma when it's not. So intent is explicit.

Like:

        STATES = [
          :success,
          :error
        ]

        SUPPORTED_LANGUAGES = [
          "en",
          "es",
          "fr",
        ]

</comment></comment></comment></comment></comment></comment><comment><USER10> I'll never understand Ruby's obsession with implicit return.

When reading code, my eye will immediately notice the `return` keyword and will have less to think about in terms of code execution.

The `return` keyword makes for great readability.

<comment><USER11> I much prefer this, though I accept its not without problems in some cases. I find that say Javascript in comparison has a lot of syntactic noise; it's all annoyingly boiler-plate.

Maybe JS's implicit-return-in-arrow-functions is a better compromise.

<comment><USER12> I feel JS has few syntactic noises but which part are you referring to?

</comment></comment></comment><comment><USER13> There's also StandardRB, it's like StandardJS but for ruby:

[https://github.com/testdouble/standard](https://github.com/testdouble/standard)

Lightning talk about it here:

[https://www.youtube.com/watch?v=uLyV5hOqGQ8](https://www.youtube.com/watch?v=uLyV5hOqGQ8)

Edit: I posted it on its own if you want to discuss:

[https://news.ycombinator.com/item?id=20186231](https://news.ycombinator.com/item?id=20186231)

</comment><comment><USER12> Hard to swallow without any reasons written behind each decisions.

<comment><USER14> The Ruby Style Guide has been around for a long time now, this is just a nice update.

The guide has received ample feedback and edits/additions over the years, with an emphasis on reaching a consensus amongst senior ruby developers and open source contributors.

I believe that adding justifications or reasons for each guideline would make the guide harder to read and search. The way it is written now is succinct enough to pass on to junior developers, and allows a company to centralize style around a well-established set of rules rather than reinventing the wheel.

<comment><USER15> Agreed. I'm just happy to have a style guide that's tasteful enough and well- known among Ruby users. For me, one big advantage of the guide/Rubocop is being able to let other people worry about the little details and variations.

</comment></comment></comment><comment><USER16> All languages should have gofmt at this point. Debating code style is a waste of everyone's time.

</comment><comment><USER17> Parens for method calls should only be used when things get ambiguous. Nothing bugs me more than seeing ruby code cluttered up with that garbage. I know, I know, but that's my personal bikeshed and I'll happily die on the roof of it.

</comment><comment><USER18> 80 char line length in 2019?

<comment><USER19> I know, on the surface it seems silly, but there are a couple of reasons I've found 80 chars makes things easier in real world workflows in 2019:

* Split panes in editors. With 80 chars, you can usually have two panes on screen along with a file tree, on most laptop screens. This is pretty nice to have.

* Code reviews in a web interface like Github/Gitlab - 80 chars means usually there's no need to pan, even when your browser window isn't full screen

<comment><USER12> Enforcing 80 chars on everyone for those reasons doesn't feel justifying.

It will definitely make people use weird variable names instead of meaningful ones.

      is_included = true

could turn into,

      inc = true #included or increment?

That's a far worse side effect than other points raised in this thread.

<comment><USER20> Even worse, abbreviations are terrible as there is one way to write a word correctly, and lots of ways to abbreviate it, so now you have to keep track of that too.

Was it inc? incl? incld? includ? in? incldd?

Now you have to break flow to go check. There's many ways it could be written and a chance for bugs to be introduced if you accidentally pick the wrong style. And when you read it, does the inc mean incorporated? included? includes? including? incapable? incestual?

</comment></comment></comment></comment><comment><USER21> How about 1 space indentation? Just to be able to squeeze even more stuff into the 80 char limit? 0 space is a bit too extreme :)

</comment><comment><USER22> Spaces for identation? seriously?

<comment><USER14> I do believe most style guidelines for other programming languages prefer spaces over tabs - I believe spaces have "won" (the merit of each is a whole other debate).</comment></comment>


Ask HN: Do you have a New York Times membership? - <AUTHOR> It seems as though everyone here does! So many upvoted articles are from NYT and I can only see 3 per month! <comment><USER2> 3? For me it's 10.</comment>


Comcast rolling out 1TB data caps to most states in November - <AUTHOR> https://dataplan.xfinity.com/faq/ <comment><USER2> There is nothing reasonable about this. You pay Comcast for bandwidth. It shouldn't matter how much data you're using as long as you're not exceeding that bandwidth. If I pay for 250mbps, I should be able to download 24/7 (assuming I did the math right, that's 83.7 TB). Comcast isn't storing the bits, they're just moving them. This is simply their way of avoiding having to upgrade their peering arrangements (which are already abysmal). Level3 has a great blog post explaining a similar issue ([http://blog.level3.com/open- internet/observations-internet-m...](http://blog.level3.com/open- internet/observations-internet-middleman/)).

<comment><USER3> Please Google "contention ratios".

<comment><USER4> That has nothing to do with how much total data you use in a month.

It doesnt matter if i download 1 TB or 100TB, it only matters if im trying to use all my bandwidth at the same time as everyone else.

Did you even look it up yourself?

<comment><USER3> How can you possibly not see these concepts as fundamentally related?

Yes, you're paying for a 250Mbps max connection speed, if your limit is 1000GB then you can only max out your connection for 9 hours a month, meaning other users have a chance to use the backhaul bandwidth, not just you!

Applying quota limits means less usage and allows for higher contention ratios to be used throughout the network. Which is absolutely the only way ISPs can afford to deliver you an Internet connection without charging thousands of dollars a month.

<comment><USER2> That's not true.

Infrastructure costs money, absolutely. But infrastructure is largely a fixed cost (plus some maintenance cost). After that, it's all peering arrangements. ISPs here in the US can have some pretty ridiculous profit margins (probably exaggerated, but [http://www.huffingtonpost.com/bruce-kushnick/time-warner- cab...](http://www.huffingtonpost.com/bruce-kushnick/time-warner- cables-97-pro_b_6591916.html)).

With gigabit internet slowly becoming standard, ISPs do have to invest quite a bit in upgrading their infrastructure. However, that investment is easily amortized over time.

All that being said, the amount of data is never in play. Only the rate at which you can push data through that infrastructure matters.

Yes, data quotas help ISPs have higher contention ratios, but that's simply cost cutting and it hurts the consumer. Effectively, the same money you're paying now is buying you less.

Last-mile ISPs have a very nasty way of trying to lie to consumers about how the internet works. I highly recommend you read the Level3 blog posts from around the time of the net neutrality discussions. They're very insightful into how the internet actually works. Last-mile ISPs can be and are effectively bullies because they own that last mile.

</comment></comment></comment></comment></comment><comment><USER5> I don't understand the people who argue that 1TB is a lot of data. Sure, yes it is right now. What about 5 years from now? 4K TVs and streaming are already starting to become mainstream. Many online VR experiences are going to be resource heavy. 1TB isn't even the size of a decent consumer HDD, for people that do online backups. This seems like a preemptive strike against online media consumption. I can't wait to have any viable alternative to Comcast.

<comment><USER3> > I don't understand the people who argue that 1TB is a lot of data. Sure, yes > it is right now.

We don't _need_ to argue. You just agreed with us.

Comcast haven't said they'll never change this policy or offer greater plans. They're offering plans that reflect the current marketplace, not doing so is bad business.

In addition to that, if you read the article you'll see you can still get 100% unlimited Internet for $200/mo. They're simply asking their high-demand customers to pay in such a way that reflects what it costs to provide for those customers.

I don't walk into a restaurant and expect a flat price for my meal that's the same as every one else... err, unless it's an all-you-can-eat... and they charge for drinks!

<comment><USER2> That's not what's going on. You're not paying a flat price. If you want more bandwidth, you pay for it. The currency for an ISP is bandwidth. The amount of data that's transferred does not matter. This is basically pure profit for Comcast and comes from an artificial excuse that last-mile ISPs have effectively made up.

<comment><USER3> But it does matter. ISPs simply don't have the means to provide capacity for every user to simultaneously max out their connection at once. That is not, and never has been how Internet infrastructure works. That'd be like building a 100 lane highway because on Christmas it gets congested.

You're paying for peak performance, not 24/7 performance.

<comment><USER2> You're paying for a rate, not an absolute amount. The internet infrastructure works on that rate (bandwidth). You don't buy a 10GB switch or router, you buy a 1gbps switch or router. ISPs peer based on bandwidth.

I do understand, though, that by having a data cap they're encouraging users to use less of that bandwidth. However, again, they're just passing on costs to the consumer instead of paying a fixed cost to upgrade their peering arrangements.

</comment></comment></comment></comment></comment><comment><USER6> This is an anticompetitive act. Anyone using >1TB is more than likely using Netflix, Youtube, etc. Comcast are using their broadband service to push people back to using Comcast cable and digital services!

Please contact the FCC and let them know what you think: [https://consumercomplaints.fcc.gov/hc/en- us/requests/new?tic...](https://consumercomplaints.fcc.gov/hc/en- us/requests/new?ticket_form_id=38824)

<comment><USER7> I use about 2 to 3 TB every month, and I have a 200Mbps plan for 1 year. The data cap is not part of the plan when I sign it, is it legal to set a cap without get acknowledgement from it's customer?

<comment><USER2> I've been wondering the same thing. At the very least you should be able to argue that they've changed the contract and you should no longer be held liable for early termination.

</comment></comment></comment><comment><USER8> Fuck. Comcast.

How is it possible this is the only thing available in Silicon Valley?

<comment><USER9> Because rolling out a fibre network is very very very expensive. People who think they are entitled to certain speeds, data caps, or prices, don't understand this. That's why Google Fiber is reconsidering their investment. It simply is too expensive.

If you have a problem, you can ask your government to force Comcast to rent the network, as it happens in civilised countries like mine, but that makes it harder to compete in price.

<comment><USER10> > Because rolling out a fibre network is very very very expensive.

For some values of very very very expensive.

Fiber to the home costs about as much as a MacBook Pro.

</comment></comment></comment><comment><USER11> So happy I have an alternative to these bastards at Comcast. They are the Evil Empire, trying to punish cord cutters.

</comment><comment><USER12> I just logged in to Comcast to see how much data me and my two other roommates are using.

The max we reached in the last three months for 342gb.

<comment><USER13> That's my monthly. I do daily backups of my 4 PCs and dedicated server, watch a lot of films in HD + small Tor node.

</comment></comment><comment><USER14> I have to say it actually seems very reasonable. I don't quite get where the entitlement to unlimited data comes from. 1TB is a lot, and it has renewable "grace" months so a fluke doesn't turn into a giant bill - that's not rent- seeking behavior. $50 fixed tax on very heavy users is entirely appropriate. If real time vr becomes a thing and it becomes normal to use more than 1TB then I imagine the number will increase.

<comment><USER15> To put this in perspective, I'm in Japan. I have 2gb net, and I use more than 1tb regularly.

My wife watches a lot of Netflix, YouTube etc, I play a lot of gaming. Running at 60+GB a pop for some of these games, plus mods.

I also stream TV and movies while I code(I work from home most of the time), invariably I'm on a Skype call with video to two or three people while coding too(it's fine as long as I keep the iPad volume down for movie/TV).

That's with only two of us. I'd hate to imagine how much data we would use if we had two teenage children.

When I was in Australia, 1tb was very difficult to use, now that I have this much speed available and we're use to so much on demand, it would be mind numbing to have to micro manage it.

Oh for the record, that costs me approx USD $50 too. (Maybe 60, I'll have to ask my wife).

<comment><USER16> I'm not sure where to place your comment. You use a lot of bandwidth, all the time. Are you proud of that? I'm not judging; I just want to understand what you are claiming.

<comment><USER15> I'm saying that 1tb of data, once you have the speed available, runs out very quickly.

If we can run without caps in Japan, there is no excuse for your isp's.

</comment></comment></comment></comment><comment><USER17> I already get throttled and I didn't hit 200GB last month. Moved from NJ to CO and still have to deal with the long dick of Comcast.

</comment><comment><USER18> My phone plan (Netherlands) has a data cap of 500 MB. I thought this thread was showcasing an uncommonly generous service provider.

<comment><USER19> I struggle to stay under 2GB a month on my phone, and I stream almost nothing. I'm not sure I could survive on that little!

</comment></comment><comment><USER20> 1TB is very generous as far as data caps go. Atleast it's better than Canada where the big three seem to weaponize data caps to slightly lower than reasonable for the average household to shock you with a +50$ bill and then upsell you to a more expensive plan.

<comment><USER21> Only comes off as generous based on their statistic that 99% of their users won't exceed it. If they started with something 'less generous' it would be met with more backlash. However, this is just preparing customers to be used to a data cap.

</comment></comment><comment><USER22> "xfinity"

<comment><USER23> Well, it's not called "Infinity" for a reason

<comment><USER24> To Xfinity and ... not beyond 1TB!

</comment></comment></comment><comment><USER25> Oh look they are offering a new plan to customers ... what a bunch of crap... it should just say we need to make money this is what's its going to be from now on.

New plan for our customers ...lol. Not your customers more like your prisoners!!!

<comment><USER26> Yes, it's the same plan, just more restrictive. Weasel words.

</comment></comment><comment><USER27> This is irrelevant. Three years ago every couple hundred gigabytes Comcast would simple kill my uplink without warning. The light was simply off on my modem. Fuck Comcast.

</comment><comment><USER28> Does this mean existing customers under contract can break their contract due to it changing?

</comment><comment><USER3> In Australia data caps are the norm, but you can get unlimited plans with certain ISPs. However, 1TB is a _lot_ of data. To my knowledge there's not a single 1TB plan available in Australia, it's assumed that even on the unlimited plans you're not going to be using that much.

I don't have cable and generally don't watch free-to-air TV. I pretty much stream exclusively, using the highest bitrates available on my 85Mbps connection. I'm not sure how I'd ever use 1TB of data simply streaming.

Oh, I also work full-time from home as a software developer. Part of my work involves downloading and uploading large 3D models. I also have regular video conferences (screen sharing and what not). I've still never exceeded 300GB.

The only reason I've reached close to 300GB before is because I have a fairly considerable Steam library (500+ games) and decided to download about 50 in one month.

What is it that people are doing that gets them over 1TB?

<comment><USER29> Have you ever had a TV that's left on? If that was a medium quality 3Mbps it would blow through 1TB by itself.

<comment><USER3> ((3/8) x 60 x 60 x 24 x 30)/1000 = 972 GB

So no, it wouldn't. Well, okay, on a 31 day month it would ;)

But what streaming service allows you to stream that long without prompting you? That's 720 hours of footage. Not even Star Gate has enough footage for you to do that (most which was pre-HD).

I feel like you really have to clutch at straws to come up with how one could legitimately use 1TB of data on a home Internet connection.

<comment><USER30> > I feel like you really have to clutch at straws to come up with how one > could legitimately use 1TB of data on a home Internet connection.

It just depends on what you do. Steam's and my PS4 auto updates for me alone plow through hundreds of gigabytes a month. Sure, I also work from home so that adds significant amounts of data to my plan but it's already not hard to utilize your internet above 1TB. However data usage is only going to go up and if you add a cap now, you will regret having them in a year.

There is more and more 4K content on small youtube channels and that alone has added significant amounts of data usage for me. I notice it every time I tether from my limited phone plan.

</comment></comment></comment></comment><comment><USER13> I never heard of data caps in Europe, how did US fell into this?

<comment><USER31> What? Im Belgium, the Netherlands and Germany there have been caps for years. I don't pay much attention nowadays but it was only, what, 6? years ago whem the limits on a Belgian connection with the main provider were _10 gb_.

<comment><USER32> Are you sure you're not referring to mobile? The article discusses home broadband connections.

<comment><USER31> Yes, home broadband.

</comment></comment></comment></comment><comment><USER33> Interesting that they rolled this out first mostly in red states (except IL and ME). Was it a coincidence? The Nov 1 rollout is also heavy on red states.

</comment><comment><USER34> Hmm. So - Comparing ISPs to utilities is interesting. Ignoring stuff like double-dipping, net neutrality, the absurd rate hike for the first tera of bytes versus the second, that if they sneak it in now they can say "well you knew about it" when everyone is streaming 360 VR video and blow past a TB...

For internet, I have:

\- A throughput (overall speed)

\- Fluctuation in speed

\- Data caps and overages

\- Use-or-lose-it data (from the caps)

\- Installed equipment I "rent"

For utilities, like water, power, and gas:

\- I have all that I need [for home use]

\- (extremely rarely) Rolling blackouts

\- Tiered pricing by usage

\- Only pay for what you use

\- Installed equipment I own (house?), or am not responsible for (apartment)

The really interesting one here is the data cap + use-or-lose vs tiered + pay as you go, but the only real difference (that my uneducated ass can see) is whether I pay for what I don't use.

But here's what's interesting: I turn off my AC to conserve power and save me money, except when I really want it. I really don't do that with the internet. I don't think - Oh, this'll cost me X in dollars-per-byte; maybe I won't. And the internet isn't really built to support that! I can't preview how much a site will cost to load; I don't have browser tools to "turn of lights in rooms I'm not using".

The closest thing I can liken it to is economy travel versus business travel.

In economy, I pay for everything a la carte. Aside from sheer discomfort - there's friction to every action, everything is at least a little aggravating, and I think about whether I actually want to do any given thing.

In business, I don't. I just ask for what I want and if it's available I get it. Zero friction (baring load time, I mean, wait time for service), everything is a little bit soothing, and I don't really think that much about whether I actually want something.

The second situation is more utopian, although it does occur more environment cost, since I'm more wasteful.

I think I'd rather have data caps than pay-per-byte [at the consumer level], and it doesn't _really_ seem reasonable to expect no data caps. I want my super fast pipe that I use in bursts, rather than a reasonably fast pipe I use continuously. I want this because I like having an internet where people aren't thinking about what a page will cost them.

...except some people are, because they're under low data caps (mostly mobile?).

...but then there's still the edge effect when average internet usage approaches the caps.

...and maybe it IS a good idea to put pressure on the Web to reduce page sizes.

It's almost like civilization is a hard problem!

<comment><USER35> Worrying about page weight is kind of a red herring and micro-optimization. You've really got to get into binary data streams before it's possible to blow through a data cap like this. For example, you could download the full text of English Wikipedia twice a day, every day, and not come close to hitting 1 TB[1]. Text is cheap.

This is part of why I chuckle about people tearing their hair out to minify and obfuscate JS or CSS files to reduce them by a handful of kbs - when their pages load a dozen uncompressed full-resolution images and a 1080p auto- playing video.

[1] [https://en.m.wikipedia.org/wiki/Wikipedia:Size_of_Wikipedia](https://en.m.wikipedia.org/wiki/Wikipedia:Size_of_Wikipedia)

</comment></comment><comment><USER36> Comcast has had 300GB data caps for a while now, but they weren't enforced. My guess is they determined it was too low, and measured that 1TB would be a reasonable cap based on common usage.

Usually anything higher is the result of a virus infecting a customer's computer, or some other problem.

<comment><USER21> >> Usually anything higher is the result of a virus infecting a customer's computer, or some other problem.

What made you come to this conclusion?</comment></comment>


Apple shuttle buses rerouted following suspected attacks - <AUTHOR> http://mashable.com/2018/01/17/apple-shuttle-attacks/#_v3iPvoMZmq4 <comment> rm_-rf_slash I really hope this is just some angsty kids dangerously playing around and not a committed act of, technically speaking, homegrown terrorism.

I saw a short film long ago about a guy who'd snapped after getting one too many parking tickets by posting up on rooftops and shooting "meter maids" with paintballs. While some people cheered his actions as a stand against capricious ticketing, others took it a step further and eventually somebody was badly stabbed. Because the initial paintballer never revealed his identity, the violence that he initiated had spun completely beyond his control.

Violence, especially anonymous violence, has consequences that can be beyond foresight, and far beyond control. I really wish I can find that short film someday...

<comment><USER2> Is it 'Expired'?

[http://www.imdb.com/title/tt0305559/plotsummary](http://www.imdb.com/title/tt0305559/plotsummary)

<comment> rm_-rf_slash YES THANK YOU THANK YOU THANK YOU!!! I've been looking for the link for over a decade.</comment></comment></comment>


Ask HN: How do I promote an app with little/no money? - <AUTHOR> Hello everyone, I just developed an android app, and realized I know nothing about marketing. Without money, how would you go about promoting it?<p>Website: http://www.appshopie.com <comment><USER2> Hey, You can get journalists, bloggers and you tube reviewers to review it. Just send them an email or tweet and ask! Some might find it interesting and do it. Especially the product reviews might find it cool when introducing new products in batch (like best stuff for under 50$). Good Luck:)</comment>


Ask HN: why did Apple say Meltdown affects iPhone? - <AUTHOR> <comment><USER2> I don't believe they said Meltdown, only Spectre because iPhones use the A series of arm designs which are vulnerable to Spectre.

<comment><USER2> Just to follow up, I just re-read a couple of articles about it. I think it is just poorly worded and lack of understanding by the authors. Intel based Mac's are vulnerable to both, but iPhone's only to Spectre. Unless I am misunderstanding something.</comment></comment>


Ask HN: What is the best way to future proof a new home your about to build? - <AUTHOR> So I've recently purchased a new home and am doing a complete renovation. As a techie I'm thinking about how best I want to do things like:
-ensure it is environmentally efficient
-ensure it is physically secure
-build a useful home entertainment system throughout the house
-that noise is kept to a minimum - e.g no overly noisy server
-manage services like electricity effectively
-ensure any home environment has a decent level of privacy and digital security (I recognise nice that these things often are contradictory)
I think mostly importantly, I want to make sure that I have done as much as I to meet my techie needs in future. I have heard of people laying CAT5/CAT6 cabling, plenty of electrical sockets with USB charging, electric car charging, cabling for solar etc.
What other things should I be thinking about for future proofing? <comment><USER2> Run lots of Conduit and instead of floor joists uses floor trusses. It makes changing plumbing and wiring much easier.

Here's a picture of floor trusses. You will see what I mean by easier to change things. [http://static1.squarespace.com/static/52246eb0e4b0329755b576...](http://static1.squarespace.com/static/52246eb0e4b0329755b5765e/t/52a3e1dce4b0f6168e51f282/1386471903762/FloorTrussEndView.jpg)

</comment><comment><USER3> Different kind of future proofing:

\- is there a chance your family will get larger (new kids, marriage, maybe live with your parents when they start needing care) or smaller (if you have kids, do you plan to stay in this house when they leave house? If so, what will you do with their bedrooms?)? If so, how will you handle that?

\- Make sure everything (in particular hallways, bathrooms and toilets) is comfortably weelchair accessible or can be made so, while not making distances too large for people who have difficulty with walking.

\- Don't overdo it with electronics; keep them relatively simple, with controls that you will still be able to use when your sight is bad, your hands are rheumatic, your brain isn't what it used to be, or if you fall and break your wrist next week.

\- If you have stairs, think of how you will live if you can't use them anymore (temporarily or permanently)

</comment><comment><USER4> Run conduit to all the main rooms, on multiple walls if possible. That way you can run any amount of Cat5 or whatever future cable you want.

Failing that, as much Cat5e/Cat6 as you can afford. There are boxes to convert between every imaginable cable type to Cat5e so you can use them for more than networking if needed.

</comment><comment><USER5> Look into passive housing [http://www.passivehouse.com/](http://www.passivehouse.com/)

For energy efficiency it seems to be the industry standard these days. Most builders I work with hold it in high regard.

</comment><comment><USER6> Keep it simple. Make sure someone can easily service it without you around. Failing automation while I am on business trip is the last thing to leave my family with.

Also tech changes quickly so better keep some conduits or spare shafts for cables and pipes.

</comment><comment><USER7> Vacuum insulated panels for optimal thermal insulation efficiency. They will help with acoustic insulation too.

</comment><comment><USER8> \- consider running some of the appliances off direct current?

\- adding geothermal

\- battery pack(s) since you mentioned cabling for solar

</comment><comment><USER9> Almost everyone else has mentioned the most basic stuff (conduit, etc) so I'll add some of the less-thought of stuff.

Also run conduit to a gang box (with a blank faceplace) in the ceiling of every room (tucked into a corner). It'll be useful if you ever want to put in cameras, sensors, wireless access points, etc. A well supported electrical box in every ceiling is also good, even if unused for now, for future lighting or ceiling fan purposes.

Install weatherproof outlets (possibly with conduit nearby) under the roof eaves on the outside. It makes it much easier to install security cameras or plug in christmas lights.

If you're building your house with standard framing techniques, consider getting pest control tubing installed. It allows a company to come by every year or two and quickly spray insecticide within the walls using high-pressure air.

If you're not stuck on standard framing, consider using better building materials: [https://en.wikipedia.org/wiki/Structural_insulated_panel](https://en.wikipedia.org/wiki/Structural_insulated_panel)

Spend the extra money to not just get a wired fire alarm system but a fire suppression system like commercial buildings or apartments are now required to have.

You might not have solar panels now, but it doesn't hurt to have the conduit running to the part of the roof that you might want them. It would make things much easier later.

If you're going to have a basement, get a sump pump set up even if you have excellent drainage. If there is ever some kind of crazy storm or bust pipe, it'll help pump the water out before it collects or gets too deep.

Install twice as many plugs as you think you might need. Consider quad plugs instead of dual plugs in some areas so you can avoid ever having to use power strips. In every room, have one plug that's wired separately than the others so if you ever want to set up a centralized UPS or have the cutoff switches for a generator, you can wire it to those plugs.

Some people rave about how awesome it is to have a central vacuum system with tubing throughout the house. I've never had it so I don't know, but I can see how it would be awesome for vacuuming staircases.

Install wired "water alarms" underneath your sinks, water heating system, under tubs, showers, etc. Water kills houses and you want early alerts. It's also not a bad idea to have floor drains in the bathrooms so if there is ever a major water leak incident, the water will drain right away rather than leave that room.

Speaking of water heaters, get an on-demand tankless gas water heater. It's more energy efficient than a water heater with a tank and it lasts a lot longer.

Consider climate change and design your house for extremes in your region plus a bunch more. Highest temp is 100? Plan for 120. Lowest temp is -10F? Plan for -30F. Strongest storms have 50mph winds? Plan for 75mph.

It doesn't matter if you're not at the coast, use hurricane straps to secure the roof rafters to the walls. It doesn't matter if you're in a forest, plan for wildfires by not having brush right against the house and installing a few piped sprinkler heads on the roof to wet it down in case of flying embers.

It doesn't matter if you're not in the desert or in Canada. Get a well- insulated roof that can handle 120F+ heat or the coldest winters. Use roofing material that'll hold up against major hail or flying debris.

Don't skimp on windows. You'll have them for 50+ years so get the best ones you can. They can cost a fortune, but the difference in price will be paid for 10x over in energy savings. Double/Triple panes, infrared blocking coatings, etc.

Also get emergency storm shutters built to size and the mounts/latches so you can securely attach a shutter in a minute or two by yourself. They don't have to be fancy or look good, just have good handles on them so you can maneuver them, hook them to something over the window, and latch them in place.

For solar panels, if you have the room, consider keeping your array on the ground level so you can easily clean them off or cover them. If you do put them on the roof, consider having a roof type where you have a small flat walkway built into the roof shape (or low slopes in some areas) so you can walk around them easily for maintenance. Too many home owners fall off their roofs.

Make sure that one or two rooms have exterior entrances and private bathrooms so you can rent them out or give the family member some extra privacy.</comment>


The Nokia effect – Finland is Windows Phone's strongest market by far - <AUTHOR> http://royal.pingdom.com/2012/05/28/nokia-effect-finland-windows-phone-strongest-market/

<comment><USER2> You can see this when flying to Finland. Finnish businessmen on the plane are the only group I've seen using WP7 in the wild so far.</comment>


Ask YC: how do you manage bookmarks? - <AUTHOR>

I'm getting a little frustrated with existing bookmark managers.  I want the ability to sort/search by tag and to have bookmarks synced across multiple machines. Delicious is the best I've tried but I don't like how bookmarks are public by default. It's understandable for a social bookmark service but I'm looking for something that keeps bookmarks private - I don't care about sharing them.
FF3: the built in bookmark manager is awful.  Tagging is a great feature but badly implemented. The default right-clicked 'properties' dialogue for bookmarks doesn't allow me to add or edit tags. I can't easily search or list bookmarks by tag and there's no way to list untagged bookmarks.  It feels like the developers added tags as an afterthought.
Foxmarks: great service but has similar limitations to FF's own bookmark manager.
What other solutions are people using? <comment><USER2> Whoa! My Master's thesis is devoted to solving several of the organizational limitations you've been voicing. Please check out: <http://facette.csail.mit.edu/>. It's a tool augments tag-based organization by adding facet-based categorization. Example: <http://facette.csail.mit.edu/user/peterjlai>

</comment><comment><USER3> I have similar issues. I'm working on a general solution to solve them, it's so hard to see questions like this. What I want to know is how do people quietly building things in the background contain themselves? :-)

</comment><comment><USER4> This solution pertains to Delicious (since I assume it's the best option for now). If you were to create a new account (just to start off fresh) and import your bookmarks, you do have an option to set all of them as private. For future saves, tick off the 'do not share' box each time - of course, it's not the optimal solution, but if you don't mind that extra click...

I do get a gut feeling that Delicious will ultimately come up with an option to set a profile as private.

Or you could just start a new service, as the person above suggested. =)

</comment><comment><USER5> Webmonkey.com has an article that walks you through the steps of building a basic delicious clone using Django. [http://www.webmonkey.com/tutorial/Integrate_Web_APIs_into_Yo...](http://www.webmonkey.com/tutorial/Integrate_Web_APIs_into_Your_Django_Site)

</comment><comment><USER6> Maybe it's the time for you to implement your own bookamrks service. :)

Great entrepreneurs do startups about things they needed!</comment>


Dom.event.clipboardevents.enabled - <AUTHOR> https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/Preference_reference/dom.event.clipboardevents.enabled <comment><AUTHOR> Although this can be good for privacy, it breaks the GitHub web code editor copy and paste function.</comment>


YCSB testing reveals Scylla latency and performance advantages - <AUTHOR> http://www.scylladb.com/technology/ycsb-cassandra-scylla/ <comment><USER2> From the link: "A 3 node Scylla cluster executes 4.6X more OPS than a similar Cassandra cluster. Only a 30 node Cassandra cluster can level the throughput of the Scylla cluster of 1/10th the size. Yet the 1:10 gain is not the end of it. Latency measurement reveals that Scylla has 4X-10X better P99-latency advantage". Disclosure - I'm kinda involved in Scylla ;)

</comment><comment><USER3> Pretty cool.

Waiting for 3.0 compatibility before trying it.</comment>


The Startups We Use to Build Our Startup - <AUTHOR> https://medium.com/coffee-time-1/the-startups-we-use-to-build-our-startup-1335a44da524

<comment><USER2> Thanks for sharing muratmutlu! I hope our experiences @spectafy help!</comment>


Sprint and T-Mobile in merger talks - <AUTHOR> http://online.wsj.com/article/SB10001424052748704758904576188460213670064.html?mod=e2tw <comment><USER2> I hope Google steps in and buys T-Mobile. Sprint is the worst US carrier, T-Mobile is the best... both in terms of technology and customer service.

<comment><USER3> The question is: would Google be a good consumer infrastructure company? Their first foray into that arena was their Google Fiber experiment which has been delayed. I know that Google always seems like they're on our side over infrastructure things - but that might simply be because they aren't building that infrastructure.

It's possible that Google would bring excellence to consumer infrastructure as well. However, they haven't run an ISP, cable company, wireless company, home broadband, or other regulated consumer infrastructure project. That doesn't mean they wouldn't be up to the challenge, it's more a question of why you believe they'd do better? They talk a nice game of unlimited, high-speed broadband, but that's easy when you're not the one paying to provide it.

Google also had the option to purchase the open-access 700MHz spectrum and once the reserve price was met, decided that they didn't want to be in the consumer-facing communications infrastructure game. If they didn't want to become a wireless company a couple years ago, what would have changed to make them want to become one now?

Google has a strong staff and it would, at the very least, be interesting to see how they would fare as a company. Would they decide to forgo the profits one receives for pushing things like Blockbuster Mobile onto their smartphones? Would they push faster technology faster? Would they decide that limits were wrong to put on users? Would they decide to forgo subsidised phones and offer much lower priced plans?

<comment><USER2> I realize Google is averse to endeavors that might necessitate a customer service department... but in my opinion if Google bought it and invested a few billion into infrastructure improvements and discounting, it could potentially offer some incredible products with bundled 4G, etc.

Google is one of the few companies that could really benefit from doing analytics on all the call and internet traffic data, and I don't predict a future world in which people happily pay $30/month for each connected device they own.

Google has the chance to define how the game is played and leap ahead of the competition (mostly Apple) by creating a product and service mix that Apple's carrier parters will refuse to match.

</comment></comment></comment><comment><USER4> Sprint and T-Mobile are on incompatible networks (CDMA vs GSM) and the Nextel acquisition was, as the article puts it, "disastrous."

<comment><USER5> That doesn't play too big a part when both companies are still evaluating* their post-GSM/CDMA strategies. Both are also known for being behind the curve on this, as well.

* HSPA isn't post-GSM, and rumors around Sprint dumping the existing "4G" WiMAX, in favor of LTE, have been around the industry for years.

</comment></comment><comment><USER6> I read some 2011 prediction article at the beginning of the year. I remember the article stated that Borders would go into bankruptcy and T-Mobile and Sprint would merge. I left Sprint for T-Mobile years ago and would hate to see my rates go back up for the same service I have now.

</comment><comment><USER7> T-Mobile is the only good US carrier. Don't know what I'd do if they merged with a company as poor as Sprint.

</comment><comment><USER8> This might be a little bit off-topic, but why don't people use Virgin Mobile more?

They seem to have the best (cheapest) hassle-free plan with pretty good phones.

<comment><USER9> The new Optimus V looks like pretty much the best deal in the country for a smartphone right now, but I did see people complaining about losing their data connection when the phone idled.

I'm on T-Mobile prepaid for ~$25 a month because I already had a gsm phone (iPhone) but otherwise I'd probably switch.

Goodbye $70+ AT&T bills.

</comment></comment><comment><USER10> The key take away:

Sprint has devised a strategy into 4g that is network agnostic compared to others..that means they can bring in any carrier, CDMA, GSM..it doesn't matter as they have the transition to LTE 4g worked out so all MOs plug in..

Basically T-Mobile blew it on getting a 4G strategy ..

Long term Sprint and T-Mobile will merge..

What does Sprint get?

Cash to prop up ClearWire..

Sprint has just as much to loose..ClearWire bankruptcy as T-Mobile if merger fails..</comment>


Zynga wants to patent virtual currency in gambling games - <AUTHOR> http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1&f=G&l=50&co1=AND&d=PG01&s1=zynga&OS=zynga&RS=zynga Will be updating with prior art but please post if you have anything
Here is basically what they want to patent:
Purchasing virtual currency with real currency where the virtual currency cannot be returned to real currency into a gamgling game. Using the virtual currency in the gamble and deducting/awarding the user appropriately. 2 claims that say the same thing: associating a virtual item to 2 users (implying that a virtual item can change hands, wow what an innovation zynga, thanks) and purchasing a virtual item with virtual currency Transfering virtual currency and in the process verifying a social connection, between 2 users and placing a limit on how much they can do this.
Software patents need to be invalidated but we'll get into that later
I will be doing a live stream or a local recording of me trying to implement this "innovation" to be "defended" for ~20 years in the interests of the progression of science and arts in the shortest ammount of time
Also started http://stopsocialgamepatents.org <comment><USER2> In 2003, Second Life had US$->L$ purchases, user->user L$ exchanges, no path to covert back, and many users playing Texas Hold 'em and other games of chance using L$.

We even had a day in early 2004 where some unnamed wealthy individuals had a high stakes game of Texas Hold 'em which moved enough L$ around to distort our statistics.

</comment><comment><USER3> Well, if Zynga does it you know there has to be prior art since they've never thought of anything themselves.

</comment><comment><USER4> I remember old BBS games where you could give money to the operator of the BBS to buy turns and gold. The latter could be given to others.

Virtually all poker sites have allow you to play using "play money".

</comment><comment><USER5> Wow,talk about trivial.

Virtual currency already has existed for a long time already, even outside the world of computers. For example, the small change bank cards you can charge and pay with (like Proton in Belgium, [http://www.atosworldline.be/index/en_US/5118014/0000/Proton....](http://www.atosworldline.be/index/en_US/5118014/0000/Proton.htm)), that's virtual money. So are strip cards to pay fares on city buses, and the photo vending machines in some shops where your payment gets deducted from a prepaid card.

So what's new here: that it's for use inside a website, or that it's being used for gambling?

<comment><USER6> World of Warcraft has prepaid cards.

I think even Ultima Online had prepaid cards. That's 1996.

</comment></comment><comment><USER7> As the father of a 6-year-old who already has a Club Penguin paid account, I really don't mind not seeing any innovations in this area for the next 17~20 years.

</comment><comment><USER8> Puzzle Pirates (www.puzzlepirates.com) has used virtual currency in exactly these ways (for gambling in virtual poker and other games, and buying virtual items that can be exchanged between users) since before Zynga was founded. Seems like clear prior art. The one claim that isn't in PP is the limit on the number of times an item can change hands.

It's hard to see how zynga wouldn't know about this.

</comment><comment><USER9> I want to patent money too.

</comment><comment><USER10> Like poker chips?

<comment><USER11> >>;crediting an account of the first player with virtual currency, wherein the virtual currency is not redeemable for legal currency.

Nope. Your money has gone into a black hole in the internet forever.

</comment></comment><comment><USER12> There's prior art with "virtual currency" going back as long as the eyes can see. Even stupid old DOS Blackjack games where you got a virtual $500 to bet with is easily considered a form of virtual currency. This is why we need a public forum so that anyone, wikipedia-style, can look at patents awaiting approval so that invalid ones are less likely to make it through.

</comment><comment><USER13> Neopets was bashed for some time with claims that the games they produced were similar to gambling games. I think it proves prior art in and of itself.

<http://en.wikipedia.org/wiki/Neopets>

</comment><comment><USER14> Based on my 10 second read of the patent they are taking a real world process, exchanging the word "real" (chips) with "virtual" (chips) and thus it is patentable?

</comment><comment><USER15> Rejected; I invented this first.

</comment><comment><AUTHOR> Will be updating with prior art but please post if you have anything

Here is basically what they want to patent:

 _Purchasing virtual currency with real currency where the virtual currency cannot be returned to real currency into a gamgling game.

Using the virtual currency in the gamble and deducting/awarding the user appropriately.

2 claims that say the same thing: associating a virtual item to 2 users (implying that a virtual item can change hands, wow what an innovation zynga, thanks) and purchasing a virtual item with virtual currency

Transfering virtual currency and in the process verifying a social connection, between 2 users and placing a limit on how often they can do this._

Software patents need to be invalidated but we'll get into that later

I will be doing a live stream or a local recording of me trying to implement this "innovation" to be "defended" for ~20 years in the interests of the progression of science and arts in the shortest ammount of time

Also <http://stopsocialgamepatents.org>

<comment><AUTHOR> got back from giant, diet cream soda and diet lemon lime soda getting livestream up

</comment></comment><comment><AUTHOR> [http://allthingsd.jobamatic.com/a/jobs/find- jobs/q-Zynga/l-S...](http://allthingsd.jobamatic.com/a/jobs/find- jobs/q-Zynga/l-San+Francisco%2C+CA/sb-pd/pn-6)

^on september 17 as the site scrolls listings

Senior Patent Counsel is the first listing. Looks like they might have found someone

</comment><comment><USER16> My respect for Mark Pincus Suddenly dropped to 0. Especially since he noted as saying, in the "Facebook Effect," that he (as well as Matt) bought the patent to social networking so he could make it free and independent, away from the big corporations, and talked about how patents hinder innovation... clearly that was all BS!

</comment><comment><USER17> Is it just me or has everyone else seemingly not read either the title nor the post?

Rationale:

Most people seem to be talking about this game already does this or that and xxx is virtual money blah blah. From my understanding the patent is for virtual currency in _gambling games_ which almost no-one seems to have noticed. I mean, don't get me wrong I'm sure there is a lot of prior art for this patent but it just strikes me as strange that so many people would bring up seemingly irrelevant arguments.

<comment><USER18> I don't know much about patents, but let's say Farmville (although Zynga own it, assume they don't) decided to add some sort of betting element to their game, would that not make it a "gambling game" and therefore infringe on any patents against it?

While it might not affect _all_ pre-existing social games, if the above is true then it limits what they can do with their game.

<comment><USER17> I'm not sure how your first point applies here. If I get a patent for copy- paste using gestures, does my patent apply to using a mouse or any future copy-paste methods? Maybe, maybe not, it doesn't actually matter here because those methods don't exist yet so talking about them is irrelevant as I tried to point out. If you read the whole of my comment you'd see that I went as far as to suggest the patent itself is most likely invalid.</comment></comment></comment>


Show HN: HFD – A design language for laser cutters written in Go - <AUTHOR> http://heavyfishdesign.com <comment><USER2> I'm curious why you chose json as apposed to just working directly within SVG, or perhaps using a template language or some other DSL.

I've been thinking of making a tool that will output g-code based on similar ideas to what you have here, however, I think I would try to work directly in go or python instead of expressing the shapes as json.

<comment><AUTHOR> I chose json mostly for convenience, but also to give me some easy future possibilities.

Making thinking was something like:

pros:

1\. json has lots of tooling and is generally easy to work with 2\. if I put up a ui/webapp around hfd, then json will work well for that. 3\. if I want a custom DSL, I can always have the grammar convert to json as the underlying representation.

CONS: 1\. the json ends up being deeply nested and hard to work with 2\. lack of multiline strings and comments (I went ahead added comment support though :))

</comment></comment><comment><USER3> Amazing work on HFD! There is a lot happening in the space of mass- customization where I feel this fits right in!

We have a platform for automated sheet metal production and quoting. At the moment we only take completed 2D/3D technical drawings as an input although there is definitely a market for ordering parametric products too.

If you ever want to discuss the possibilities for HFD in the sheet metal industry let me know!

</comment><comment><USER4> The Getting Started page needs to have more pictures and a guide on building some useful designs.

<comment><AUTHOR> yeah, truestory :). TODO

</comment></comment><comment><USER5> What's wrong with gerbl?

<comment><AUTHOR> Do you mean grbl? If so, HFD and grbl are totally different. HFD is meant a way to design things (usually for laser cutters, but ultimately it outputs SVG, so could be useful for other usecases).

HFD is meant to make it easier to create designs which are parameterized (i.e. one design where you could easily change the width, height, thickness, ect). And make it simpler to split and layout designs across multiple pieces of material.

<comment><USER6> >HFD is meant to make it easier to create designs which are parameterized (i.e. one design where you could easily change the width, height, thickness, ect). And make it simpler to split and layout designs across multiple pieces of material.

so sorta like OpenSCAD (the language, not the program), but specialized for 2d/planar work?

<comment><AUTHOR> >so sorta like OpenSCAD (the language, not the program), but specialized for 2d/planar work?

yes :)</comment></comment></comment></comment>


Show HN: Eventbot – Group calendar for Slack teams - <AUTHOR> https://geteventbot.com/ <comment><AUTHOR> co-founder here - we'd love to hear your feedback!

We built Eventbot because we think chat platforms like Slack are fundamentally replacing email and so calendars can be radically better in the new chat-first world.

We've got a Free Plan with advanced features on the Team Plan, give it a try and let us know what you think !</comment>


Overpowered smart contract owner: decentralized totalitarianism - <AUTHOR> https://blog.smartdec.net/overpowered-smart-contract-owner-decentralized-totalitarianism-15e32fb2af4c <comment><USER2> Hot title)))

<comment><AUTHOR> Trying to keep as hot as possible without misrepresenting the contents)</comment></comment>


U3-X Personal Mobility Prototype - <AUTHOR> http://www.youtube.com/watch?v=cuIJRsAuCHQ

<comment><USER2> This is awesome, but the unicycle bit is actually just icing on the cake. It's those nifty, nifty wheels that interest me, with their complete freedom of movement along any vector. A two, three, or four-wheeled version would be just about as useful, though not as spooky.

<comment><USER3> The wheels were rather impressive. I can't wait until they or something similar become the norm in personal mobility. Going to have the sweetest little scooter for going to the shops with when I'm much older.

</comment></comment><comment><USER4> I thought this was a hoax video until I googled U3-X. Interesting how they started off with a unicycle application. Wonder what load it can bear.</comment>


Can you pick out a brand just by their button design? - <AUTHOR> https://medium.com/design-ux/77eb4f9a439d

<comment><USER2> I quote:

        Betteridge's law of headlines is an adage that states,
        "Any headline which ends in a question mark can be
        answered by the word no."

<http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines>

This is a case in point.

<comment><USER3> I guessed Microsoft right because everybody was complaining about their flat buttons a while back and recognised Amazon, but the others…no idea whatsoever. But then I also don't really use their products, so I don't know what I expected.</comment></comment>


Warm and unaffected, Philip Glass's memoir is nothing like his music - <AUTHOR> http://www.thenation.com/article/204313/words-music-perhaps

<comment><USER2> A nicely written article -- just about the memoir.

Compare the recent discussion at [https://news.ycombinator.com/item?id=9286557](https://news.ycombinator.com/item?id=9286557) . That article came to a similar "thumbs-up" conclusion about the autobiography ("What is more, _Words Without Music: A Memoir_ is an engaging, even charming book, one of the most readable autobiographies ever written by a classical composer."), and a similarly guarded conclusion about the music ("half-full").</comment>


Ask HN: Disk based caching server? - <AUTHOR> I'm trying to find one or more articles I previously read from HN but haven't had any luck finding them today. They were on the topic of using caching built into filesystems/disks which has been improved for decades instead of trying build an application based caching system on top of that. I believe there were comparisons between some nosql or caching databases with one in particular being the example of the disk caching approach where the server in questions was simply a thin api layer on top of the filesystem. I may have some of the wording or facts mixed up but if this sounds familiar please point me in the right direction. Thanks <comment><USER2> I don't have that much faith in disk-based caching. The disk doesn't know my workload, but I do. At least in the Windows world, hybrid hard drives have been a scam because the problem with windows has never been that the average disk access is slow, but that every so often your machine goes out to lunch for 30 seconds because of an I/O storm. What people actually feel and what affects your brand image is the 99% latency level or worse.

</comment><comment><AUTHOR> I eventually found that what I was looking for was Varnish. Here is the description from wikipedia that explains the disk caching side of things....

"Varnish stores data in virtual memory and leaves the task of deciding what is stored in memory and what gets paged out to disk to the operating system. This helps avoid the situation where the operating system starts caching data while it is moved to disk by the application."

Thanks to anyone who tried to help :-)</comment>


California Leads the U.S. in Digital Privacy - <AUTHOR> https://www.eff.org/deeplinks/2015/10/california-leads-way-digital-privacy <comment><USER2> This would be leading the US? I don't see any mentions of any other part of the world, and the EU is generally better about this stuff (as I understand things, at least).

<comment><USER3> Ok, we put that in the title.</comment></comment>


Show HN: Process Governor – a tool to put limits on Windows processes - <AUTHOR> https://github.com/lowleveldesign/process-governor <comment><USER2> This looks interesting. Nice work! Seems similar to Process Lasso[0], albeit with fewer configuration options. Process Lasso isn't open source, but is a great tool that has served me well for years. I'll definitely be trying this out though.

[0] - [https://bitsum.com/](https://bitsum.com/)

</comment><comment><USER3> I'm using this for years. It's very solid.

</comment><comment><USER4> Is there already goodness that does this in Linux?</comment>


Ask HN: Worth spending $6000 on this domain? - <AUTHOR>

We're a startup developing a video builder platform to automate high level production videos for small businesses.  We currently own the domain promostudio.com that I bought aftermarket.  Now we're considering switching it viddio.com because it's shorter, one word, phonetically is easier to pronounce, and IMO shorter domains look more authoritative and credible.  Guy was asking $15,000 but got him down to $6000. I know it's pronounced "video" but it's spelled different but it doesn't appear to be a problem with sites like tumblr, flickr, reddit, although I realize they are on a different scale.<p>Is it worth it/that much better than what we have?  Thoughts? <comment><USER2> I'd say no.

It seems easy to worry entirely too much about a name or logo. I think a great product makes its name and great name can't save a bad product.

I think your current domain is fine, better even.

Say I'm a small business owner who used your service and I want to recommend it to a peer, I'd wager that my reccommendation is going to stick better as "Promostudio.com" than "V-I-D-D-I-O. No, it's like video, except it has two Ds and I in place of E. No, V-I-D-D-I-O."

<comment><AUTHOR> Good point. Certainly the product matters most but I can see how it would be very confusing when explaining to a peer. Thanks!

</comment></comment><comment><USER3> Definitely stick with promostudio.com. Sounds like a word-of-mouth kind of business, unlike tumblr/flickr/reddit which spread virally by link sharing so verbal spelling is less important.

I tried to find some more domains, but I was surprised how saturated the domain space is with anything to do with "video". Best I've found is:

pitchproduction.com

hypespotlight.com

(more here: [http://wedomainsearch.com/#/dYVtJ0zS](http://wedomainsearch.com/#/dYVtJ0zS))

Though promostudio.com is probably better.

<comment><AUTHOR> Ya, it's crazy that almost everything related to video is taken. I like promostudio.com a lot which is the reason I got it just wasn't sure if it was a little long. But since this isn't the type of thing to have social sharing and being B2B, that angle probably doesn't matter.

</comment></comment><comment><USER4> I would lean towards 'no'. Adding letters to a common word is currently much less common than removing vowels or combining consonants, so will be slightly harder for people to remember.

The exception might be if you have social curating, in which case a play on Digg might work out - vidd.io would be a good domain for that :)

Personally I would look for a word that is related to video, but is not a direct step from misspelling it.

</comment><comment><USER5> Promostudio sounds way better. Domains should try to stand up to the phone test, and viddio most certainly does not even come close.

I've bought/sold a number of domains and have a pretty good idea for pricing. I wouldn't pay $100 for viddio.com

Promostudio is excellent (assuming it's not trademarked already). Very professional and easy to spell. Worry about your product, your domain is plenty good.

<comment><AUTHOR> Ya I checked uspto.gov before I bought it and the name was available which was the reason I got it. Glad to hear the consensus is that we got a solid name that is good which means I don't have to drop $6000 on another :)

</comment></comment><comment><USER6> Another vote for "No."

I'd expect Viddio.com to be a $100-250 domain, not thousands.

PromoStudio also looks/sounds more professional to me, is easier to say to people via word-of-mouth without having to spell it and hope they remember the spelling, etc.

</comment><comment><USER7> You'd be mad to pay six grand for that domain -- promostudio is better.

Search for an alternative on LDS. [http://www.leandomainsearch.com/search?q=video](http://www.leandomainsearch.com/search?q=video)

Regards Melt

<comment><AUTHOR> Rad site, never heard of it...thanks!

</comment></comment><comment><USER8> It's worth $6k if it means that much to you. Regardless of if others think its worth it or not or even if $6k is a good value for it. If you can justify it for $6k then get it.

</comment><comment><USER9> No, I wouldn't pay for it. A domain is important, but I think, in this case, your product is much more. A different domain name wouldn't make too much difference.

<comment><AUTHOR> Do you think the main reason it's not worth it is because its B2B instead of a social sharing video concept?

<comment><USER9> Yes, it may be a reason. You don't need something "catchy". If you are useful, people will work with you no matter what. You are there for money, not for fun.

</comment></comment></comment><comment><USER10> I say no. Focus on your product and once you take off and makes loads of money, you can get a better domain name if you want.

</comment><comment><USER11> viddio.com is not even worth $600 imo, if you are really looking for spelling hacks, do some searching on domain finding tools, you can better hacks for free but like as others said, in your case, I don't think the domain name doesn't matter that much.

</comment><comment><USER12> you could try with another domain. when i launched my site, the .com was for sale over 15000$ but .eu was not yet registered so i went with that.

</comment><comment><USER12> you could try vidd.io or something similar.</comment>


Ask HN: Who wants to build a crazy off-grid security system? - <AUTHOR>

I've tried asking my "in" at SparkFun, but nobody there seemed interested (or had the time).
Background: Have a mountain valley property in Colorado which I frequently leave, and recently an extraneous wood stove was stolen...so now I need a security system. I don't have the time to fully implement what I'm thinking (though I will probably implement any software mobile apps or server logic necessary), so I want to pay someone to rig the hardware. I have no interest in reselling what we develop, feel free to take it and run, open-source, sell, blog, etc.
I'd like most of the hardware to be be Pi/Arduino/iOS/Android based (shit that's easy to come by and easy to hack on), and I will provide an internet connection via a wireless router.
For example...
Power: Solar Platform(s): Pi/Arduino Systems: Remote video/still monitoring, motion-based alerts, motion-based two-way video/still/sound activated link from my phone to property-based hardware, drone paintball rigs for further back on the property (the house is a ways back from the road), auto-turret water guns, broken window glass detectors, etc.
PM me with $$ per hour and we can scope out the details for hours to implement a system, etc. franklovecchio at gmail dot com ! <comment><USER2> [http://www.paintballsentrygun.com/](http://www.paintballsentrygun.com/) might get you most of the way.

"On this site we have published complete directions on how to make your own sentry gun, which autonomously tracks, aims, and shoots at targets..."

</comment><comment><USER3> You don't need a bunch of self-engineered crap.

A good place to start is /r/homedefense. There are some excellent "off-grid" security systems there. Check the sidebar.

I plan on getting a cheap Honeywell Lynx head unit and a bunch of sensors for under $200. And then interfacing a RaspPi to that for alerts/web ui.

On the video side, the newer Foscam 720p cameras are excellent with an SD slot for local DVR as well and the ability to stream/push/pull video for off-site storage.

[http://www.reddit.com/r/homedefense](http://www.reddit.com/r/homedefense)

<comment><AUTHOR> This is amazing! Thanks.

</comment></comment><comment><USER4> I like the way you think. Cool idea!!</comment>


Private WhatsApp groups visible in Google searches - <AUTHOR> https://www.dw.com/en/private-whatsapp-groups-visible-in-google-searches/a-52468603?maca=en-Twitter-sharing <comment><USER2> It's unsurprising. Here's capture of chat.whatsapp.com robots.txt page: [https://web.archive.org/web/20200222114340/https://chat.what...](https://web.archive.org/web/20200222114340/https://chat.whatsapp.com/robots.txt)

</comment><comment><USER3> >DW's Jordan Wildon discovered the bug on Friday. "Your WhatsApp groups may not be as secure as you think they are," he tweeted

If a link to your whatsapp group ends up crawled by Google it's because you posted it in a public website, and then you clearly don't care how secure your group is

<comment><USER4> If it's a group and someone other than you post the link somewhere you'd be exposed without knowing, that you care or not doesn't really matter.

</comment></comment><comment><USER5> There could be an API for checking if URLs/links given in social media platforms should be indexed or followed. e.g. [https://ispublic.facebook.com/whatsappgroup/id35425265](https://ispublic.facebook.com/whatsappgroup/id35425265)

<comment><USER6> There could be, but why? Why would anyone use that?

</comment></comment><comment><USER7> The article calls this a "bug", but I don't see how this can be anything other than working as intended?

I generate a link X to do Y on application Z. I post link X on a public website. Crawlers index the public site. When I search Y application Z, the page containing link X is returned in the results.

What action is the author expecting? For all search engines to recognize and ignore these URLs? What about malicious actors? Ask them nicely to ignore?

<comment><USER8> they're expecting that the word private means something. Why do you think that an unauthenticated user should be able to read comments of a private group just because they have a URL?

<comment><USER9> > they're expecting that the word private means something

In a world where Facebook and Google have widespread vulns exposed on at minimum a yearly basis, that's their fault for not reading, and just "trusting the computer".

I'm not a chef, but I make sure I know where my food's coming from to the best of my ability.</comment></comment></comment>


More Dirty Coding Tricks from Game Developers (2010) - <AUTHOR> http://www.gamasutra.com/view/news/249475/More_dirty_coding_tricks_from_game_developers.php <comment><USER2> A couple of those are cited like this:

> \- Anonymous (sourced from Reddit replies to the original 2009 Dirty Coding > Tricks article)

So not anonymous at all then. reddit comments have usernames attached to them, URLs that can be linked to, and even an on-site messaging system that can can be used to ask the author for permission to use the content. Heck, every comment has an "embed" link below it to conveniently embed the properly cited comment right on your page.

Is this a thing that's okay to do? Take someone else's content from someone else's website, copy-paste it into your article, and claim it was "anonymous"?

Would this author be okay with it if I copy-pasted their articles to my blog? What about if I stole all of the comments posted to their articles to make my site look more active?

<comment><USER3> No, it's not okay. The media, especially gaming publications, have been doing this stuff for years now, and it's ridiculous. Some publications have wised up, but many haven't.

It's greatly amusing when someone just gives up all pretense and just scrapes a subreddit, then SEO blog spams every single post - because then the members will upvote stories about how terrible the website is. I unfortunately can't find anything specific at the moment, but 2 of the big ones I remember was /r/makeupaddiction and /r/gaming.

EDIT: For the curious, here's the mod post about the /r/makeupaddiction incident [https://www.reddit.com/r/MakeupAddiction/comments/39o74y/mod...](https://www.reddit.com/r/MakeupAddiction/comments/39o74y/mod_notice_your_pictures_are_being_used_without/) I'm unable to find the others at the moment, though there is a list under the top comment on the thread I've linked.

</comment></comment><comment><USER4> I have a story kind of similar to the one called "...Or is it over here!?"

A friend of mine was having crashes with a program. When debugging it he found that a bunch of his local variables had weird values. He suspected that there might be a buffer overflow elsewhere that was trampling over the memory.

The fix? Just add "char buffer[ 1000 ];" to the function to absorb the damage. It fixed the crash and it shipped like that.

<comment><USER5> This reminds me of an older "dirty trick" where a buffer was sacrificed, instead of added, at the end of the project in order to ship.

See "The Programming Antihero"[1].

[1]. [http://www.gamasutra.com/view/feature/132500/dirty_coding_tr...](http://www.gamasutra.com/view/feature/132500/dirty_coding_tricks.php?page=4)

<comment><USER6> I've done something like this on a production data base server before. Maybe not the same thing but I allocated a really big file because mysql would occasionally grow its ibdata file to full the disk before we could handle the alert. Deleting this file allowed room to maneuver after restarting the database and dealing with this run away journal file.

The other similar urban legend is the enterprise teams which have for(int i=0;i<10000000;++i); loops in code which they can remove a zero when performance boost is needed and they can quickly provide a fix.

</comment></comment></comment><comment><USER7> > Here is a horror story from the good old days when men were men and used > DirectX 7.

Ugh.

> Personally, I hate CONST with a passion, so I like this trick.

Ugh.

> PhysicalObjects could take damage. The air strikes did enough damage in a > large enough radius that they were quite literally "killing" the camera. I > did fix the bug by ensuring that cameras couldn't take damage, but just to > be sure, I boosted their armor and hit points to ridiculous levels. I > believe I can safely say we had the toughest camera in any game.

Awesome.

<comment><USER5> Regarding the camera with hitpoints, is there a name for that class of bug? Poorly thought out code reuse? Overly specific inheritance?

A similar seeming bug is the old "kangaroos with rocket launchers" story (from military simulations, not games) [1].

[1] [http://www.petting- zoo.net/~deadbeef/archive/4488.html](http://www.petting- zoo.net/~deadbeef/archive/4488.html)

<comment><USER8> It's inherent to common game architecture. Far out the most flexible way of dealing with the multitude of complex entities in a game is to not work with inheritance but rather with 'components'. Ideally this means that an entity is nothing more than a UUID for which data is stored in component tables (a la relational databases).

Unfortunately that approach is rather cumbersome to reason about and brings with it unhandy syntax requisites. Given an entity UUID, how do you get a value for some property? It would be component_table_get(health_components, entity_id)->hitpoints. Or something similar. (note: what happens if you accidentily call that function on a entity_id for which no health_components entry exists?)

The alternative which is really fine for smaller games and which often leaks into the codebase of larger games, sometimes for performance reasons is to make the entity a struct which has some members common to all entities. Now you can do entity->hitpoints, but the downside is that every entity, including abstract game components such as the camera also have hitpoints.

If you're curious why games don't do inheritance (anymore) look up articles about Component Entity Systems, they usually do a good idea of explaining why games are too complex for inheritance.

<comment><USER9> > Unfortunately that approach is rather cumbersome to reason about and brings > with it unhandy syntax requisites. Given an entity UUID, how do you get a > value for some property? It would be component_table_get(health_components, > entity_id)->hitpoints. Or something similar. (note: what happens if you > accidentily call that function on a entity_id for which no health_components > entry exists?)

I work with Unity engine (which uses exactly that model), and in good code these problems don't arise — or, rather, these checks are meaningful and actually represent the logic, rather then being "unhandy syntax requisite".

Imagine that you have a lava object with a trigger collider (that means that it doesn't influence the physics) and a Lava custom component (MonoBehaviour) on it. In `OnTriggerEnter` method of Lava you run `var health = GetComponent<Health>()` method on GameObject that entered lava and determine if that thing is something that can be damaged — because, quite possibly, it is a camera (as in that example) and the method will return null. And then, if it is something that you can damage, then you can use the `health.Damage(5 /* random dice roll */)` on it.

</comment></comment></comment></comment><comment><USER10> > we'd inexplicably get a crash in printf [..] The client in debug would print > out the hashes of every content package the server told it to load, and > apparently one of them (on this build) had a % in the hash. We couldn't > figure out a reasonable fix for it, but #ifndef PS3 worked just fine until > the next data build

Friends don't let friends printf(str).

<comment><USER11> I didn't really understand that problem. They couldn't fix this?? Like, they didn't know how to escape/replace percent signs or print differently? Maybe I am missing something but it does not look like a particularly elusive problem.

<comment><USER12> How I understand is that they had printf(x) somewhere and some values of x included the '%' character. If this has been inside the UE and the x itself was a hash value then both replacing with printf("%s",x) and changing the x's value could be problematic.

</comment></comment></comment><comment><USER9> I want to do something very violent to that person who "hates const with a passion". No wonder he didn't provide his name.

<comment><USER13> 'const' in C and C++ is broken. Not only is it like a Chinese word that varies wildly in meaning depending on where you use it and how it is inflected, but in C-family languages, 'const' modifies _type_ , making objects that benefit from the compiler hints 'const' implies type-incompatible with objects that do not. This results in the problem of some know-it-all deciding that a core API needs to be const-correct, and checks in changes making it so, only to find that the entire fucking code base is now broken.

Note that I'm not saying "don't use 'const'" with the above (and I'm CERTAINLY not saying "using '#define const' in your code base is a good idea"); only that 'const' in C-family languages has significant drawbacks which may affect the engineering tradeoffs you make when you decide whether to use it.

By contrast, languages such as Ada have explicit and implicit constantness restrictions ('in' parameters, for instance, cannot be modified), but these do not modify the type of the object, allowing objects with these restrictions to be type-compatible with objects without them.

<comment><USER14> I don't really understand what you're saying.

 _' const' in C and C++ is broken. Not only is it like a Chinese word that varies wildly in meaning depending on where you use it and how it is inflected, but in C-family languages, 'const' modifies type, making objects that benefit from the compiler hints 'const' implies type-incompatible with objects that do not._

They're not type-incompatible in any way that doesn't violate those compiler hints in the first place - C and C++ fully support sensible coercion between const and non-const types. What more do you want?

 _This results in the problem of some know-it-all deciding that a core API needs to be const-correct, and checks in changes making it so, only to find that the entire fucking code base is now broken_

Would you rather it compiled and silently broke? If some dingus breaks the build by changing an API without checking in the corresponding code using the API, how is that C/C++'s fault?

 _By contrast, languages such as Ada have explicit and implicit constantness restrictions ( 'in' parameters, for instance, cannot be modified), but these do not modify the type of the object, allowing objects with these restrictions to be type-compatible with objects without them._

This is bizarre. Can you take that 'in' parameter and then pass it on to another function as an 'in/out' parameter? If so, then either

1\. Ada just made you a copy silently (bad)

2\. Ada is broken and 'in' means nothing (worse).

If neither of those are true and an 'in' can't be transitively passed on as an 'in/out', then _that 's a type_ \- however you want to refer to it, 'in' is then a type with all of the 'broken' type restrictions you're railing against in C/C++.

<comment><USER15> const is type-incompatible like this:

Suppose you want to write a function that returns all the nodes in a tree that satisfy some property. In C++ you have to define two different versions (or use templates to make the compiler clone it for you):

      vector<Node*> GetGoodNodes(Node* root);
      vector<const Node*> GetGoodNodes(const Node* root);

If more than one type is involved in the operation, there can be a combinatorial explosion.

<comment><USER9> I don't feel that I understand purpose of this function yet.

Does this function return data point that it creates itself, or does it retrieve these nodes from somewhere else? If it's the first option, who's in charge of deleting them? If it's a second option, who's in charge of counting references to these objects? Also, if it's a second option, and this data points are retrieved from a certain storage, are you absolutely sure that whoever gets this data should be able to modify them?

<comment><USER16> > Does this function return data point that it creates itself, or does it > retrieve these nodes from somewhere else?

It returns pointers to the nodes in the tree. You know this because the caller isn't supposed to (or allowed to) delete them, because if the caller was responsible for that, they'd be wrapped in smart pointers.

> If it's a second option, who's in charge of counting references to these > objects?

The pointers in the return value are valid as long as their particular descendant of the function parameter isn't deleted. There's no need for reference counts, and if they're present at all, they aren't updated by this function, since the caller isn't responsible for decrementing them. If the caller was responsible, the return value would be a vector of smart pointers.

> Also, if it's a second option, and this data points are retrieved from a > certain storage, are you absolutely sure that whoever gets this data should > be able to modify them?

If they have a const node *, they shouldn't. If they don't, they should.

<comment><USER9> Thanks! Your first two answers would be obvious if we assume that we're working with modern codebase written by adequate developers, but that's a very strong assumption to make, so I wanted to be specific.

And your final answer is, well, exactly the point I was trying to steer the conversation to. In other words, if you declare both methods, it means that you're doing something wrong: you're giving away data mutably and immutably at the same time, and it just doesn't make sense.

<comment><USER16> You aren't.

If you have a non-const node, you can access its children non-constly _or_ constly (which you could do anyway, since you could make your reference to the node be const at any time). If you have a const node, you can only access its children constly.

This makes perfect sense.

<comment><USER9> My bad: didn't read the code carefully, thought that these were methods.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> wh-uws The battery backup initialization hack from NBA JAM TE is random and hilarious

[http://www.ign.com/cheats/games/nba-jam-tournament- edition-g...](http://www.ign.com/cheats/games/nba-jam-tournament-edition- gen-6289)

<comment><USER17> Is there an explanation for this somewhere?

<comment><USER18> I was also looking for more info on this. Sounds like a good idea for a blog post if anyone can shed light on how/why this works.

<comment><USER19> Agreed. My limited Google searching turned up nothing.

</comment></comment></comment></comment><comment><USER20> Pretty sure Nicholas Vining was referring to the LithTech engine and the game would be Die Hard: Nakatomi Plaza

<comment><USER21> Yep, this is the comic he was referring to: [http://www.penny- arcade.com/comic/2002/02/11](http://www.penny-arcade.com/comic/2002/02/11)

<comment><USER22> This is actually not the first mention of that character -- that would be this comic[0] -- but seeing as that comic doesn't mention an engine and the rest doesn't really fit either, presumably the one you link is the one he actually meant.

[0] [http://www.penny-arcade.com/comic/2001/07/11](http://www.penny- arcade.com/comic/2001/07/11)

<comment><USER23> Nicholas Vining was referring to the first ever _appearance_ of the character, not its first _mention_. The Lithtech comic is the first appearance, and the one you've linked is its first mention.

<comment><USER24> Interesting. Does it not count as an appearance even though its box is there, with the item inside?

</comment></comment></comment></comment></comment><comment><USER5> The earlier articles[1][2] are also pretty good.

I'm utterly horrified by the "(s)elf-exploitation" story. Ugh. Clever.

[1] [http://www.gamasutra.com/view/feature/194772/dirty_game_deve...](http://www.gamasutra.com/view/feature/194772/dirty_game_development_tricks.php)

[2] [http://www.gamasutra.com/view/feature/132500/dirty_coding_tr...](http://www.gamasutra.com/view/feature/132500/dirty_coding_tricks.php?page=4)

</comment><comment><USER25> I wonder if these anecdotes would be a good litmus test for developers. They make me cringe, but I work on business software, not games.

I really don't like the idea of papering over the bugs so that your testers can't find them anymore, I'd much rather find the underlying issue. On the other hand, the described changes were often very practical, solved a customer need, and were manageable to implement. So that sounds like a win!

<comment><USER26> Few things contribute to it. Mostly it's lack of time, and the fact that we don't really have to support code for long periods of time. If the input code works then it works, when a game is released its code it's mothballed on a server and I don't even see it again unless there's some urgent patches(and 6 months after release the chance of that happening reduces to zero), and then I have to request IT to give me access to that code again.

</comment></comment><comment><USER27> What happened to altdevblogaday.com anyway? It had content similar to this.

<comment><USER17> Isn't it awful when such resources vanish?

When Megaupload was destroyed, it was like losing the Library of Alexandria to me. The ATF can't just destroy the entire nation's set of self-storage units because they found drugs or pirate DVDs in some of the units. But that's what happened with Megaupload. Some people lost family photos, some people lost backups of theses... Why couldn't the authorities have taken it over, eliminated illegal content, and turned it over to some sort of Vichy CEO? There need to be protections for data storage customers in a FDIC sort of way, I feel.

<comment><USER28> Police (and the like) are paid for capturing criminals, not for doing what is morally right (some hope they are the same thing, but many times it isn't)

<comment><USER29> Capturing people doing wrong things by doing wrong things. Strangely consistent.

<comment><USER30> This actually not as strange as you'd think:

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

<comment><USER29> Interesting view, very interesting view.

</comment></comment></comment></comment></comment></comment><comment><USER31> I've read that Wing Commander anecdote before, and it still doesn't make any sense to me (also I don't remember that original message "Thank you for playing Wing Commander" message and every abandonware version I found had a different message - "You step out of the airlock and into.."). It doesn't make sense because EMM386 is the expanded memory manager that came with DOS. It's not something you ship with your game and can hex edit at will. Now if it was a 3rd party library that USED EMM386, and which they didn't have the source for, then that might make sense..

<comment><USER32> There were third party memory managers that you could use in DOS; for example, QEMM and 386max. I assume Wing Commander was licensing and shipping one of those rather than relying on the stock memory manager. In fact in 1993 MS licensed some technology for later versions of EMM386 from Helix's third party memory manager[0].

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

<comment><USER31> Yeah I used to run QEMM. I don't think anyone would have shipped QEMM or 386max with their game, since they were commercial products for end users. It sounds like, as someone else said, the story was mangled over time.

</comment></comment></comment><comment><USER33> Ah, debugging games... It screams desperation when you see code that is sprinkled with "int 3" 'cos no one knows where or why it's crashing.

<comment><USER14> There's a whole lot of desperation in the air when you're final-ing and your development director is standing over your shoulder at 1 in the morning. :-)

</comment></comment><comment><USER34> > I then remembered that when you put the window in the notification area or > in the start-menu bar, Windows immediately reclaims unused/freed memory.

Wow. Is this a horrible hack or a wonder of the tight integration between the GUI and the kernel in an operating system designed to be used in a desktop? I'm torn :)

<comment><USER35> I think that this is some kind of oversimplification of what actually happened.

AFAIK there is not even an operation like "put window into notification area" as part of WinAPI as the icons are mostly orthogonal to windows (and are not even intended to represent "more-minimized" windows).

The icon has to reference some window, but only because it generates window messages that have to be consumed somewhere. Fun fact: at least on 2k and XP, when the window goes away, the icon stays visible unless it is explicitly deleted by user code and is removed only when some message would be sent to now non-existent window (ie. when users mouses over the icon).</comment></comment>


Day of the Programmer - <AUTHOR> https://en.wikipedia.org/wiki/Day_of_the_Programmer <comment><USER2> So wait, when do we celebrate? On the 256'th day or on day number 256? And is January the first the first day or day 0 of the year. And how was it with the leap years? is this a leap year?

Oh god, celebrating Day of the programmer with off by one errors, stupid 1 or 0 indexing, stupid irregular date calculation, and a slightly strange naming scheme. I have no idea whether I should hate this or love it!

<comment><USER3> I'll start my own celebration day. Programmer's Day. It's basically the same, with some improvements, and does not comply with the existing standard.

Everyone who is frustrated with this confusion about the Day of the Programmer, come celebrate Programmer's Day which is exactly the same but different!</comment></comment>