My Software Is Being Pirated - <AUTHOR> http://www.codinghorror.com/blog/archives/001201.html <comment><USER2> "Charge a fair price for it." seems to be a meaningless platitude in this instance, sort of a soup-bone to the "I'm only pirating because it is overpriced" apologetics. Isn't the whole point of the anecdote that World of Goo is, umm, more than fairly priced? (Seriously, people are pirating a $20 pass to pure gaming joy which requires a machine minimally ten times as expensive to run. Probably a hundred times for many of the pirates, since they are gaming enthusiasts.)

Want a recipe for being pirated less? Make something that people wouldn't want to get for free. _crickets chirp_ Actually, that probably won't even help -- I think a large portion of piracy is essentially pathological. Bingo Card Creator -- an which assists primary school English teachers who are, on average, not likely to be reading Chinese pirate forums -- got spikes of 10k+ downloads when the new cracks were released.

It even had a description translated into Chinese... which was hilarious. (My brother translated for me: "Apparently it's like a gambling game for English or some shit.")

Honestly its like putting a shiny object in front of that bird with the unhealthy fascination for shiny objects whose name I am forgetting at the moment. If your code compiles, it will be pirated. You could make a Windows forms calculator with only a plus button, with an equals sign available with a CD Key, and people would pirate _that_. (I've often thought of trying it.)

<comment><USER3> I see this argument a lot, "Oh well, it's cheap, so people should just pay for it!" and it seems to gloss over one important fact.

Money is not an unlimited resource.

If there are say.. $4,000 (purchase price) of fun and awesome things released in a year, and the average person after things like bills, rent/mortgage, etcetera only has say.. $500 left to actually spend on frivolity, then they might decide the following:

"Well, I guess I will download the rest. It's not like they are losing a sale. I don't HAVE any money, anyway!".

And, if this is the case, it's true. No-one actually LOSES anything. You can't lose a sale you could never have made anyway.

So such numbers can be shockingly misleading.

<comment><USER4> But is it OK for someone to benefit from something they aren't willing to pay for? What is the difference between someone who decides to go without because they don't or can't pay and someone who says I can't/won't pay so I'll just copy it from someone else? Is it morals or economics?

<comment><USER5> "But is it OK for someone to benefit from something they aren't willing to pay for? "

It happens all the time. For example, I benefited from your comment, but I wouldn't have paid to read it.

<comment><USER4> The currency on HN is karma points. I can only hope you will do the right thing ;^).

</comment></comment></comment></comment></comment><comment><USER6> Quote:

       In fact, the most effective anti-piracy software development strategy is the simplest one of all:

       1. Have a great freaking product.
       2. Charge a fair price for it.

Is he joking? The World of Goo _is_ a great freaking product. And The World of Goo _is_ fairly priced at $20. And yet the piracy rate is still at 82% or so. So where does Jeff base his "in fact" anti-piracy claim on?

<comment><USER7> "So where does Jeff base his "in fact" anti-piracy claim on?"

I would attribute it to wishful thinking based on an assumption of human morality. The truth is that people are lazy and don't consider the morality of their actions. How else can the rampant piracy of tv shows freely available on hulu.com be explained? The commercials are very short and the quality is good. Pirates are in the habit of getting their software from bittorrent and don't even look for a legal method of obtaining the software they use.

<comment><USER8> Meh, in the case of music and games, I know a lot of people who pirate as a "try before you buy" type of thing, and then shell out the cash for the product if they think it's worth it.

I do this with music (I recently dropped illegal art a sum of money equal to what I've downloaded due to Girl Talk and a few other awesome artists on that label).

<comment><USER9> I suspect this is bullshit. My guess is that this is what they tell themselves their philosophy is, but tend to "forget" or "not get around to" paying for most of the stuff they actually liked.

Do you disagree?

<comment><USER8> Yes, I do. Because I _know_ these people, and I _know_ that they do these things because I have _watched_ them do them, repeatedly.

Edit: It may be bullshit in the general case (applying to people who make the claim of "try before I buy"), but it is not bullshit in the case of myself or the people that I actually know who claim that.

</comment></comment></comment></comment></comment><comment><USER10> If piracy rates haven't changed in 32 years and are still at 90% doesn't that mean piracy doesn't hurt technology?

Developers have a perverted view, they think 90% of people are stealing their product. When really 90% of people wouldn't pay to use your product to begin with.

This is when DRM comes in and the developer tries to force this 90% to pay. However, people either hack the DRM or simply don't use the product. I imagine Linux got a lot more users when Microsoft started implementing DRM and some people didn't want to fight with it.

Adobe and Microsoft prices are ridiculous, why? Because they make money off the 10%, not off hunting the 90%. Microsoft doesn't even actively target pirates, it doesn't check every time you go to send an error report, it doesn't check every time you log in. Why? Because the 90% of people are an amazing resource to hunt down problems that will make the 10% pay even more, specifically big business.

<comment><USER11> Adobe doesn't "hunt the 90%" because doing so would impose conditions so onerous on the remaining 10% that they would lose business. So instead, they jack the price of Illustrator and Photoshop up to the limit of what the 10% will pay.

<comment><USER12> Also because it increases adoption of their product. Then, when those people go to work, they say "I know and need Photoshop/Illustrator/whatever". Businesses are easier to enforce piracy with, and will pay more.

</comment></comment></comment><comment><USER13> I'm bothered by Jeff's attitude that a game made by a bigger company is somehow more deserving of piracy.

<comment><USER14> An interesting psychological effect: Diffusion of responsibility, in reverse. If, in a situation where individual contribution to an act is miniscule, no one is to "blame" for making something negative, then no one is also to reward if the result is positive. If a big company creates value, no one _individually_ created that value in any meaningful way, so the value is psychologically "ownerless."

Is this an actual effect? I feel like doing an experiment.

<comment><USER15> I wouldn't say its necessarily so, take Microsoft - its a corporation with thousands of employees that work on its products, but how many people hold Gates personally responsible for the failings of Windows?

This example is a fairly mainstream idea... it made an appearance in the South Park movie.

</comment></comment></comment><comment> matthew-wegner The article lacks any real point--the only solid point he's making is, "if you write software and charge money for it, your software _will_ be pirated."

He then implies some software "deserves" to be pirated, by claiming World of Goo falls outside that category (because it isn't from the "bowels" of a "faceless EA-Activision franchise sweatshop").

Many independent game developers don't view piracy as black and white. I would be interested in reading an article where someone makes a hypothesis one way or the other, _and_ backs it up. This article isn't that.

And, for the record, the amended World of Goo piracy rate is 82%. 2D Boy mentions that in an update on the very same blog post Jeff links to, but I guess that would mean he would've had to read beyond the title to notice: <http://2dboy.com/2008/11/13/90/>

</comment><comment><USER16> I work with folks who are genuinely shocked when I tell them that I bought a game. They come from a culture where pretty much everybody pirates, all the time, regardless of cost or income.

It's pretty funny, since they're game developers, and some of them dream of becoming indies.

</comment><comment><USER17> I'm surprised that with all the talk of ethics, no one has mentioned the GNU/Stallman philosophy: those who are unethical are the ones making software but not making it free.

<comment><USER18> Probably because the whole world is tired of listening to RMS blather on about what he thinks is ethical (the rhetoric on his website) and what he thinks is not ethical (every other opinion).

<comment><USER16> This is a strange objection. Why would an advocate for a cause promote the opposing viewpoint, except possibly to rebut it?

I'm not saying I agree with RMS. However, if he is rational I would expect him to agree with his own (current) writings. I would also expect that on an issue where he disagrees with others, he would disagree with their writings.

</comment></comment></comment><comment><USER19> My software got pirated too: [http://appulo.us/appdb/?page=viewapp&id=2732](http://appulo.us/appdb/?page=viewapp&id=2732)

I'm wearing this as badge of honor. :-) Of course I treat this lightly because I think that less then a quarter of iPhones are jailbroken, so I know there is a fairly low upper limit to this, uhm, "free promotion" so to speak.

<comment><USER20> Pirated copies should automatically call you. :)

<comment><USER21> Even better - pirated copies should automatically call his pay-per-call 800 number.

</comment></comment></comment><comment><USER22> What's the piracy rate for iPhone apps?

<comment><USER11> Low, like the piracy rate for X360 titles.

</comment></comment><comment><USER23> Some ideas for increasing revenue in this case:

1\. increase the unique value of the physical game package; include a T-shirt, stickers, something that makes possession of the package worthwhile to someone who's played the game long enough to identify with it; mention this addition in the intro or scores screen.

2\. Run a contest on the scores server; if you are one of the high-scoring players this week and you can send in the code printed on the bottom of the box, then you get the reward. For greater psychological investment make the reward personalised with the players nick/score/rank on it.

</comment><comment><USER24> What about abandonware? Consider two different scenarios. In the first, the manufacturer or distributor no longer makes the product (game) available, but it runs well enough under emulation. In the second, the manufacturer and distributor have both gone out of business. In both cases, the term of copyright has not expired. In both cases, the game is timeless enough to be worth playing even if it looks a bit dated.

</comment><comment><USER25> You need to develop with mind to differentiate between the pay version of your software and the cracked version that the pirates will inevitably get. In gaming, the traditional differentiator is multiplayer, or access to a community forum where people exchange levels made with the level designer.

This is one thing that makes SaaS so attractive to developers -- generally it's impossible to pirate.

</comment><comment><USER26> I love threads like this because they show who's who.

One of the many reasons I joined hacker news was to meet like minded people for possible future collaboration. Sometimes you really get to know each other here.

AFAIC, there is no gray area in ethical matters. Right is right and wrong is wrong. If you use situational ethics to justify what is clearly wrong, you may have made an interesting argument, but you have also done one other thing: you have automatically disqualified yourself from ever doing business with me (and probably many others here, I suspect.)

A little background:

I once wrote some software that a partner installed in a remote client site for which our company got paid. Unbeknowst to me, he also installed that software at another site and kept all the money.

I bought the used car from one of my partners at an agreed upon price and found out later that he had disconnected the speedometer for as many as 50,000 miles.

Another partner of mine had a side business selling hardware and negotiated a backroom deal with our customer that jeapordized our major project.

One IT director where I worked had software salesmen leave their documentation for "project review", photocopied it, and used it for our own functional specs, with no intention of ever buying anything.

Starting to get the idea of how "you wouldn't have made any money anyway" easily morphs into "fuck you"?

And as far as software pirating goes, I have only this to say:

If you steal from me, I will seek recourse any way I can. Period.

And for those of you who want to debate ethical considerations here at hacker news, you may want to think twice about the persona you end up revealing in this public forum.

<comment><USER19> Somehow you managed to pick up more than your fair share of unethical people. Maybe you are doing something wrong.

<comment><USER11> Or maybe he's just unlucky, or maybe he's just decided that by paying attention to how people treat other people, he can get a good readout on how they'll treat him when the chips are down. There's a classic sales interview trick that has to do with taking the candidate out and seeing how he treats the waitstaff and how well he tips. Same idea.

It's also possible that he just has a lot more life experience than you.

<comment><USER19> Had you abvoided the ad-hom we could have had a conversation.

<comment><USER11> About whether edw519 is "doing something wrong" because he's had bad partners? Oh well. Another missed opportunity for me.

</comment></comment></comment></comment></comment><comment><USER27> _"... Software piracy is a fact of life, and there's very little you can do about it ..."_

To those who see only what is, not what can be.

</comment><comment><USER28> apropos: <http://news.ycombinator.com/item?id=411985>

</comment><comment><USER29> It says you can prevent piracy by:

> writing a completely server-side application like World of Warcraft or Mint

But that is not true! World of Warcraft has lots of "private servers" where people play for free.

<comment><USER30> I don't get why he mentions Mint as well, since Mint is a free product (right now, that is). Can't pirate something that's free..

<comment><USER31> I guess if you block ads you're "pirating" Web apps. And unlike with software, the marginal cost of serving a user is nonzero.

<comment><USER30> However, mint has no ads, doesn't charge for the iPhone app I use all the time, has never spammed my account in any way... the only thing mint probably does make money from is commission from banks for referring new customers, but if mint can provide unbiased information about why switching from one bank account type to another can give me some sort of benefit (and in my limited experience, it has), it's a mutually beneficial relationship.

I am aware there are costs to providing a service, but when you provide them at no cost to your customers, that is not piracy.</comment></comment></comment></comment>


Ask HN: What if a candidate gave a company an "employer challenge"? - <AUTHOR>

Not long after reading a TechCrunch article posted recently -- http://techcrunch.com/2015/03/08/on-secretly-terrible-engineers/ -- I went through my latest "developer challenge" experience. ~4 hours of work rejected because of a single bug. Argh.
Is it time for candidates to give companies "employer challenges"?
What would those look like?
Would any employers be brave enough to take them? Is it reasonable to expect employers to? <comment><USER2> > I went through my latest "developer challenge" experience. ~4 hours of work > rejected because of a single bug.

Consider yourself lucky. Do you really want to work with such people who don't value your time and are so nit-picks?

Whenever, an employer asks me to do a challenge, I ask them how long do they think the challenge will take. I double the given estimate and if it is more than an hour or two, I ask to be paid. Most employer decline and I decline to further pursue. Simply, if they don't value my time now, they are not going to value my time after they hire me definitely. I maintain a list of such companies so that I can avoid them in the future. I also don't use or recommend their products and as a place to work to anyone.

<comment><USER3> I regularly read about people having complaints about bad experiences at companies. I know there is glassdoor, but I would love a more focused place where we could name these companies so more people don't waste their time with them.

<comment><USER2> Glassdoor is as good as it gets. The challenge is that such reviews need to be anonymous. But majority of reviews are going to be from unhappy people.

IME, the test requests primarily come from startup tech firms and technical people who think they are better than 'most' even if they are not.

</comment></comment></comment><comment><USER4> There already is the Joel Test. Many companies on StackOverflow Careers advertise their score in job listings.

[http://www.joelonsoftware.com/articles/fog0000000043.html](http://www.joelonsoftware.com/articles/fog0000000043.html)

</comment><comment><USER5> This probably wouldn't work unless you are an extremely exceptional candidate (ex: a leader in the field, major contributor to an open source project they use internally, etc). Most of the time employers have the upper hand since there are a number of people applying to a single position. So if a number of qualified candidates apply, and one hands them an "employer challenge", their resume will be thrown in the trash.

</comment><comment><USER6> In an interview once, I asked if I could look at their bug tracking log. (They wouldn't let me.)

So I asked how many bugs where in their bug backlog. (They wouldn't tell me.)

So I asked something along the lines of "in the last year, have the number of open bugs gone up or down?" (They wouldn't tell me.)

I stopped the interview a while later (for other reasons) and told them I didn't think I would be a good fit.

<comment> dev-ious should have asked - do you keep a bug tracking log.

<comment><USER6> >should have asked - do you keep a bug tracking log. That was the first thing I asked but it's a good question.

</comment></comment></comment><comment><USER7> It could be answering a question: "how does this job help me in my development?"

Or it could be showing some portion of source code, significant enough to assess quality of code itself and its architecture.

Or giving an hour of chat with the future teammates.

</comment><comment><USER8> Don't candidates give employers "employer challenges" all the time? It's their product. I won't work for a company with a sucky product unless the founders acknowledge the suckiness and their attitude is "That's what you can help us with", not "Who the hell are you to tell me my product sucks!"

</comment><comment><USER9> having gone into jobs where i've learned to hate the top secret product i was about to work on, within the first day of actually seeing it and am just left wondering why they chose to go down that path... i've wondered where i go wrong.

i've asked dumb questions before to test the employer, things like if they have coding standards, where will i sit, who will i work with etc. but its obviously not foolproof.

some employers are just not a good fit, although i'm fortunate that they will often make it known to me due to my epic history of bridge burning, having discovered it through google and deciding to ask questions that reveal their shoddy workplace practices... it still doesn't stop me from winding up working on the arse end of nothing.

</comment><comment><USER10> To an extent, candidates are actually giving companies an employer-challenge every time they read the firm's job description. This is the mirror of asking a candidate, "So why should we hire you over other candidates?".

</comment><comment><USER11> Call future colleagues and ask about the work environment, will definitely tell you more than all the bullshit you hear at interviews and job postings.

</comment><comment><USER12> I think the employer-challenge comes in the form of the comp negotiation. That's an ideal time to push back and challenge them on whatever you want.</comment>


Amazon Key flaw could let rogue deliverymen disable your camera - <AUTHOR> https://www.wired.com/story/amazon-key-flaw-let-deliverymen-disable-your-camera/ <comment><USER2> You do know how to read, right?

The linked article is _six_ days old and this is a duplicate post.</comment>


Hacker News Meetup Netherlands - <AUTHOR>

There's a lot of HN readers in NL (and Belgium & Luxembourg) - we should meet up.
If we were to host one this Saturday in Amsterdam or Utrecht, how many would turn up?
There was talk of getting a meetup going a couple of months ago, but it doesn't seem like it happened in the end - http://news.ycombinator.com/item?id=998352
Why Saturday? Why not - let's do it fast and get something going.
EDIT: Please post where you are, and whether you'd be up for doing a short 5-minute demo/talk on something you're working on. <comment><USER2> We've held the primer several months ago. Although it wasn't very much blogged about it was a great success!

BjornW [<http://news.ycombinator.com/user?id=BjornW>] was so kind to host this meetup in his office. There is a site and mailinglist. BjornW already wanted to organise another one. So I guess we should do so. <http://hackersnl.nl/>

</comment><comment><USER3> I live in Limburg, I'd love to come but it is too far for me... sorry!

This is probably one of the first times that I'm genuinely sorry that I don't live in 'Mokum' any more.

</comment><comment><USER4> I work in Amsterdam and live in the Amsterdam area, so Amsterdam or Utrecht would be no problem for me.

However, for me personally, I'm fully booked every weekend the coming months. But don't let that stop you :-)

 _Edit:_ I'd be up for a short talk about a personal/work Javascript/jQuery project I've been working on. Very not exciting, just very practical for our organization.

</comment><comment><USER5> It happened: <http://bluwiki.com/go/Hackersnl> and it was a lot of fun :) Try contacting Beeker <http://news.ycombinator.com/user?id=beeker> because there were talks about doing this more often.

<comment><AUTHOR> Cool, thanks, should make this one much easier to organize then.</comment></comment>


A blekko tutorial for search hackers - <AUTHOR> https://help.blekko.com/index.php/a-tutorial-for-searching-with-blekko/

<comment><AUTHOR> blekko has its own 4 billion page crawl and index, with lots of fairly unique advanced search features hidden away in our slashtags. I realized recently that we've done a terrible job of communicating our advanced search features to anyone outside the company. So I wrote this tutorial, aimed at advanced searchers. Tell me what you think!

</comment><comment><USER2> /date is also a cool blekko feature! Searching for /tags also gives a nice list of a bunch of slashtags that can be used to nudge your results in many different directions!... If you're into web programming for example, you could search for something like "JSON /api" and get a totally different and valuable set of results!</comment>


Where can I get live sports scores to use in an application? - <AUTHOR>

<comment><USER2> Www.globalsportsmedia.com</comment>


Ask HN: Beside Java what languages have a strong tooling/IDE ecosystem on Linux? - <AUTHOR> I am mainly a C++ developer (which has doesnt really have any great IDE on linux). I am starting a new project, would prefer not to do it in java, but would also like to have something like intelliJ/visual studio. <comment><USER2> c++/Qt creator

[https://blog.qt.io/blog/2016/08/25/qt- creator-4-1-0-released...](https://blog.qt.io/blog/2016/08/25/qt- creator-4-1-0-released/)

</comment><comment><USER3> Hmmm.. while you should really choose a language for reasons other than tooling, the Go language has some of the nicest tooling (gofmt, golint, godef, godoc, go tool etc) among modern languages around and a number of languages are copying things like automatic formatting (gofmt). All the tooling is built in Unixy philosophy of composition of small command line tools and most developers use them via text editor plugins which exist for just about every major editor. There's an IDE called Lite IDE as well.

</comment><comment><USER4> Here are some options:

\- JetBrains makes several cross-platform, language-dedicated IDEs, like IntelliJ IDEA (JVM langs), PhpStorm, PyCharm (Python), RubyMine, WebStorm (JS), CLion (C, C++)

\- Eclipse is very modular and there are plugins for just about anything, including languages. You can probably find extensions that support the language of your choice.

\- Some IDEs use leverage Eclipse as a base and provide their own experience, like Aptana Studio (Python, Ruby, PHP)

\- Monodevelop is a solid alternative for C# and dotnet langs

\- IDLE/IDLE3 is included with Python

</comment><comment><USER5> What do you use or would like to use in an IDE? Would you consider something like Sublime text as an IDE? It has some kick ass plugins both for Python and Go which I use in my day to day... I don't feel like I am missing anything that an IDE could give me

</comment><comment><USER6> Code::Blocks was fine for me, simple and lightweight, included in many distros and suitable for cross-platform Windows/Linux work. Also: KDevelop, Eclipse, Netbeans.

</comment><comment><USER7> Scala. Not as good as Java tooling but good enough.

</comment><comment><USER8> You could try CLion</comment>


Ways to Avoid Complexity in Modern C++ [pdf] - <AUTHOR> http://vitiy.info/Slides/MeetingCPP2015/MeetingCPP2015Complexity.pdf <comment><USER2> Hm, this seems to be more advice on how to use C++14 as if it were its own language, or as if it were Java, or as if it were Scheme.

One problem I have with the advice to use the newest language features in C++ is that it sacrifices one of the biggest advantages to writing code in C++: the ability to compile for multiple platforms. It's extremely unlikely that one has a compiler for every platform that supports all of these features. Additionally, each of these language features adds a small bit of convenience to the developer, while making the compiler substantially more complicated (and hence, more prone to errors).

To summarize the points made in the first 10 slides, which is far as I read (sorry)-

1) Always use auto.

2) Use for-each.

3) Don't use new or delete.

4) Use STL for everything.

5) Use smart pointers.

<comment><USER3> > biggest advantages to writing code in C++: the ability to compile for > multiple platforms. It's extremely unlikely that one has a compiler for > every platform that supports all of these features.

Do you have war wounds from the C++ ARM or K&R C days?

I have. That was one of the reasons many of us enjoyed using Java.

It was much easier than dealing with all compiler and OS compatibility issues.

The situation with C++14 compatibility is way better than on those days.

<comment><USER4> I agree strongly with these comments.

I used template heavy C++ back in the late 1990s, rolling container classes implementing smart pointers it was tricky to get good code compatibility across a range of compilers: Edison Design Group, icc, MSVC++, gcc. Ultimately I found myself reassessing the tradeoffs in using C++ for many projects.

Fast forward to 2015 and the situation is much better - even for "soft" embedded scenarios. GCC and clang have good reach and MSVC++ is evolving with the language.

Engineering decisions are often about making tradeoffs and with the state of C++14 and things like C++ Core Guidelines and good support for RVO/move optimisations I find the appeal of C++ has broadened again. And there is good support for modern C++ on many platforms.

Of course there are platforms out there where C++ is still not suitable. For example I'm currently doing a lot of 8086 real mode work, where due to external constraints all the code has to be written in assembler. Neither C or C++ are candidates for me in this work. These platforms will always exist. But many embedded platforms with smart phone level of processing power are solid targets for modern C++.

</comment></comment></comment><comment><USER5> For some time I think of C++ not as a programming language, but as a make- your-own-programming-language-kit. It's because practically there is no the C++. Everyone uses different subset or even coding style. C++ ABI is not as interoperable as C ABI (if you can even say that it exists). Almost every bigger library reimplements Object - the base interface of everything. Then they need wrappers and adapters between those different object models. Qt for example is not written in C++ - it has to be compiled with their MOC to add signals/slots and introspection around other things. But all this ad-hoc languages suck in regard of tools. Their error messages are unintelligible and everything relies on convensions (hopefully enforced at least by code reviews). I could paste here quote about ad-hoc reimplementations of Lisp...

C++ is still necessary (evil) in some cases, but as a C++ programmer I have enough and I plan to move to other languages.

<comment><USER6> Yup, I've had the same experience. Every C++ project or framework pretty much has its own style and I don't just mean code structure.

</comment></comment><comment><USER7> The advise is pretty useless. Complexity often comes from incorrect abstractions, not from language features.

Programmers can build very complicated systems using the simplest languages available.

<comment><USER8> A language, and especially a low level language, often jumps in front of your nice abstractions and obstructs them with all the unworthy low level details and its exposed bare guts.

Techniques for eliminating this leaky abstraction are important indeed.

</comment></comment><comment><USER9> A little confused about the authors decision to do operator overloading with the pipe operator rather than a function chaining interface for the functional bit. Wouldn't a function chaining interface be simpler and use less magic?

<comment><USER10> I think it approximates the pipe("|>") operator that you see in quite a few functional languages.

<comment><USER11> And it is a poor choice to consider that in C++, because in here there already is a default non-compatible interpretation for their expression.

<comment><USER12> It depends on the context. The pipe in a data flow sense will be working on data structures, a bitwise or will need to work on two plain data types.

</comment></comment></comment></comment><comment><USER13> C interop. The cause of, and solution to, all of C++'s problems.

<comment><USER14> Explain?

<comment><USER15> Presumably, C interop is the cause of C++'s problems because it was the impetus for carrying forward all of C's warts into C++. And it is the solution because it allows you to put C++ code behind a C-compatible interface so that you can use it from a language that isn't C++.

<comment><USER3> The "Design and Evolution of C++" is a very nice book from Bjarne explaining his compromises regarding what eventually became C++98.

</comment></comment></comment></comment><comment><USER16> Don't use it?

Nothing can salvage C++ at this point. It needs to be EOLed and put to rest.

<comment><USER10> When you give me a language that I can specify explicit memory layout and support for generics we can talk.

Otherwise C++ is going to continue filling the space for large, performance sensitive applications.

<comment><USER17> No flame-bait here, but if you are seriously looking for that, how about Ada?

Realistically, I don't see C++ going away for a looong time (if ever), simply because of the huge amounts of code written in it. But if one were looking for an alternative that matches C++ both in performance and control over memory layout, Ada is where I would start. It has generics, you can do OOP, it avoids many of the syntactic pitfalls of C++... As a bonus, the language standard and the rationale are available for free.

<comment><USER18> How much does Ada rely on garbage collection?

<comment><USER19> Doesn't have one. Reference counting is available as a (what looks like third- party) library: [http://www.adacore.com/adaanswers/gems/gem-97-reference- coun...](http://www.adacore.com/adaanswers/gems/gem-97-reference-counting-in- ada-part-1/)

I guess you could say that is even less reliance on GC than C++ has, with smart pointers being part of the standard.

</comment></comment></comment></comment></comment><comment><USER20> I used to program C++ a lot, several years ago.

My way, today, to avoid complexity in C++: Avoid C++!

C++ is at least three languages and the complexity is at least that of three languages. If you really want to be faster at programming and don't need to have the last 5% of performance, do you a favor and use an other language.

<comment><USER21> For some of us, that 5% is incredibly valuable. Really, any HPC application is going to either be written in C/C++ or Fortran.

It goes without saying that modern fortran is a hideous language (even though it's still better than Fortran 77). C is nice and simple but without things like namespaces and classes you're going to end up with huge function names. Not to mention a high risk of memory leaks.

C++ was awful years ago. Honestly C++11 allows you to write fairly nice code. By no means a guarantee you'll write clean-ish code, but it definitely gives you the tools to do so. Plus modern C++ compilers produce _really_ fast code (that leverages SIMD/vectorization, etc.).

I'm a huge fan of Go and Rust but the former is often dogmatically minimalist to the point of not including things like templates, operator overloading, etc. Not to mention garbage collection/runtime which is a big no-no for numerical computing use. The latter is still not mature enough to fully commit to (and is nowhere near the speed of optimized C/C++).

<comment><USER22>
      > (and is nowhere near the speed of optimized C/C++).

Please file bugs! We consider them as such.</comment></comment></comment>


Startup question  - <AUTHOR>

Hi I am a senior developer and would like some advice. if a startup has raised 3 rounds funds totaling 750 k is it possible for another round. The product is already on the market and some contracts signed,  this mean in 3 years they couldn't keep the capital under control?<p>If they asked me to bring my computer this means they can not afford to pay me in the future right? <comment><AUTHOR> Hi The product is great. They are unique in the market. Their potential of growth is huge, every cloth eshop can use it. The technology stack is also great, node.js

My concern is if they can get another round of funding after 3 done already . Staying alive for 3 years means almost nothing if people working there are payed under market average. I do net know about the exit but I think they can one day do an IPO to get some more funds. The question is should I invest my time now.? I am mid 30 and can't play around more than 3 years.

</comment><comment><USER2> Well, managing to stay alive for 3 years is something... ultimately when you're doing a startup, either you believe in the product (and by proxy, the management), or you don't.

And you should be asking them these questions.</comment>


Bullshit Jobs in Statistics - <AUTHOR> https://rss.onlinelibrary.wiley.com/doi/epdf/10.1111/j.1740-9713.2019.01321.x <comment><AUTHOR> I'm Data Science/ML/AI consultant (trained as a statistician) and have found that most of my job to be completely pointless. This article beautifully captures my frustrations and has helped me sharpen my view on what I really want from my job/career.

<comment><USER2> anyone who says they work with 'AI' must be in sales

<comment><AUTHOR> Hah. Sadly, it's what I'm marketed as, because that's whar sells.

'Statistics based marketing/lead programs' doesn't sell. 'Cutting edge AI for customer level personalisation' does.</comment></comment></comment>


Fault Tolerance - comic strip - "It's not a database" - <AUTHOR> http://browsertoolkit.com/fault-tolerance.png <comment><USER2> This explains more about the relational vs xxx debate within corporations than any of the white papers, conferences or debates I have ever read. Forget relational theory, toss your CAP theorems, no one cares about paxos; This is the real reason relational is king.

<comment><USER3> I don't get it. Do you mean SQL queries?

</comment></comment><comment><USER3> Copy-and-past comics are a pain to look at.</comment>


Finland's Prime Minister Suggests a Four-Day Workweek and Six-Hour Days - <AUTHOR> https://www.inc.com/john-brandon/finlands-prime-minister-suggests-a-four-day-work-week-six-hour-days-sign-me-up.html <comment><USER2> [https://news.ycombinator.com/item?id=21938696](https://news.ycombinator.com/item?id=21938696)

</comment><comment><USER3> This is partly untrue.

PM Marin has proposed this idea as "utopia" in August 2019. When she presented this vision, she was not yet PM.

Additionally, she proposed 6 hour work-day OR 4 work-day week, not AND.

It is kind of weird that here in Finland this was "nice idea, but probably problematic to implement" when this was on the news in August. And now it pops out in not-so-respected news media like this.

</comment><comment><USER4> When I was a nerdy teenager I imagined that by a date like 2020 humankind would have cured cancer, built a base on the Moon or Mars, eradicated infectious diseases and taken control over climate and weather. It turns out that in the real world progress is a lot slower than in the imagination of a sci-fi-imbued teenager. It turns out that solving problems takes work. A lot of it.

If people work less, especially if engineers, scientists, doctors etc work less, then technological progress will be taking place slower than it is currently. The disappointment of my teenage self with 2030 will then be even greater than that with 2020.

I'm genuinely puzzled by the general anti-work sentiment I perceive on HN (maybe my perception is simply incorrect). I'd expect that most folks here work as engineers or in a similar field that rewards with interesting and meaningful problems and that a substantial fraction had once been sci-fi- imbued teenagers like myself and possibly feel the same disappointment with the pace of technological progress.

I'm very worried that the anti-work movement is (inadvertently?) pushing on the breaks of technological progress :-(

<comment><USER5> Well up until recently I spent 9-10 hours a day programming machines that turned mountains into countertops and fireplace and such for rich people. Every day I kind of made the world worse to make some rich people happy. I mean there was one day we took a slab of 10 million year old fossils cut from the bottom of the ocean and made it into a counter. This arguably does not improve the world.

4 day weeks or 6 hour days would have been pretty awesome, I could have likely been more productive in life things.

My new job is also nothing world changing, though probably marginally more beneficial to more people and less environmentally damaging, but the lack of 6, nine hour day weeks makes it more appealing in many ways.

Though, I'm kind of torn, because I find the actual work less fulfilling and enjoyable, but having time is nice.

<comment><USER6> do you think its possible to find a job so full-filling it does not feel like a job?

</comment></comment></comment><comment><USER7> A six hour day is plenty if you actually work and if you have a bit of discipline. Most people don't. They spend much of their day just goofing off - wasting their own time and often the time of their coworkers.

I bet most of you reading this do not spend 8-10-12 or whatever number of hours you claim to be at work actually working productively. You goof off often as much as half the time. Possibly more if you work for someone else.

_Work_ when you are at work.

If you are not actually working or if you are tired and unfocused: go home. If you are disciplined about this you will outperform those who spend more hours at work _easily_.

<comment><USER8> > _They spend much of their day just goofing off - wasting their own time and > often the time of their coworkers._

This is why a world where everyone is an independent contractor feels...right.

I don't know how you could implement it properly, but from a high level it works: work when you want to, take holidays when you want to, move around. There's no such thing as "businesses will take advantage of workers though!" because _everyone is a business_. Screw enough people and no one will work with you.

Of course, for this to work you'd need a universal safety net or UBI...

<comment><USER7> I've been an independent contractor a few periods of my life and if you bill by the hour, that changes the dynamics a bit. You become focused on hours and not what you produce. Doing stuff for fixed price is risky too since it requires you to nail estimates pretty well to avoid ending up with a low effective hourly rate (or screwing your customer).

My solution was to charge by the day. You pay me a fixed price for every day I work on your project. Some days I may work 4 hours, other days I may work 15 hours. But it provides me with more flexibility and, at least in my experience, it is easier to end up with a fair price (as long as you don't try to take advantage of the customer).

I actually stumbled across this solution. My initial motivation was to reduce the amount of pointless accounting work. But I eventually discovered that this had other benefits.

I have a team of programmers working for me (full time, fixed salary) and they all manage their own time and their own projects. If they need to take a week off because they feel tired, they just need to let me know. And I trust them to act responsibly. As long as we deliver what we have promised, I don't care if people take more time off than their contractually stipulated paid vacation. The only time I may step in is if they do not take time off. (Actually, in Norway, you can get in trouble if your people don't take at least some minimum amount of time off.)

And I think the results speak for themselves. I'd be hard pressed to find a team that is more productive in my company. We easily outpace other teams by a factor of 2-3 in terms of productivity within a company of about 25-30k employees.

There are, of course, multiple reasons for the high productivity - not only the fact that I don't interfere with how individuals manage their time. I think one important reason is that I often hire people who are older than the average developer. My people are probably 40 years or above on average. One of my most productive people is in his mid 50s. I think the reason the holder people on my team are faster is because they're more experienced, and in particular, they have more experience in attacking problems that they have never been exposed to before. (And that's what 90% of the work we do consists of).

</comment></comment></comment><comment><USER9> I wonder what a plausible model for productivity by hours work is, and whether it varies by occupation.

Especially for piecemeal labor, after getting to the point where you maintain your baseline level of skill (say, 10 hours/week?), it seems like each marginal hour will have less productivity than the previous. It probably never drops to negative, unless we're talking 80 hour weeks.

It's less clear to me that the same is true of so-called knowledge workers. Or, at least, the baseline is much higher. My bet would be that an engineer who only works 10 hours/week is going to be less productive, on an hourly basis, than one who works 20 hours/week. I'm not sure what the inflection point would be, though.

I think a better model would be having a year or two of relatively long workweeks (40 hours a week) to be followed by a year or two of vacation and education, instead of 20 hours/week consistently.

Another approach would be decreasing the retirement age. I'm less a fan of this, as too many people end up depressed and lost after they leave the workforce. Plus, it's a raw deal for people who die before they retire.

<comment><USER10> How is a lowered retirement age a raw deal for people who die before they retire?

<comment><USER11> Not the poster nor am I endorsing this, just explaining it. Everyone who works full time would benefit from a shorter work week. Only people who live to retire benefit from a lower retirement age. So if you're considering the two policies as alternatives, then one is definitely a raw deal for people who die early. Given relatively few people die after starting to work full time but before retirement age, I don't think that's the issue with this proposal.

<comment><USER10> Ah, ok, I understand this. Yes, as an alternative to other policies to make people's lives of mandatory toil better, I see the raw deal for some of doing nothing other than lowering retirement age. (Of course, I'm a "Why not both?" guy.)

</comment></comment></comment></comment><comment><USER12> I'm possibly going to go against the grain here but I'll speak my truth...6 hours honestly feels like too little time and isn't necessarily something to celebrate.

If I only worked for 6 hours and 4 days I'd lose my mind. I've tried it and I didn't like it one bit. May be that's just me but I enjoy my work so much I wish there were 25 hours.

<comment><USER13> You seriously enjoy your work so much that you don't have anything you would rather be doing? Not even a side project? You must be working on the coolest thing ever.

<comment><USER12> I work for myself as a mobile and wed dev so I have my clients who pay my bills and several apps I'm working on in parallel.

<comment><USER10> The number of hours you volunteer to put into working for yourself is, frankly, completely irrelevant to the issue of hours demanded by a boss from their employees, who surely have things in their life they'd rather be doing with their time. Using the former as a way to argue that the latter should be kept high is an uncharitable mentality.

<comment><USER12> If you've run a business you'd know that the hours demanded by a boss are far less than those required to be successful as an enterprise owner. I've been in both worlds and it isn't easier because you own the business.

It's all work at the end of the day and it is not easy. It's hard but we get to choose the direction our life takes while weighing the costs, benefits and risks involved.

<comment><USER14> > It's hard but we get to choose ...

This is the crux of a state mandated shorter work week.

In Australia, the default is between 35 and 40 hours, 5 days a week.

Some people work more hours, some fewer. A proposal to change the standard wouldn't affect _that_ arrangement.

People who enjoy working longer hours, say for a pursuit they enjoy or endorse, or like you to build up their own wealth at a much faster rate, likely wouldn't be affected by such a policy change.

I do hope you're not suggesting that your personal preferences should inform proposed policy changes like this?

</comment></comment></comment></comment></comment></comment><comment><USER15> I wasn't alive when the work week was shortened to 5 days from 6 but it is my understanding that the conversation this sort of a proposal Sparks is the exact same as that proposal back then did. It's kind of amusing.

</comment><comment><USER16> " Perhaps following the lead of other Scandinavian countries, where a six-hour workday is common." Not in Sweden. 40h per week here means fulltime.

<comment><USER17> I've worked primarily with Norwegians for most of my working like, but have also worked in projects in Sweden, Denmark and Finland - I've never come across this mythical 6-hour workday?

</comment></comment><comment><USER18> I don't think it should be assumed that less time at work is necessarily preferable. What will people do with all their additional spare time? Sure, they might spend their days learning art, history, philosophy. They might take up writing poetry, painting or learning the piano. Or, they might vegetate in front of the TV, take up drinking as a hobby, argue with strangers online and slowly decay into existential nihilism.

The devil will make work for idle hands.

<comment><USER10> That's their choice. That's their life to do with as they wish.

One can just as well "vegetate" as an employee to a boss; indeed, we know that the nature of the current work setup is such that many come home drained from work all day, sit in front of the TV, take up drinking as a hobby, argue with strangers online (see me, now), decay into nihilism, etc, all the same.

The purpose of life isn't to work; the purpose of life is the other things, the fun and play.

<comment><USER18> It's true there are innumerable variables at play here. The nature of the work is a huge factor as well. It's probably futile to try and come up with a general rule of thumb. It could be that people _already_ have too much spare time on their hands which is not being filled with meaningful endeavour. It's also undoubtedly the case that many peoples working hours are not filled with meaningful endeavour either.

Thank you for telling me the purpose of life in a very matter-of-fact way. I think you would find a lot of people who would find your assertion extremely debatable. To be frank, I pity anyone who thinks the purpose of their life is to have fun.

</comment></comment></comment><comment><USER19> John Maynard Keynes published an interesting paper in 1930. "Economic possibilities for our grand children"

<comment><USER12> He also said that in the long run we are all dead so I'm not sure I'd trust him to have the best interests of our 'grandchildren' at heart.

<comment><USER20> Well he's not wrong. We're all dead at the end.

What is your impression of mortality?

<comment><USER12> Do you honestly believe that he meant it in a literal sense? You as well as I know that he meant it would be better to emphasize on short term plans as opposed to long term plans. It is simply a question of time preference and I'm simply saying that he would therefore not be best placed to make plans for our grandchildren. He'd be inclined optimize for the present as opposed to the future especially when we're resource constrained as we often are.

<comment><USER10> Do you honestly believe Keynes' point with this pithy aphorism was that short- term plans are always superior to long-term plans? The fuller quote is "But this long run is a misleading guide to current affairs. In the long run we are all dead. Economists set themselves too easy, too useless a task, if in tempestuous seasons they can only tell us, that when the storm is long past, the ocean is flat again.". He was pushing back on the use of a theory of long- term economic equilibrium in predicting day-to-day conditions, not expressing a preference to screw one's grandchildren over for present gains.

</comment></comment></comment></comment></comment><comment><USER21> Why not leave people work as much as they want if they agree with their employees?

<comment><USER15> Most people don't have any leverage for these kinds of negotiations and would fairly likely get shafted if there were no laws to protect them

<comment><USER21> Do you mean they cannot ponder how much money they need to?

</comment></comment></comment><comment><USER22> Just looking over her Wikipedia article it's not clear to me she's ever been involved in managing a business.

<comment><USER12> This is exactly my point. I honestly don't know how anything would ever get done with this kind of attitude. I'm not saying that we should overwork our labor force but what we have now seems fairly optimal.

<comment><USER7> Do you manage people?</comment></comment></comment>


Ask HN: Too many ideas. How do you decide what to work on next? - <AUTHOR> How do you decide what to work on next? Is there an app for it? <comment><USER2> Take your ideas and put them in a spreadsheet with the following columns (factors):

The Idea, Execution Time, Likelihood of Completion, Earning Potential, Satisfaction

Give each of the columns a weighting from 1 - 5, 5 being the most important to you and 1 being the least. It helps if you do not have the same importance value to different factors.

Give each idea a value for each of the columns from 1 to 10, 10 being the best, and 1 being the worst.

Example:

[https://docs.google.com/spreadsheets/d/1mrPfPSLMS5i9Cp1vFswb...](https://docs.google.com/spreadsheets/d/1mrPfPSLMS5i9Cp1vFswbRZv63uGFlOsnz6Txb8IXLa8/pubhtml?gid=0&single=true)

<comment><USER3> If a MMO has execution time of 4, I worry about a 10

<comment><USER4> For execution time, a higher score would mean a shorter timeline (the task list is a 10)

<comment><USER3> Gotcha, so I then worry about a 0 ;)

</comment></comment></comment></comment><comment><USER5> Question as is to me reads as way to open-ended to receive a response that applies to you. More to the point, to me it reads as, "There are so many options in life, what should I do?"

To get the life you want, you must first decide the path you want, then find a way to travel it.

My suggestion would be to focus on sharing life with people you enjoy being around helping solve problems that you agree are important to spend time on; everything else will sort itself out.

</comment><comment><USER6> I think that choosing what to work on next is the least relevant thing. The most relevant is choosing any of them and sticking to them until you have a fully functional thing, that's the real hard part.

I had tons of ideas about a year ago, I've stick to one and still haven't finished but I haven't given up yet :

</comment><comment><USER7> Create some basic model - for example fill CANVAS table within 24 hours and ask someone for feedback. The best option is someone working in related area or with real experiences. You will get very valuable feedback and you can decide whether if worth to spend time with this idea or not.

</comment><comment><USER8> The one that you are most passionate about. Often my ideas is based on where I see a need, but it does not mean that I have the most passion about that subject.

I can maybe build a great product for that need, but I need to be passionate about it, if I have to success with it long term.

</comment><comment><USER9> I think if you go for the ones that are easiest to complete, it's going to motivate you to come up with more ideas. More success will fuel more motivation. Do you care to share any of your ideas?

</comment><comment><USER10> Choose the idea most of your users are requesting or willing to pay for.</comment>


Case Study: Pre-Launch Traffic Strategies for Startups - <AUTHOR> http://www.softwarebyrob.com/2012/10/16/case-study-13-pre-launch-traffic-strategies-for-startups-part-1-of-3/

<comment><USER2> Thanks OP, there are definitely some good tips in this article. They require hard work and tears but they seem to work.</comment>


Explosion at China plant may delay release date for iPhone 6 - <AUTHOR> http://nypost.com/2014/08/05/explosion-at-china-plant-may-delay-release-date-for-iphone-6/

<comment><USER2> 75 dead, 186 injured, and the first world's concern: My iPhone 6 will be late.

You need help, Mr Perez.</comment>


Dream Employers for Engineering Students - Real? - <AUTHOR> http://www.forbes.com/sites/jacquelynsmith/2013/06/12/the-dream-employers-for-engineering-students/

<comment><AUTHOR> Is this list real? I cant imagine it being true...

<comment><USER2> I can see it being real. Outside of Silicon Valley and tech hubs (including people who tend to follow these things), the majority of the world are not focused on the companies often written about in Techcrunch or posted on HN.

Although my experience is not representative of everything else, almost all of my friends who aren't into startups, HN, or anything like it (even if they are engineers or entrepreneurs of some form), out of college wanted to work for companies like Microsoft, Boeing, Intel, and others along those lines. A lot of it has to do with two things (these are my assumptions):

1\. They only consider companies that are huge and within the area where they reside (the companies above were base on people living in Oregon and Washington).

2\. They're the companies that are often talked about (no one were talking about any of the exciting startups (even huge ones) back then. And today, I can't see anyone there talking about Square or Github or Tesla either (unless they're living nearby and those are the companies often talked about.

So its not abnormal for me to see people wanting to work for the companies on that list.</comment></comment>


Ask HN: Are there any prominent examples of community-driven development online? - <AUTHOR>

I became interested in this recently and decided to experiment with it over at PressRise.com (a reddit alternative). We just coded our first user-submitted feature today (text-only submissions).
If you're unfamiliar, community-driven development is giving control of a development process, its resources, and decision-making authority directly to community groups.
In the context of software development, this pretty much means giving your dev team to a product's users and letting them decide what work they do on the product.
Having this kind of community-driven process in place could theoretically allow a piece of software to "evolve", with the conditions of its survival through each iteration being directly tied to the wants and needs of its users (rather than indirectly, as is the case with every other piece of software).
I think this might also have the effect of making the users feel like they have more ownership over the platform itself, which could drive brand loyalty and long-term user retention. Is that only the case for social apps though, or could other kinds of software benefit from this? Would anyone really care if they felt "ownership" over some B2B SaaS product? <comment><USER2> Assembly[0][1] is a great example of this I think. They have a number of community driven products in all stages of development. I think rather than just feeling like they have ownership the contributors do get some actual real form of ownership in the product. I am actually unsure of how that works though.

[0] [https://assembly.com](https://assembly.com)

[1] [https://assembly.com/discover](https://assembly.com/discover)</comment>


Ask HN: Is there a decent MD viewer on Desktop? - <AUTHOR> I've been writing all my notes in MD for most of this year, and I've been using VSCode's preview feature. However, I'd like something a little more organized. I love the format, but I'm surprised by the lack of desktop note applications that support it. <comment><USER2> I've used [https://getlightpaper.com/](https://getlightpaper.com/) (MacOS) for a bit but it had too many feature for me, I simply don't edit that many documents to make use of tabs, directory tree and such.</comment>


Ask HN: Which is the best and secure digital wallet to keep Bitcoin and Ether? - <AUTHOR> <comment><USER2> Ledger

<comment><AUTHOR> And why do you think it is safe than others?</comment></comment>


Venture Investors Wrap Up an Unusually Bleak Quarter - <AUTHOR> http://www.nytimes.com/2008/06/28/business/28venture.html?_r=1&adxnnl=1&oref=slogin&partner=rssnyt&emc=rss&adxnnlx=1214684470-UdcxPmSI+DAixDFc+pFqDw <comment><USER2> I hate to say it, but the reason is that software startups really don't need tons of VC any more. Gone are the days when a software startup needs $150 million to succeed.

There's going to be a big shift in VC investment away from software to other technologies like biotech and greentech where large amounts of capital are a requirement.</comment>


The crazy story of how we got our .com domain - <AUTHOR> https://blog.roboflow.com/acquiring-the-dot-com-domain/ <comment><USER2> What seems crazy is that a marketing department would actually give up the domain. I can see someone in a conference room kneecapping the ask with "but what if there are links on an old forum somewhere that go to roboflow.com? We can't give that up!"

</comment><comment> j-sizz uncanny! did you feel like your wire was going into the ether?</comment>


Swiss-Style Color Picker - <AUTHOR> http://swisscolors.net/ <comment><USER2> Sorry for my lack of culture, what is a Swiss-Style Color Picker? noise + 3 random colors shaped as a building?

Closest thing I found is [http://www.smashingmagazine.com/2009/07/lessons- from-swiss-s...](http://www.smashingmagazine.com/2009/07/lessons-from-swiss- style-graphic-design/) which includes a link to [https://www.flickr.com/photos/20745656@N00/3053656134/](https://www.flickr.com/photos/20745656@N00/3053656134/) and looks similar to this.

<comment><USER3> They are color palettes based on Swiss design that originated in the 1950s, and a big influence on the look of flat design now. Not so much the function; Swiss design (international typographic style) placed an emphasis on removing visual embellishments to make design an effective tool of communication. The minimalism and simplicity were a means to an end, not an end in itself.

Here is a fun example of the bright colors preferred by these designers:

[http://fontsinuse.com/uses/3254/principles-of-wanner- gruppe](http://fontsinuse.com/uses/3254/principles-of-wanner-gruppe)

Traffic safety posters (!):

[http://fontsinuse.com/uses/4263/campaign-posters-for-the- swi...](http://fontsinuse.com/uses/4263/campaign-posters-for-the-swiss- automobile-clu)

<comment><USER2> Hey, thank you! So, if I'm understanding this a Swiss-Style <T> is a T that is simple and effective.

Your reply starts by mentioning color palettes based on Swiss design, but is that the case here? It seems colors individually are not part of ITS, but how they are used (and therefore all colors can be used on it, as long as properties of this design philosophy are observed).

<comment><USER3> You got it! While there isn't a "Swiss palette", bright and contrasting colors were popular for both technical and stylistic reasons:

"The following points must be considered whenever it is planned to use colour: the effect on the viewer, its usability in the various advertising media and the technical possibilities of reproduction.

The sparing, but methodical and logical use of colour has a more telling effect than a combination of many different colours. If colour is used, it should be plainly visible and the reasons for its use immediately apparent."

\- Josef Müller-Brockmann The Graphic Artist and His Design Problems (1961)

which is a good book even now, it's a practical guide with plenty of examples, so you can get a good look inside his head, even if you don't necessarily agree with everything he wrote.

</comment></comment></comment></comment><comment><USER4> Fun fact, Flat design originated from Swiss Style - [http://dojo.techsamurais.com/?p=1232](http://dojo.techsamurais.com/?p=1232)

<comment><USER5> >> ..and "Helvetica" means Switzerland in Latin

Today I learned.

<comment><USER6> Nope, that's Helvetia. Helveticus is the adjective (Helvetica is the feminine. English has Helvetic as a less common form of "Helvetian", which indicates primarily an ancient Swiss inhabitant but could also broadly refer to a Swiss of today.

</comment></comment></comment><comment><USER7> The browser detection doesn't seem to work properly.

      You're on Safari.
      Please press cmd+c now.

Actually using Firefox on Linux.

<comment><USER8> Getting the same message on iPhone. I mean, I know that is technically Safari... But "please press cmd+c"</comment></comment>


Rothenberg Ventures on the "Brink of Implosion" - <AUTHOR> https://techcrunch.com/2016/08/18/at-rothenberg-ventures-the-rise-and-fall-of-a-virtual-gatsby/amp/ <comment><USER2> No one touching this one?</comment>


Show HN: Oldschool PC Font Pack v2 – now with 200 fonts, new variants, web index - <AUTHOR> https://int10h.org/blog/2020/07/oldschool-pc-font-pack-v2/ <comment><AUTHOR> Hello HN!

This project has been featured here in the past, and perhaps the new version would also be of interest.

The goal of the collection is still the same: taking classic hardware/system charsets from pre-GUI IBM PCs and compatibles, and providing accurate conversions to current font formats. (The scope has expanded a little bit, so that early "not-quite-compatible" platforms are also fair game.)

v2.0 adds:

\- 133 new fonts (from 52 different sources)

\- A new TrueType variant with embedded bitmaps (where supported, this bypasses anti-aliasing and ensures sharp rendering)

\- Another new TrueType variant which provides aspect correction (to reproduce the non-square pixel ratios of the original resolutions)

\- Web font (.woff) conversions

\- A full font index on the website, including information on the original hardware and how the charsets were used (for appropriate historical context)

\- A preview page for each individual font, which lets you play around with sizes, aspect ratios and sample text

The linked blog post has more details, but you can also browse the collection directly at [http://int10h.org/oldschool-pc- fonts](http://int10h.org/oldschool-pc-fonts). There's also a showcase section, with links to projects that employ these fonts in useful and creative ways.

Comments welcome. Enjoy!</comment>


7 Steps to Approach a Coding Interview Question and Practice Tips - <AUTHOR> https://ankurkhemani.com/best-coding-interview-tips/ <comment><AUTHOR> As aspiring software engineers, we are constantly challenged by coding interviews in our career. In fact, it's a must to land our next dream software engineering (or related) job.

Coding interviews can be a little intimidating especially for students who are hunting an internship or full-time job out of college. These coding interview steps and tips can substantially ease out the process for you.

For credibility (and not bragging), I am now a software engineer at Microsoft and had to fight my way up. I have shared these tips with friends and it helped them. So, thought will share with broader audience. Let me know if this helps you or if you have any questions :)</comment>


Tell HN: Gmail plugin idea. - <AUTHOR>

If it's not already possible, here's a broad idea for a gmail plugin. - Implement ability to right click on any phone number in an email and choose "Call with Gmail" - Implement ability to right click on any address and choose "Pull up with gmail." The map would then show up and be functional on the right side of the screen.<p>That is all. Add onto it if you want. <comment><AUTHOR> Even better: put Google Calendar on the right of every email. (Maybe make a tabbed pane where you can sort through phone numbers and maps.) I'd use the calendar feature like no other.

</comment><comment><USER2> That sounds good!

Could you also include a sound for new email. Like the gmail chat noise. I don't know why this doesn't exist anyway.</comment>


Gluon: A clear, concise, simple yet powerful and efficient API for deep learning - <AUTHOR> https://github.com/gluon-api/gluon-api/ <comment><AUTHOR> Here's the press release from Amazon and Microsoft:

[https://news.microsoft.com/2017/10/12/aws-and-microsoft- anno...](https://news.microsoft.com/2017/10/12/aws-and-microsoft-announce- gluon-making-deep-learning-accessible-to-all-developers/)

<comment><AUTHOR> Amazon just posted a better introduction. Read that instead:

[https://news.ycombinator.com/item?id=15457700](https://news.ycombinator.com/item?id=15457700)</comment></comment>


Why We Get Nostalgic About Good Old Games - <AUTHOR> http://www.psychologyofgames.com/2010/11/25/why-we-get-nostalgic-about-good-old-games/

<comment><USER2> I actually played a bit of Ultima V again recently. Didn't finish, unfortunately, and I also cheated a bit with walkthroughs. Still hope to finish one day. I think the basic graphics create their own atmosphere, because they leave more to the imagination. But it is harder to get into it - one hardly takes the time in todays hectic world.</comment>


The scariest part about the Internet of Things - <AUTHOR> http://www.washingtonpost.com/blogs/the-switch/wp/2013/11/19/heres-the-scariest-part-about-the-internet-of-things/

<comment><USER2> I disagree that the wifi is a terrible single-point-of-failure. The chief concern in privacy security is not a criminal on the street or a member of your local police department - it's a vast swarm of overseas hackers or massive advertising conglomerates.

For that case? Keeping the data in your home is fine. Doubleclick and Tribalfusion aren't going to be wardriving your neighborhood.

Honestly, I'm waiting for somebody to make the one-stop zero-configuration grandma-friendly home server device. Something that gives you a DropBox-like file-server with optional internet-cloud mirroring, has a media bay with one- button backup functionality so you can easily get a detached hard-copy, runs a Print server and DNLA, its own Gmail-like webmail/imap system. If you make it a wifi router, it can also run its own domain and whatnot. The problem, of course, is half the ISPs provide a wifi router that isn't grandma-friendly to configure.

Have all your home devices talk to _that thing_ and not the Internet.

<comment><USER3> But then the fridge maker wouldn't have "anonymised usage statistics" (to sell) so where's the incentive for them to make a smart fridge?

<comment><USER4> Charing you $10 more for a fridge that saves you $5 on your power bill every year. Differentiating is really hard for white goods manufacturers, so they tend to end up with commodity levels of profit on what they sell.

</comment></comment></comment><comment><USER5> The scariest part about the internet of things is that we're apparently doing it without discernable purpose that delivers benefit to the consumer.

In the 90's, our refrigerators were going to tell us that we're out of milk. Now our refrigerators are going to be linked to some smart grid that will let utilities shape our electricity demand. (Presumably via punitive costs)

As a consumer, I say screw the internet of things. I don't want my fridge letting Heinz know when I'm out of ketchup so they can push ads to me, and I don't want my dishwasher usage habits or thermostat settings available to government agencies for "any legal purpose" or my utility company demanding that I stop making ice during peak electric demand periods.

<comment><USER6> >my utility company demanding that I stop making ice during peak electric demand periods.

I think this statement communicates a fundamental misunderstanding of the energy use management implemented by the SmartMeters, or an attempt to villify a fairly clever project that has the potential to save tons of electricity.

For one, the SmartMeter system is entirely voluntary, and can be taken out at any time. For another, at least where I live, it applies only to A/C, and only will shut off one time, for one hour, once every week during peak usage.

Please do not present promising technology like this as some kind of Orwellian spectre of tyranny. It's really not.

<comment><USER7> >For one, the SmartMeter system is entirely voluntary, and can be taken out at any time.

Lol, this is often how compelled compliance works, you begin with voluntary adoption.

This is promising tech but not believing any and all data will be saved and used for every conceivable purpose including oppression is an obvious feat of delusion -- have you had your head in the sand this year?

</comment></comment></comment><comment><USER8> IOT engineer here. As much as it hurts, I have to agree with the spirit of this article: we, as the industry, are simply not prepared.

Your average embedded engineer does not care much about security. When you launch a hardware product, the things you care about are stability, EMC compliance, extending battery life, getting the production chain right, packaging, cost optimization and squeezing every damn bug that causes random faults (remember, this is embedded, and pretty much any exception is equivalent to an instant device reboot). Security rarely gets mentioned simply because there are dozens of more pressing issues - the most important being _getting that damn thing to work_. This approach has worked fine for decades simply because there was no practical way of attacking a device - until now.

Firmware has _always_ been riddled with vulnerabilities. It's just the Internet connectivity that suddenly made them exposed.

</comment><comment><USER9> Excerpt: "it also vastly expands the universe of things that could go wrong, particularly when it comes to privacy".

Very funny, from an article sitting in a web page filled with tracker scripts and whatnot.

<comment><USER10> Indeed. I got 9 Ghostery blocks there.

</comment></comment><comment><USER11> Honest question: under what circumstances would it be beneficial for my dishwasher to be "smart" at all, let alone be connected to the Internet?

If that isn't a demonstrative example, what _specific_ devices _would_ be useful to have Internet connectivity, and in what specific ways?

<comment><USER12> There are a bunch of specific devices that I would really like to connect to the internet:

Irrigation system: I shouldn't need to punch buttons on a controller box outside in the rain.

Anything with a clock, e.g. microwave, thermostat: It should get the right time itself.

Pool heater: I should be able to control it from the house and check the temperature.

Barbecue: It should let me know if it was left on (like happened yesterday).

Freezer: It should let me know if the door is ajar, before everything thaws.

Alarm system: monitoring and control.

Stereo: should be able to control from my phone.

Washing machine: notification if I left wet clothes in it, or if it goes off balance and stops.

These are mostly available now, but not in an easy-to-use way. Home automation seems to be like the home computer industry in the 1970s: you have to really want to do it, you need to be a bit of a hacker, it costs a fair bit, and what you end up with is pretty primitive. I think there's a huge market for someone to solve home automation. What I want is when I buy an irrigation controller from Home Depot (for example), it "just works" as part of a home system.

Edit: A couple people asked why connect to the internet? I should be able to do these things remotely, e.g. from the office or my phone.

a_c_s mentions that the time tinkering could outweigh the benefit. That's kind of what I'm getting at with my 1970s home computer analogy - you could do e.g. word processing back then, but it wasn't worth the difficulty for most people. Now non-technical people can buy a computer at Best Buy and easily do word processing. Likewise, home automation needs to become something that is built in to products and "just works" by default, rather than something for hackers.

<comment><USER13> Thanks for enumerating this.

However, for me, the amount of time 'saved' for tasks like this seems like it could easily be outweighed by having to spend even a minimal amount of time tinkering/debugging the setup of these devices.

Given that my phone sometimes forgets which wifi network to use, I can only imagine having to reconfigure my microwave, washing machine, stove/oven, dishwasher, stereo, etc. occasionally. If each device forgets the wifi network infrequently, like once every six months, that means 12 times a year I have to configure wifi one of my six smart devices. This amount of reconfiguration is more time/frustration/effort than would be saved by the kinds of notifications listed.

<comment><USER14> I agree, but ideally they'd be wired in. Perhaps new homes at one point will have Ethernet ports behind your stove, microwave, etc.

It's interesting that you chose 6 months, because that's how often you have to change the time. :D

</comment></comment></comment></comment><comment><USER15> The engineers mostly understand these Things, but they do not have the same priorities as consumers, nor do they care about privacy, security, safety (apart from compliance with regulations). A good example is the recent trouble with LG smart TVs "phoning home" and LG telling consumers basically to suck it up since they accepted the ToS.

Regulations cannot fix this or prevent abuse / privacy intrusions any more than the law can prevent illegal NSA wiretapping. Consumers will never be informed enough (they mostly don't care, or do not have access to a thorough analysis of these devices' behavior), so we're basically doomed.

<comment><USER16> I predict "Your Home IoT Firewall for Dummies" is going to sell big.

</comment></comment><comment><USER17> I got to 'Ten years ago, the word "smartphone" didn't exist' and stopped. I know it's just a topic-establishing observation, but it's terribly incorrect.[0] If the writer couldn't be bothered to check that basic claim, I can only assume it's a fluff piece.

[0] [http://www.zdnet.com/microsoft-launches-smartphone- assault-3...](http://www.zdnet.com/microsoft-launches-smartphone- assault-3002124261)

<comment><USER18> Linked article is just over 11 years old. Is the author's rounding of 11 years down to 10 that offensive?

<comment><USER17> Actually, yes.

It wouldn't mind if the term originated 11 years ago and the author stated it was coined 10 years ago. But the author claimed it was _less than_ 10 years old, and the term was around for many years before 2002--I just found that article as a quick example for younger readers who might think the term "smartphone" developed as a generic word for "iPhone-like device"\--it may seem crazy, but some people actually think this, and the article's opening supports that narrative.

Inaccurate, unthoughtful statements like this lead us to forget history, and they especially do a disservice to articles contemplating developments in the near future. I think it's relevant to the article that "smartphone" was a part of tech and business life and news before it became a household term--these products see a lot of development and a niche user base before, suddenly, everyone has them. That nascent period, during which products' dangers can be considered and hopefully diminished, is essential.

</comment></comment></comment><comment><USER19> If security cameras teach us something, is that they are riddled with security bugs, never updated, and with hardcoded backdoors/admin passwords. The internet of things have high chances to make that problem worse, as it will give remote action more than just monitoring.

And that without even taking into account our friends at the NSA and similar, that will require remote access to anything popular.

</comment><comment><USER20> "Just because I know how to write PHP doesn't mean I understand these vulnerabilities at all."

Ouch.

You need to know a lot more than PHP to make your toaster talk to your dishwasher. And I'm pretty certain it's not the Maytag Man who's going to make it happen.

The concern over securing mesh networks is real, but the argument in the article is terrible.

<comment><USER21> I don't know... a lot of terrible wifi router software is written in PHP, and it's not clear that you can expect something different from your microwave.</comment></comment>


Categorifying cardinal arithmetic [pdf] - <AUTHOR> http://www.math.jhu.edu/~eriehl/arithmetic.pdf <comment><USER2> This is a pleasant but intentionally very elementary summary of the relevant concepts. If you're interested in much more on this, one place to start is MO ([https://mathoverflow.net/questions/4841/what-precisely-is- ca...](https://mathoverflow.net/questions/4841/what-precisely-is- categorification)), or the n-Category Café ([https://golem.ph.utexas.edu/category/2008/10/what_is_categor...](https://golem.ph.utexas.edu/category/2008/10/what_is_categorification.html)), or Baez's TWF 121 ([http://math.ucr.edu/home/baez/week121.html](http://math.ucr.edu/home/baez/week121.html)).

Warning: all are much math-ier than Riehl's very nice slides, although the first one has enough content that you may find an answer that you like. If your math itch still isn't scratched, there's Baez and Dolan's paper "Categorification" ([https://arxiv.org/abs/math/9802029](https://arxiv.org/abs/math/9802029)). I don't know a programmer-focussed view on categorification; can anyone recommend one?

</comment><comment><USER3> PDF slide builds really don't work for the web.

<comment><USER4> Not to disagree; but if you use Firefox, PDF.js has some convenient shortcuts [0]: n/j to go to next page, and p/k to go to previous page.

Works quite nicely for flipping through PDF slides.

[0]: [https://github.com/mozilla/pdf.js/wiki/Frequently-Asked- Ques...](https://github.com/mozilla/pdf.js/wiki/Frequently-Asked- Questions#what-are-the-pdfjs-keyboard-shortcuts)</comment></comment>