What Grace Hopper meant with "easier to ask forgiveness than to get permission" - <AUTHOR> https://changelog.com/posts/what-admiral-grace-hopper-really-meant <comment><USER2> "She was a military officer in a large organization. If you've ever worked at a company or an organization that operates at that kind of global scale… it's very hard to get permission to do anything, because you need to go up three or four levels in the hierarchy above your boss to get permission"

Can confirm. I have worked in the military and large corporations with draconian policies.

Any organization of that size tends to be bereaucratic in order to handle people at scale and therefore is resistant to change and out-of-the-box thinking even when it would greatly benefit the organization. Individuals and first-line managers are rarely empowered to make changes without several levels of approval.

Only _after_ a new idea or process has been proven to be more effective will it be acknowledged as an option that the organization should consider for wider use throughout the organization. This is essentially part of the reason why larger organizations have more difficulty being innovative compared to smaller, more nimble organizations.

<comment><USER3> This is why I love to be a consultant in a large corporation, because I can talk with a lot of people without the feeling that I have to obey the hierarchy. When I figure out the best common goal I can follow the hierarchy to get approval.

Maybe this only works in Norway..?

<comment><USER4> As a consultant I found that you don't even have to follow the hierarchy. You know you won't be at a company forever so just ignore those who are likely to obstruct and skip the hierarchy. And once you have backing from higher up there is little lower levels can do to obstruct your invoices.

But my experience is from Sweden so maybe it only works in Scandinavia.

<comment><USER5> Oh, I got kicked out big time a couple times for that... I guess I was hired to sweat at the keyboard, not to think.

</comment></comment></comment></comment><comment><USER6> > First of all, many people don't know that Admiral Grace Hopper said that; > the attribution.

Hopper popularized the term, but did not coin it.

> Grace Hopper did employ and help to popularize the expression by 1982, but > it was already in circulation.[1]

[1]: [https://quoteinvestigator.com/2018/06/19/forgive/](https://quoteinvestigator.com/2018/06/19/forgive/)

<comment><USER7> The expression has been a military phrase from time immemorial. It wouldn't surprise me to hear that Roman Centurions used it.

<comment><USER8> You should take a look at Quote Investigator. Many phrases have definite "start" times that are well documented.

</comment></comment></comment><comment><USER9> I hear this a lot at my company as "take risks" with tales from people at director level or above about how they embarked on bold new marketing initiatives their bosses disapproved of that increased company visibility and thus, profits. But I'm just a programmer schlub. People like me don't get "asked to leave", we get fired. Plus, the activities of people like me are more closely tracked, and we are going to be noticed and corrected much earlier for going off script. We have less to gain, and more to lose, from taking risks than those with actual authority. The lower down the org chart you go, the more you benefit by keeping your head down, focusing on meeting or exceeding your KPIs, and not rocking the boat too much.

<comment><USER10> Organizational Theory 101 is that there are three levers of power in an organization - relationship, expert, and role in that order.

Getting anything done in an organization means building the right relationships first. Building the right relationships is the difference between being able to ask the infrastructure guys to create some VMs for you in Slack, they do it immediately and then ask you to fill out a ticket and having to fill out the ticket and wait for two weeks.

The second part of that is "pre-wiring" - convincing one of two people of your idea, taking their objections into account and improving on your idea until you can make a convincing argument to your manager. It's a lot easier to be in a technical meeting where you already have your coworkers buy in than one where you are fighting on multiple fronts.

Once you have the relationships, you have to convince people that you know what you're doing by having a few successful projects under your belt. It's a lot easier to convince people once you have a track record of success.

Role power in my experience is the least effective - especially in the software industry. If you don't have the other two, it's way too easy for people who report to you to jump ship.

Honestly, in today's market for software developers. If you live in any major metropolitan area in the US (I'm in Atlanta) and you keep yourself marketable jobs are a dime a dozen. The last thing I worry about is long term unemployment - this has been true for the last two decades.

<comment><USER11> > Getting anything done in an organization means building the right > relationships first. Building the right relationships is the difference > between being able to ask the infrastructure guys to create some VMs for you > in Slack, they do it immediately and then ask you to fill out a ticket and > having to fill out the ticket and wait for two weeks.

Funny, they keep rolling out more 'advanced' helpdesk software where I work to avoid building social connections. In the old days I got to know people, now there's no chance of that. There isn't even a name on the emails.

I think in the long run this really hurts the company. It also makes it much easier to be upset at the 'stupid help desk people' rather than individuals you know might just be having a bad day.

<comment><USER10> I actually left my last company partially for that reason. I was the dev lead, responsible for getting a green field project out and the company I was working for merged with another company and they instituted so many processes around the IT processes I couldn't get anything done. We also migrated to AWS and they treated AWS like an expensive colo. Every thing had to be approved, we could only get VMs and no access to any other functionality and I couldn't even get a separate dev account, isolated from production so we could experiment and work.

As soon as I got phase 1 completed of the project, I found another job as "just" a senior software engineer and the day I came in, immediately got full access to everything and admin credentials to our AWS accounts.

Before the IT gatekeepers respond about how crazy it is to give software engineers unfettered access to the production infrastructure, I was brought in partially for my AWS architectural experience (adult supervision), I negotiated _not_ to be a team lead and I switch back and forth between development and cloud infrastructure depending on the day of the week.

</comment></comment></comment></comment><comment><USER12> I remember a phrase that goes with this but cannot remember the origin: "actions taken without orders are not actions taken against orders".

<comment><USER10> That's a great statement. Actions taken without orders will usually end up with at most a slap on the wrist "for not following the process" or a wink and "that was a great idea but can you try not to step on toes?". Actions against orders is insubordination.

</comment></comment><comment><USER13> Regarding ethics referenced, it seems "ask forgiveness" has been the legal strategy of the biggest startups of the last 10 years. These were not so much innovation as much as exploitation of an obvious market that was restricted to preserve a public good (residential neighborhoods and streets). I suppose that the ethical way to get around such laws may be open marketplace platforms, such that the profits can only come from choice of technology, and not market control over scarce resources.

<comment><USER10> What was the ethical reason for the taxi medallion system? All it did was create an artificial shortage and a few people got rich buying medallions and the actual taxi drivers were just as shortchanged by the owners of the medallion as they are by Uber and it was a worse customer experience.

<comment><USER14> The ethical reason was to reduce congestion. Whether that's the _real_ intention and, if it was, whether it was accomplishing that goal is arguable, of course.

<comment><USER15> Increasing the price of using a vehicle in the congested region would have been the ethical way to reduce congestion, not making a market controlled by government officials that they could collect rent on.

</comment></comment></comment></comment><comment><USER16> It's a useful maxim in an organizational or bureaucratic setting for sure, but is not generaly good advice in personal relationships

<comment><USER6> I've heard this quote used in a joke form. Something like "I prayed to God for a bike but never got one. So I stole one and asked for forgiveness instead."

<comment> Digit-Al I believe this would fall under the maxim "God only helps those who help themselves" :-/

<comment><USER17> How convenient

</comment></comment></comment></comment><comment><USER18> > I don't wanna pick on any particular company, but I think we could rattle > off a list of companies whose primary business model is to take public goods > and to turn them into private profits

There must be some echo chamber that I am not familiar with. What is an example of this? Are people buying the Brooklyn bridge again?

<comment><USER19> Selling water rights to bottled water companies is one example. I can't drill a well in my back yard because of some transaction that entitled the local water bottling and delivery company to the water.

<comment><USER6> This sounds similar to when Monsanto tried to patent seeds and sued small farmers out of their livelihood.

<comment><USER20> You say this as if it's something that happened in the past. They're still doing this. Worse, in some countries they've tried to get all other seeds banned.

</comment></comment></comment></comment><comment><USER8> I admire Grace Hopper, but she did not coin this phrase.

[https://quoteinvestigator.com/2018/06/19/forgive/](https://quoteinvestigator.com/2018/06/19/forgive/)

</comment><comment><USER21> "If you're going to go down, take people with you."

It means if you're going to do something risky, partner with someone at a higher level than you. If your idea is solid enough, they won't be too hard to find.

</comment><comment><USER22> Optimistic locking makes better progress than pessimistic locking in a non- heavily-contended case ;P

</comment><comment><USER23> Similarly, people misapply Postel's maxim.

You have to read it with a knowledge of the context and history.

</comment><comment><USER24> This should be the Cuba Gooding, Jr defense.

</comment><comment><USER25> > Move the extrinsic cost to the public domain so that we can profit.

> ...whose primary business model is to take public goods and to turn them > into private profits

First, those two statements are not at all the same.

Second, what constitutes "extrinsic cost" is subjective. If you go out and feed the homeless for a day, there is an extrinsic cost (to someone, somewhere) of the net sum of your activities. Judging whether or not the extrinsic cost is outweighed by the extrinsic is... Dangerous.

Third, ALL corporations, (private corporations, nonprofits and governments), and all humans (miners, manufacturers, writers, artists) take public goods and turn them into private goods, of course, not all of them profit, either by design or by execution. Taking public goods and turning them into private goods is what it means to transact in society.</comment>


Microsoft plans to build ad blocker into its Edge browser - <AUTHOR> http://www.zdnet.com/article/microsoft-plans-to-build-ad-blocker-into-its-microsoft-edge-browser/ <comment><USER2> At least for now, I think ad-blocking should be optional, as it is in the new Opera beta, but I think tracking-protection (against third-party cross-site trackers) should be the _default_ in browsers.

In fact, browser vendors should not just use "tracking blacklists" (as Firefox does now), but they should be working on new standards that _break_ websites that use cross-site tracking, and they should set a deadline of 1-2 years before it goes into effect. Call it a "sandboxing/isolation" feature (which is what it should be).

I think tracking _on the site_ that shows developers what pages a user visits and whatnot, is _fine_ , but I oppose tracking _across websites_. That's really just another name for mass surveillance. That kind of trackers also introduce all sorts of security issues.

Being tracked across domains is really more of a new phenomena on the Web, and Google was one of the first companies to introduce it. And because they just enabled it for everyone by default, we didn't get much time to fight back against it. But I think we can and should fight back against it.

Optional ad-blocking in browsers will eventually teach the advertising industry as well as publishers that they better do something about those heavy ads and _quickly_ before everyone starts learning about that setting in their browser, while a default ban on cross-site tracking should hopefully stop the practice altogether.

I hope that everyone who wants to implement ad-blocking in their browsers should also allow users to test how the browser performs with ads vs without ads. That feature in Opera is seriously addictive and just another way to encourage publishers to get rid of bad ads.</comment>


Green Power Takes Root in the Chinese Desert - <AUTHOR> http://www.nytimes.com/2009/07/03/business/energy-environment/03renew.html?hp <comment><AUTHOR> That image of greenery in the middle of the desert is just so... captivating.</comment>


What Happens to American Myth When You Take the Driver Out of It? - <AUTHOR> http://nymag.com/selectall/2016/10/is-the-self-driving-car-un-american.html <comment><USER3> I completely disagree that self-driving cars are un-American. In fact I would go so far as to say that self-driving cars are the future to the American suburb. If America was founded on freedom and the pursuit of happiness, what could be more American than having a robot car chauffeur you to and from work while you work in your car? The ability to be free from an oppressive commute may lead to a resurgence in the American suburbs. It's a far-fetched notion but I wouldn't be surprised by it either.

<comment><USER4> >> what could be more American than having a robot car chauffeur you to and from work while you work in your car?

Really? The American myth of self-reliance and independent determination doesn't mesh with being driven around by a robot. The person who buys an diesel f150 or a Shelby Mustang isn't the sort of person who likes being driven around by other people, let alone by a cellphone app. The American myth is the lone cowboy on the horse, not the rich man in the stage coach.

Cars are not rational decisions. If they were, we would all drive gray electric minivans. Cars are a means of expression. They are class identifiers. They are thrill machines. They are weapons. They are Freudian. I'll be convinced about autodrives in the US when I see ONE autodrive car take ONE spectator to a nascar event. It won't happen in my lifetime.

<comment><USER5> > _The person who buys an diesel f150 or a Shelby Mustang isn 't the sort of > person who likes being driven around by other people_

Indeed, it feels hard like a hard message to convey on these boards: some people (me) _enjoy_ the act of driving a car. And almost every reasonably wealthy culture seems to like watching other people do it competitively.

<comment><USER6> I work in IT and it's incredibly hard to find like-minded petrol heads. Seriously, I have people who tell me on almost daily basis that they can't wait until they don't have to drive any more and when all manual cars are banned. It's nonsense. I love driving my car to work and for leisure, I spend at least few hours every week cleaning, polishing, waxing it, it's really my pride and joy. But for a lot of people it's this expensive box that is a constant source of problems and they can't wait to get rid of it.

<comment><USER7> This isn't all that difficult of an analogy to computers for most people. Most of us here like computers enough to program them or mess around with them for our careers, but most people can hardly wait for the day they don't need to use a computer as they currently use it - it's an appliance to them mentally.

</comment></comment></comment></comment></comment><comment><USER8> Good riddance to drivers!

The American Myth survived our abandonment of horses. It didn't seem to crush the importance of the Western in our culture.

<comment><USER9> Not to mention that it was always a _myth_. The reality was always some form of danger, pollution (horses are messy!), wasted energy and treasure.

<comment><USER10> And it was not really a big institution.

Transportation in the early US relied on MULE teams more than horses. And east of the Mississippi, we rowed.

<comment><USER11> Rowed, in water? Luxury. West of the Mississippi we used to drag our boats through rock beds while the sun beat down on us for 29 hours a day.

</comment></comment></comment></comment><comment><USER12> The driver in the American Myth will go the way of surrey with the fringe on top.

Back when my grandmother was still alive, I was doing a crossword with she and her friend. Crossword hint was "has a fringe on top". Her friend said "surrey", the correct answer, and followed up with "my family had a surrey with a fringe". My gobsmacked grandmother said dripping with envy "your family had one with fringe?!"

Two generations later, I drool over phones and gadgetry. So yeah, the driver will go the way of the fringe.

<comment><USER13> Note that the crossword was almost certainly referring to the song from the musical Oklahoma. The pretend envy might have been about having something from the popular lexicon, rather than fringe being like a technological feature.

<comment><USER12> You are probably right about the crossword clue. But the grandmother's envy was not pretend, but perhaps colored by surprise. I think the surrey with fringe was a luxurious status symbol, like having a Mercedes-Benz or something. The surprise would be like finding out that your plain Jane unassuming friend grew up in a fairly rich family.

</comment></comment></comment><comment><USER14> I'm currently sitting in a train station parking lot watching my Uber drive around in circles. Apparently Google maps is unaware there is a new easier entrance and still instructs drivers to enter through the old construction site.

This has gone on for the 3 months I've used them as part of my commute.

I'm looking forward to the day where I get into an argument with a wheelless self-driving car about taking shortcuts and avoiding traffic. Simply because I have local knowledge on traffic patterns which most maps still lacks.

<comment><USER15> The #1 pro tip with Uber is never, ever call for a ride unless you have clear blue sky overhead. Otherwise, because you can't enable the satellite view, it's hard to be sure what location is actually going to be reported to the driver. Location services can be _way_ off base when GPS reception is poor, and in many urban settings an error of a hundred yards might as well be ten miles.

Uber could make life a lot easier for everyone if they'd just enable the satellite view, so you can verify that the driver will be sent to the location where you actually are.

(Edit: Instead of downvoting, consider explaining why I'm wrong. Maybe there's something extremely silly that I'm missing.)

<comment><USER16> Can't you just contact the driver... via your phone?

<comment><USER14> This is South Florida, 40% of the Uber drivers don't speak English well enough to drive and comprehend at the same time.

And my worry is automated cars with no steering wheel still rely on these mapping services. They aren't 100% accurate and if you don't have any controls you can't correct for that.

</comment></comment></comment></comment><comment><USER17> EVs pose a similar question. I have a Leaf which is silent. No growl at the intersection. This has changed my driving and how I see other cars.

<comment><USER18> Silent, deadly electric cars...

Joking aside, they've snuck up on me more than once when I'm about to cross the street and they're trying to right-on-red. I'm surprised they don't have some artificial noise to improve awareness.

<comment><USER19> Please don't suggest adding noise to electric cars. There is a danger that a politician or regulator will take the idea seriously.

<comment> Digit-Al There is already much going in in this realm:

[https://www.google.co.uk/#q=adding+noise+to+electric+cars](https://www.google.co.uk/#q=adding+noise+to+electric+cars)

</comment></comment></comment></comment><comment><USER20> Good article, the mention of rural America is interesting though since self driving cars to my knowledge still can't operate in an unmapped dirt road properly or otherwise handle the challenges of going off the beaten path.

I'd like to see one of these self-driving cars tackle a mountain road in a blizzard, just not when I'm on that road ;)

<comment><USER21> To be fair, most people can't tackle a mountain road in a blizzard. At least if the streets of my hometown after a mild snowstorm are any indication.

</comment></comment><comment><USER22> So, this will work great in Downtown someplace - but not so well outer whoknowswhereville - I spent a majority of the last three years driving on; roads not on maps, dirt roads, logging roads, roads with no internet access, and poorly marked roads.

We might be able to replace taxicabs thru automation likely in the next 20 - <USER2> dont think we will ever replace drivers. I see automation in a car taking the same route as autopilot in the airplane - not total automation, just partial.

<comment><USER23> I agree in part, but think it'll go further than you expect. I suspect manual driving will, in the next twenty years, require lots of additional training, licensing, insurance, and certifications. And you'll have to prove special circumstances (farm use only, etc). As the technology gets there maps will catch up, and likely become more and more real-time. It seems impossible now, but I'll bet the next wave of mapping will marry a thick web of satellites and machine learning to essentially figure out what is a road, a dirt road, a road with construction, etc. And that will be fed to the cars in their respective areas. The present situation will seem quaint indeed. So even in rural areas, there will likely be auto cars everywhere by in the most remote of areas (similar to how in some places the snowmobile and ATV are more heavily utilized than cars simply because of environmental/geographical reasons). I also inside this sea change will heavily impact rural areas and many of them will either be transformed or erased. Think about what happened when the interstates were built. Many towns which had previously prospered on state highways and the like almost literally overnight just vanished...Or turned into just a gas station, diner, and bar for what few travelers remained.

</comment></comment><comment><USER24> I know Google has gone the route of removing the steering wheel but it seems that even if vehicles have self-driving capabilities some level of "manual override" will be desirable especially if you're not in a densely populated area. Using a car to pull a stuck vehicle out of the mud is certainly a valid use-case that not everyone will want to give up. Yeah it might become illegal to use manual driving modes on public highways or something but I can't imagine that we're going to be strictly limited to what the GPS software says is a valid destination and I'd find it impressive if software was written for every action people do with cars.

That being said these technology companies _always_ seem to move towards smaller feature sets that intersect with the use-cases of the largest user bases and power users are often forced to hack together their own custom solutions if they don't fall into the general population of users so if anything this article is a warning to not let the Apple's and Google's define how we use self-driving cars.

<comment><USER25> Any need for a manual controls is a failure of software.

<comment><USER26> And software has failures.

</comment></comment></comment><comment><USER27> Does the Man with No Name have the same aura about him if he rides into town on a self guided horse?

Transportation with know destinations (planes trains and self driving cars) diminishes the role "fate" plays in ones destiny. The invisible hand becomes visible because all arrival in a place is preceded by intent to be there.

So yes, it does signal at least a change to the American Myth.

</comment><comment><USER28> Yes. Conservative areas may make a point of banning them. The house and the car are the pinnacle of consumption in America.

On the flip side, car culture is already on its last legs. Cars became hideous in the 80s, and monotonous in the 90s. And increasing gearheadom is derided as lower class, non-white, or rural.

Cars themselves with their reduced noise, better suspensions, and more sealed interiors isolate their inhabitants from the outside world _and_ the feel of driving. I once had the joy of riding an MG-TD: thrilling at any speed.

<comment><USER27> > And increasing gearheadom is derided as lower class, non-white, or rural.

Don't mind F1, Le Mans and club racing, three of the most capital and technology intensive activities you can participate in.

<comment><USER28> I'm from America. Those are less well known here.

</comment></comment></comment><comment><USER29> This article reminded me of David Cronenberg film "Crash" based on J.G Ballard book. Its interesting and worth a watch, although it might not be for everyone. There's a few different versions and I think I saw the uncut one.

</comment><comment><USER30> Wonderful read, interesting on so many levels.

</comment><comment><USER31> the difference in the American myth will be which seat in the car people will be sitting in.

</comment><comment><USER32> At first I read it "American Meth"</comment>


Ask HN: Is Engineering Management a good career choice? - <AUTHOR> I've been in an engineering management role for 6 months at a large non-tech company in the financial sector. They've existed for decades and have realized that tech is key to their business. I, along with other EM's from the tech industry, where hired for some organizational transformation.
This is actually my first management role (although I have had direct reports before).
I've actually really enjoyed the role so far, because I've been getting to live The Phoenix Project (DevOps Handbook, Accelerate, and Manager Tools as well):
- We're moving from large risky deploys to small frequent deploys (we're currently in transition)
- Tests are now important, whereas before they were considered tech-debt and would get written after a release
- We're moving from a command-and-control styled leadership where all decisions have to go "up the chain", to a team-empowered structure
- One-on-ones are now important. Whereas before folks would have 20+ direct reports and one-on-ones with their boss was a thing that happened once a month if you were lucky (they were scheduled bi-weekly, but would often get cancelled due to meeting conflicts)
- Moving from waterfall driven projects to "product" based thinking...using SCRUM/Agile in some places, and Kanban in others
- Etc.
That being said, I'm having trouble justifying my position/role/. My salary is higher than most of the developers & I have a lot more authority. A lot of my job is listening to devs and approving their ideas...and justifying things to leadership. Expectation management is a huge part of my job. And a lot of admin stuff. But I like it! I enjoy the role a LOT.
Is this kind of thing good for my career? I really enjoy it, but it's tough because my focus is on the people-system and not on the products we're actually delivering, so it's hard to see where my value comes in. I wonder if I could be automated...and maybe I should go back to a senior dev role :) <comment><USER2> Results and retention. Focus on those and you'll be fine. I recommend listening to the Manager-Tools.com podcasts. Apparently imposter syndrome is pretty common for managers, so just take all the uncertainty in your stride and keep learning.</comment>


Ext4 vs. Fat32 file allocation - <AUTHOR> http://alexandru.juncu.ro/blog/2015/03/07/file-magic/

<comment><USER2> That FAT32 doesn't support sparse files is a well-known fact. But that isn't even necessarily the limiting factor here; the size of a file on FAT32 is represented by an unsigned 32-bit integer, and is thus limited to one byte short of 4 GiB.

Some of the other details mentioned here are inaccurate as well. In particular, stat() returns both the file length and the size on disk; ls will typically display the length, not the size on disk.</comment>


How to plan humble user-centric web application? - <AUTHOR> http://ketankhairnar.blogspot.com/2008/02/how-to-plan-humble-user-centric-web.html

<comment><AUTHOR> I would like to know about your experiences regarding this. thanks in advance.

<comment><USER2> I think that the key to usability design is that you have to understand both people, design and technology. This is very broad, and not many can do it.

Basically a good usability designer needs to be a hacker and a painter that goes to a lot of parties...</comment></comment>


Facebook will pay $52M in settlement with moderators who developed PTSD - <AUTHOR> https://www.theverge.com/2020/5/12/21255870/facebook-content-moderator-settlement-scola-ptsd-mental-health <comment><USER2> It's not clear if they are paying 6k or 50k USD to affected moderators. Either isn't enough for a lifelong disease imo.

Also, it's shitty that they are just paying American moderators. Shouldn't the verdict apply globally?

<comment><AUTHOR> yeah, it doesn't necessarily seem like a lot for those affected. that said, an upper band of $50k for damages feels like it could be enough to motivate content moderation orgs to take this stuff more seriously?

</comment></comment><comment><USER3> This post will probably get downvoted but, why are we not using people who view the kind of stuff Facebook moderators have to go through, who do and would gladly view such materials for free? If they can make a living while enjoying themselves, and we can keep them away from normal society, that would be a win-win, no?

<comment><USER4> Sounds like an outlet for allowing sharing of illegal material. Want to share cp? Just upload it to facebook? Want to watch children get abused? Just moderate Facebook!</comment></comment>


Basecamp Personal Edition - <AUTHOR> https://basecamp.com/personal <comment><USER2> lol. Years ago that was simply the free tier, and IIRC one or two projects stayed free forever.

Then they went all corporate and introduced enterprise pricing at about 10x the previous rates, and entirely nuked the free tier. Nothing - pay big or get lost. I won't be falling for it again.

<comment><USER3> I guess the point of inflection on their user graph is about 2016? [https://basecamp.com/about](https://basecamp.com/about) down the bottom

<comment><USER2> My memory is probably a little earlier, but somewhere around the 2014-2016 range, when growth stops on that graph. Work stopped using the paid tier at the same time as they were looking at a huge 200 or 400%+ price increase. So I imagine it started quite an exodus of non-enterprise level users...

Work ended up finding something better at less than the Basecamp old price, let alone the new ridiculous one, though we did have to try out a fair few to get there. :)

<comment><USER4> > the 2014-2016 range, when growth stops on that graph

That graph is "artistic" and doesn't represent reality. Check out this earlier, far more reality accurate graph:

[https://web.archive.org/web/20170701044638/https://basecamp....](https://web.archive.org/web/20170701044638/https://basecamp.com/)

You might not have liked the new pricing, but from memory signups only ever acellerated.</comment></comment></comment></comment>


Ask HN: How do you work with AWS? - <AUTHOR> I'm using AWS Toolkit for Eclipse (https://aws.amazon.com/eclipse).<p>How do you work when you need to develop new things? What is your workflow? <comment><USER3> When I'm trying out a new AWS service I start using it through the web console. Once I gain some familiarity with the service and settle into a pattern of manual operations, I translate the manual operations into CLI commands. The most commonly run CLI commands I throw into a shell script.

For instance, I started using AWS Lambda by manually uploading the lambda code .zip file through the web console. Later on I wrote a shell script that invokes an AWS CLI command to do the same.

TIP: when using AWS CLI, set the parameter '\--output json' to get pretty, readable output. It's much better than the default output text format.

<comment><USER4> What about using Serverless or a framwork for Lambda stuff?

<comment><USER5> (I'm not the one you were replying to, FWIW)

> What about using Serverless or a framwork for Lambda stuff?

If you're using other parts of AWS than Lambda, is there a benefit to using serverless? If I still need to know aws cli for the other services I use, what's the point in learning a specialized tool that only works for one service?

<comment><USER6> Its less overhead. You don't have to worry about keeping the EC2 instance or web server running/patched/updated/etc. The juice may not worth the squeeze with the extra complexity of using AWS Lambda.

<comment><USER5> Are you comparing Lambda to non-Lambda, or are you saying that in addition to managing a Lambda function, serverless can also "[keep an] EC2 instance or web server running/patched/updated/etc"?

</comment></comment></comment></comment></comment><comment><USER7> I've experimented with a few different things and there really are lots of valid ways to work depending on context.

Terraform: at some point you will probably end up here. It gives you so much control, it's fast and (mostly) easy to work with. It gives you a good idea of what it is doing and why.

Cloudformation: mostly I've used this embedded in some other tool. For example we have a fairly small Elastic Beanstalk app which uses SQS and SNS - nice to be able to extend the basic infrastructure easily inline with your app definition. Similar situation with serverless.

Awless: this is a really nice (scriptable!) CLI alternative. Nothing wrong with the normal AWS CLI but this does some things simpler/nicer. If what you are doing is simple enough you can script infrastructure with these tools.

Console: I really use this alongside the other things as I'm building automation or to explore some new service I've not used before.

Ansible: for configuration management (post terraform apply) we are using ansible. So far we set up an admin box inside the infrastructure and run ansible from there. We've experimented with having ansible build the inventory but currently looking at a bash/jq/awless combo to build it dynamically.

Edit: not ever used ansible to modify AWS infrastructure. We keep infrastructure separate with a configuration management separate from setting up the infrastructure.

</comment><comment><USER8> At work, the workflow is largely this: developers hand-create resources in the DEV environment, get things working, work out kinks, then the DevOps team comes in and translates everything into their Terraform automation setup, and then deploys to other environments use Terraform.

Personally, when working in DEV, I do most of my work through the AWS Console, combined with some use of the AWS Java API. I rarely if ever use the AWS command line tools.

<comment><USER9> Wow. Why not automate it from the beginning?

<comment><USER8> We may get there eventually, but that's just the way things were done here when I started. Unfortunately we have one of those environments where "devops" is basically a separate department, and are treated more like sysadmins than a core part of the development team. So the culture leads to a mindset of "DevOps does the automation stuff".

<comment><USER10> I've been there. It's a frustrating situation, and difficult to change.

</comment></comment></comment></comment><comment><USER11> "Sandbox" accounts where devs have admin access to go figure out how services work and fit together.

Once they're ready to go into actual dev environment it's Terraform.

We also have a service catalog for standing up ec2 instances that are fully managed like in the datacenter and cloudfoundry.

Personally I tend to use a mix of terraform, boto3 and CLI for the vast majority of things, and log into the console when I need to go look at things occasionally.

</comment><comment><USER12> When developing new things, I always used Terraform and Jenkins.

The reason is because:

1\. Terraform You can abstract the deployment logic and requirements into single unit because developers ideally should spend more time building products rather than dealing with the deployment and cloud stuff. Furthermore, this will be one source of truth for any deployment configuration and documentation, that will be super worthed in onboading as well especially when you're working with big engineering team (> 50 engineers)

2\. Jenkins We actually can run terraform from our local computer, but with Jenkins we can standardize the way people update and create the resource in consistent way. Also, by using Jenkins we can track all deployment that happened

My future plan is for combining this workflow with management configuration tools like Ansible since Terraform is not only for creating cloud resource, not for manage configuration. Currently, I'm ussing bash command which obviously won't be easily scalable and understandable by engineers.

</comment><comment><USER13> Console to figure out a new service (it's a quick way to see all the different configuration options). CLI for some actions not supported by the console.

Then once we've figured out how we want to use the service, we script the deployment with CloudFormation and put it in an Ansible playbook. This allows us to rebuild everything from scratch, and that's actually what we do for each deployment. Also makes it super easy to set up a new environment (e.g. to onboard a new team member).

We briefly considered Terraform but the learning curve seemed steep - <USER2> we give it another shot?

</comment><comment><USER14> I use the serverless framework CLI ([http://serverless.com/](http://serverless.com/)) 80% of the time. Does all my config + deployment for me.

</comment><comment><USER15> Every client has different requirements so it varies. CloudFormation is common but strongly prefer Terraform when possible for creating infrastructure, and use Ansible or chef-solo for config management, pre-baked AMI method and deploying to ASG Launch Config for deployment. Use Python and Lambda for scripting out things like backups and common security tasks or anything else that may need to be scripted out.

<comment><USER16> I generally love Hashicorp's tools, but never really got using Terraform over CloudFormation.

I found the cloud-agnostic claim to be a bit of an exaggeration, plus most clients are happy to stick to one provider. Sure, CloudFormation is a bit slow, and the JSON is awful, but with YAML it's okay. And I don't need yet another tool. What am I missing?

<comment><USER17> I'm not too familiar with using straight up CloudFormation JSON definitions. Are you able to create reusable modules in CloudFormation?

In Terraform you're able to create modules that you can use to setup uniform infrastructure. For example, you could have an RDS module that aside from setting up the database it also sets up a replica, a dedicated KMS encryption key, IAM policies, security groups, parameter groups, etc. So instead of setting all of this up for every database you have, you can just reuse a custom module that does all of this for you. These modules can also be versioned such that you can upgrade and change them as needed without breaking all your current infrastructure.

<comment><USER16> Arguably you can create a stack that does this and exports the DB identifier to be used in other stacks. It doesn't sound as convenient though, and child stacks have some annoying limitations.

</comment></comment></comment></comment><comment><USER18> Well, cfndsl allows us to write our cloudformation templates in YAML instead of JSON. Those can also get easily checked into git.

We are also trying out some stuff with serverless.

But we are an AWS-only shop, so terraform and other cross-cloud tools are not of interest. And we are also not interested in anything that can't take full advantage of everything AWS offers.

And we are particularly uninterested in anything based on kubernetes.

<comment><USER16> CloudFormation supports YAML templates out of the box: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui...](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html)

It's way nicer than JSON, especially w.r.t. functions. It's also compatible, so you can load JSON templates into e.g. a Python script and serialize them to YAML. I did this to all our templates pretty much as soon as it came out.

I have used cfndsl and loath it. If I need more complex variables than CloudFormation supports, I rather use a simple templating engine like Jinja2 or ERB than a Ruby-based DSL.

</comment></comment><comment><USER19> I use the console to manage S3 buckets and credentials in IAM. EC2 instances are provisioned via Rancher.

</comment><comment><USER20> Straight into automation using tools like Terraform or working directly with K8S cluster

</comment><comment><USER21> Gradle, Terraform and Jenkins.</comment>


Hackers Are Already Using the Shellshock Bug to Launch Botnet Attacks - <AUTHOR> http://www.wired.com/2014/09/hackers-already-using-shellshock-bug-create-botnets-ddos-attacks/ <comment><USER2> "Hackers" are those who tinker with stuff for fun. "Crackers" are those who break into systems for profit.</comment>


Stephen Wolfram's Introduction to the Wolfram Language [video]  - <AUTHOR> https://www.youtube.com/watch?v=_P9HqHVPeik#t=295

<comment><USER2> This looks quite impressive, but I can't lose the feeling that "everything built into the language" simply means that everything got dumped into the same namespace. Anyway, now I'm curious enough to see what I can download to play with the language.

</comment><comment><AUTHOR> I'm curious about his 'knowledge-based programming' concept.

Will be interesting to see where this new language goes.

Right now it's not yet public, so you'll need to opt in to receive updates if you want to know when it's released.</comment>


Demoex: Experiment With Direct Democracy - <AUTHOR> https://en.wikipedia.org/wiki/Demoex

<comment><USER2> I wonder how they deal with tyranny of the majority

[http://en.wikipedia.org/wiki/Tyranny_of_the_majority](http://en.wikipedia.org/wiki/Tyranny_of_the_majority)

If direct democracy were implemented in the US, everyone would be forced to pray to the Christian god, tithe 10% to their church and force-feed creationism to the kids.

<comment><AUTHOR> Great point. I'm assuming the appropriate counter measures would be a constitution, separation of powers, etc. For arguments sake, your (christian fundamentalist) concerns would eventually be mitigated through education/scientific literacy - a processes which has been naturally occurring one funeral at a time. This is in contrast to the existing tyranny of the minority/corporate interests in which self correction doesn't seem to exist.

I posted this link after reading the Ethereum white paper: ([https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White- Pa...](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Paper))

It mentions 'liquid democracy' in the context of a Decentralized Autonomous Organization. Ideally, you'd be able to delegate or set up a proxy to vote on your behalf on specific issues. [https://en.wikipedia.org/wiki/Delegative_democracy](https://en.wikipedia.org/wiki/Delegative_democracy)

Generally speaking, our underlying political structures are archaic. I think this is what's fundamentally wrong, not any individual agent. It's worth thinking about alternatives. Demoex is interesting in that it radically alters the political structure without requiring it to be torn down.</comment></comment>


Financial Model Color Formatting - <AUTHOR> https://corporatefinanceinstitute.com/resources/knowledge/modeling/financial-model-color-formatting/ <comment><USER2> As much as people in finance love their excel spreadsheets, it'd be lovely if the programming skills of data scientists were adopted. Excel is so horribly inefficient when it comes to reproducibility, auditing, and updating. I can only imagine how much time is wasted throughout enterprises updating models like this because someone some time made a change that wasn't documented — giving erroneous results.</comment>


Loaded Terms in Free Software - <AUTHOR> https://lwn.net/SubscriberLink/823224/4c3b052672dcab21/ <comment><USER2> > loaded terms like "master" and "slave" have been ongoing in the community > for some time, but recent world events have given them a new urgency

World events? Isn't it just the US?

<comment><USER3> It is. Incredibly no one does anything about the modern day slavery in Northern Africa, where are all American freedom fighters who will change World events!?

[https://en.wikipedia.org/wiki/Black_Lives_Matter#BLM_interna...](https://en.wikipedia.org/wiki/Black_Lives_Matter#BLM_international_movement)

</comment></comment><comment><USER3> "Allow me to introduce my next-door neighbour. John Stokes, this is A Snivelling Little Rat-Faced Git. "

Git is deeply offensive word used as an insult, we need to change it to TING (TING is not Git) /s

<comment><USER4> Ting([https://ting.com/)'s](https://ting.com/\)'s) Lawyers: Allow me to introduce myself</comment></comment>


Senator Schatz: Strike Fear in Congress by Turning Your FCC Rage into Votes - <AUTHOR> https://gizmodo.com/senator-schatz-strike-fear-in-congress-by-turning-your-1821309767 <comment><AUTHOR> The Open Internet is important enough to demand legislative action. It should not be left to flip-flop depending on which party controls the Presidency and thus the third vote on the FCC.</comment>


Microsoft is working to bring 64-bit Intel app emulation to Windows on ARM - <AUTHOR> https://www.neowin.net/news/exclusive-microsoft-is-working-to-bring-64-bit-intel-app-emulation-to-windows-on-arm <comment><USER2> Someone with a better understanding of CPU architectures and instruction sets may be able to correct me if I'm wrong, but wouldn't it be more accurate to say that Microsoft is working on bringing x86-64 emulation to Windows 10 on ARM? No doubt the headline is written to be a bit more consumer-friendly.

AMD pioneered this version of the instruction set with AMD64, and Intel actually adopted it as Intel 64, with minor differences[0].

[0] [https://en.wikipedia.org/wiki/X86-64#Intel_64](https://en.wikipedia.org/wiki/X86-64#Intel_64)

<comment><USER3> > wouldn't it be more accurate to say that Microsoft is working on bringing > x86-64 emulation to Windows 10 on ARM

Isn't that exactly what the title says? Which bit are you quibbling with? Or has the title been changed?

<comment><USER4> That AMD made x86- _64_ , not Intel.

<comment><USER3> They're all just different names for the same ISA, and both parties have extended it since. Are you complaining about credit? AMD just extended Intel's design to a wider format. Why should AMD get more credit? I do write AMD64 myself, but title is fine.

<comment><USER4> > AMD just extended Intel's design to a wider format.

In that case just call it x86 as a catchall. But if you're going through the effort to specify the 64 bit ISA, then "Intel's" stops being particularly correct.

</comment></comment></comment></comment></comment><comment><USER5> Intel has put out a legal fix statement last time around. Similar announcement this time?

Looks like bringing ARM power efficiency and crazy parallelism to windows is only a good thing for consumers.

<comment><USER6> Intel doesn't own x86-64, more commonly known as AMD64.

<comment><USER7> You're forgetting about Intel's SSE2.... (which was incorporated into AMD64).

<comment><USER8> Sse2 was introduced in Nov 2000.

<comment><USER7> Yes, exactly. AMD made it a mandatory part of the AMD64 spec. Before that, SSE2 was an optional part of the ISA. Now, it's required if you support AMD64. Not a problem for AMD, since it had a cross license agreement with Intel, but an issue for anyone else. It's not a coincidence that AMD64 support is being proposed when the AMD64 and SSE2 parents are expiring (likely Microsoft has a license agreement with AMD, given how short of cash AMD was until recently, and AMD's need for MS to support AMD64 in the first place.). So, quite possibly the main holdup for Microsoft to emulate AMD64 has been to wait until the SSE2 patents expired.

</comment></comment></comment></comment></comment><comment><USER9> I'm sure there's a long German word that means "having your opinion about a product lowered due to a press release announcing a feature you already thought it had."

<comment><USER10> schlaginsgesichtmitkaltemfisch

</comment></comment><comment><USER11> Who knew Wintel combination will become the curse for Microsoft. Microsoft paid heavy price including a complete OS flop, and losing mobile war; just because developers were not ready to leave Win32 API and step down to WinRT (buggy and half baked). Current emulation for 32-bit is slow and reviews are terrible. I wonder if Intel will ever be able to develop something revolutionary that runs x64 and energy efficient as ARM.

<comment><USER12> WinRT may have been buggy but the mobile OSes were not so bad. They had mobile OS releases mirroring XP, 7, 8/8.1, and 10. The problem is Microsoft made no commitment to non-secureboot hardware on non-Intel devices and all of these devices were extremely locked down and not accessible to end users. Consequently, no one cared about them. You probably didn't even know they had a mobile OS patterned after Win7, right?

This turned around a little bit for the 8/8.1 and 10 mobile OS releases but not by much. A lot of stuff just wasn't possible on a Windows phone, even though the garden experience was exceptional.

<comment><USER13> >> You probably didn't even know they had a mobile OS patterned after Win7, right?

To the contrary, I stuck with Windows phone forever. I loved it.

</comment></comment></comment><comment><USER14> I wonder if Apple will beat them to it.

<comment><USER15> Apple is more likely to say no to backwards compatibility. Microsoft on the other hand is the polar opposite.

<comment><USER16> MS removed 16-bit support on 64-bit Windows. Linux and WINE can run older Windows programs than Windows can! So, if Microsoft is the polar opposite, then Linux must be the stratospheric opposite.

<comment><USER17> 64-bit Windows 10 can run WINE too so that point goes to Windows again.

<comment><USER16> As far as I know, Windows 10 does not support 16-bit segments at all, so Wine on Windows 10 would be unable to execute 16-bit code. I don't know to what extend 64-bit Windows supports segmentation at all.

Linux, in contrast, gives complete control of the LDT except that the LDT may not contain call gates, long mode segments, or anything with DPL != 3.

Making this work safely, especially on x86_64, is a real PITA, so I can't really blame MS for declining to support it.

<comment><USER17> Do you realize that Windows 10 can run Linux aswell? Also Windows 10 NTVDM (NT Virtual DOS Machine) has an unofficial port to 64bit.

<comment><USER16> Windows 10 can run Linux in a VM (e.g. Windows Services for Linux, which is a VM these days), and it can run DOS or Windows 3.1 or whatever else in a VM as long as you have virtualization enabled. What it _can 't_ do is run native 16-bit segmented code as a regular user mode process. Linux can.

The NTVDM port appears to be a legally dubious emulator.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I am a huge fan of the Surface line, and a Pro 7 may very likely be my next laptop - but I just don't get the Surface Pro X as a product.

It is more expensive than the Pro 7, and the x86 emulation has been disappointingly slow.

Reviews have been poor on average, and it's all reminiscent of the Surface RT debacle - except at least the RT was _less_ expensive - not more.

</comment><comment><USER18> How can the hardware possibly support that in a usable way?

<comment><USER19> I think it's purely software translation from x64 -> ARM.

<comment><USER20> I think the question is whether the performance will be reasonable. Most emulators (e.g. of gaming consoles) struggle to keep up with recent software, since the translation often incurs in a lot of overhead.

<comment><USER21> Game emulators are running everything emulated. An application running on top of an operating system will hopefully get some benefit of spending time calling native operating system code. It helped a lot back in the day with Apple's 68K to PPC transition.

</comment></comment></comment></comment><comment><USER22> What is the x64 architecture?

What is the difference between x64 and AMD64?

Why is it called "64-bit Intel app" in the headline?

<comment><USER2> It's actually the x86-64 instruction set, that is to say, the 64-bit version of x86. AMD created the first implementation of this set with AMD64, and Intel then adopted it with their own flavor as Intel 64. I don't think the headline is as accurate as it could be. Probably wrote the headline with the assumption that "most readers" would better understand "64-bit Intel" than "x86-64" but they might be underestimating their readers! And even then, it's officially called "Intel 64" according to Wikipedia.

[https://en.wikipedia.org/wiki/X86-64#Intel_64](https://en.wikipedia.org/wiki/X86-64#Intel_64)

<comment><USER23> > x86-64 (also known as x64, x86_64, AMD64 and Intel 64)

One official name among others. Linux distros tend to refer to it as amd64.

</comment></comment></comment><comment><USER24> I don't understand why Microsoft persist so much on ARM tablets with their limited OS given their history of failure.

<comment><USER25> They're trying to "unlimit" it by making emulated x86/x64 apps work, otherwise the chicken/egg/app/platform problem persists.

Supposedly ARM is more power efficient than the x86 family, so you'd get lighter laptops with longer battery life.

I would love to know from the HW experts here what happens when you start running your usual desktop workload on an ARM device. Does the power consumption stay low ?

looking at how quickly phones run out of battery when playing games, my feeling is that the ARM advantage is over-hyped, but I'd be interested in opinions from people who know this stuff.

<comment><USER13> Reviews have stated the emulation performance is terrible - akin to Rosetta back in the PPC/Intel transition into OSX.

I read two reviews which stated even 32-bit Chrome's performance was terrible compared to the native ARM 64-bit Edge, and Photoshop, etc, are borderline unusable.

Stranger still, the Surface Pro X's battery life has been reported to be on par or poorer than the _less expensive_ Intel-native Pro 7's - I'm rather confused by Microsoft's strategy here.

The Surface RT didn't work.

<comment><USER25> Sorry, my phrasing was terrible, as usual. I know the emulated performance is terrible. My query is about native ARM desktop workloads vs native x86 desktop workloads (if Microsoft's vision comes to fruition) in terms of power consumption. I really can't imagine they'd be different, but I don't know enough about it other than "tech press" comparing phone battery lives to laptops.

<comment><USER26> I am also quite curious about this. Just like when I see review sites benchmark an iPad versus a surface pro running full windows, I can't help but be confused as to what anyone really hopes to learn from such an apples to oranges comparison

</comment></comment></comment></comment></comment><comment><USER27> This is stupid. Most desktop people don't want to touch ARM anything and rightly so - Qualcomm's chips suck (Apple's do great but even they don't seem to think they're rest to go ARM Mac yet), there's no battery life advantage especially when you do all the desktop things and you have to deal with ARM snowflake crap along with vastly limited SoC support for new OS versions. And needless to say without specialized CPU support the 64-bit Intel emulation is going to be dog slow - remember emulating ARM Android images on X64?

There's literally no upside to this. I just wish AMD puts out a great mobile CPU and we can have even better competition for Intel in laptop market.

So no thanks - I'll let Intel have their laptop monopoly if that means I can run standard x86 hardware with great support for non Windows OSes.

<comment><USER28> The whole point of starting when you're not ready, is to get tour foot in the door so you have something to improve upon.

Even if the emulation is slow and barely useable, it can and will be refined using modern tools and practices in the future.

Trying something out that is out of the norm is the the whole point of innovation. I'm super excited to see Microsoft's progress in this space.

<comment><USER27> That's all hunky dory but no amount of software innovation is going to speed up running x64 code on ARM. Qualcomm would just need to build that into the CPU and at that point it is a circus.

So yeah I am cool with trying out things that have potential but something that has not upside and will never be good - because CS - I will justly call it stupid.</comment></comment></comment>


Ask HN: Anybody Using Snowplow Analytics at Scale? - <AUTHOR> <comment><USER2> We do not use Snowplow here at Rakam but we have seen companies using Snowplow for tens of billions of events per month. Most of these companies are usually in the media industry.

Shameless plug: We basically provide Mixpanel-like user interface for Snowplow users. [https://rakam.io/integration/snowplow](https://rakam.io/integration/snowplow)

<comment><AUTHOR> Thanks for the info. It does seem like it can scale then. I wonder how many instances are needed to operate at that scale.

</comment></comment><comment><USER3> I am also interested in knowing more about this..</comment>


Ask HN: Is there any relation between number of users and ad revenue? - <AUTHOR>

Just to understand more of an app revenues. Say, a simple mobile utility app or game is used by certain number of users. How would that be related to the revenue from that app. I am not looking for any social side of the app to generate more revenue.
I am only looking for ads that display on the app while users are interacting with the app. Can we guess something like if the app has 100K users, it will have revenues like 100bucks per month? I know this is a very dumb calculation, but want to know the criteria that derives ad revenue. Here are couple of things pop out from me. Is it the number of users? Is it the amount of time users interact with your app? Is it the frequency of users that come back to app in a day? Any others?<p>If so, how much weightage can be given to each of these? <comment><USER2> Different advertising providers pay according to different schemes. Some pay every time an ad is shown to a user. This is the cost-per-impression model. Some pay every time an ad is clicked. This is the cost-per-click model. And some pay every time an ad is clicked and then an action occurs (like a signup or a purchase). This is the cost-per-action model.

Here's some criteria you could use to estimate ad revenue: number of users, number of times an ad is shown to a user per session, number of sessions per user, the model your advertising provider's using, the average cost-per- impression, cost-per-click, or cost-per-action, the click rate on your ads (if it's a cost-per-click or cost-per-action model), the conversion rate on the advertiser's site (if it's a cost-per-action model), the fill rate (you're not likely to get ads 100% of the time you ask for one, primarily due to users being located somewhere underserved by your ad provider), and so on.

There's so many variables, whatever estimate you get is likely to be a wild- ass guess - and not valid for long, since mobile advertising is a fast- developing industry and rates aren't always stable. (To complicate matters, advertising in general is very seasonal.)

It might be easier to just ask some developers you know with ad-supported apps for a rough revenue per user number, and take the average. Or talk to a rep at an advertising provider and try and get an honest guess out of him.

<comment><AUTHOR> Thanks for your response and got to know somethings like cost-per-xxxxxx models. When you say advertising providers here, can you name some them in mobile space. What are the other many variables you were mentioning above, name some of them at least. I agree it is probably more appropriate to check some other developers who has done this kind of stuff to get real picture.

<comment><USER3> There is a thread discussing i-Ad revenue here: <http://forums.macrumors.com/showthread.php?t=1022402>

There are a lot of mobile advertising networks. A lot of the analytics companies have ad networks connected with them (Flurry, Mobclix), a lot just are ad networks (Ad Mob, In Mobi). There are tons of advertising providers. Tons. Ask around, see who has used what and how they like them.

<comment><AUTHOR> good, that has enough information what I was looking for initially.</comment></comment></comment></comment>


Ask HN: Why is current AR backwards? - <AUTHOR> It seems that almost all the current AR apps are designed to paint something into an existing space. But it seems the better use is to pick existing things and paste them into a new space. IOW, let me see the other folks in my meeting, but put them (and I) into a mountain pasture. Chairs are mapped as rocks so I don't try to walk through them. Clothes are remapped to look like we're all hiking rather than in the office. Anyone working on this version of AR? <comment><USER2> What you describe should be possible with AR Kit.

<comment><AUTHOR> Right, so why isn't anyone doing that (or are they and just no publicity)?

<comment><USER2> AR kit literally just came out. But i'd also say it isnt quite immersive enough to be practical. Plus you have to hold the phone up.</comment></comment></comment>


Is Disney paying its share in Anaheim? - <AUTHOR> http://www.latimes.com/projects/la-fi-disney-anaheim-deals/ <comment><USER2> TL;DR: "Over the last two decades or so, as Disney's annual profit has soared, the company has secured subsidies, incentives, rebates and protections from future taxes in Anaheim that, in aggregate, would be worth _more than $1 billion_ , according to public policy experts who have reviewed deals between the company and the city."

</comment><comment><USER3> Nope.</comment>


My Favorite jQuery Plugin Template - <AUTHOR> http://kolodny.github.io/blog/blog/2013/12/27/my-favorite-jquery-plugin-template/

<comment><USER2> Neat. I also like this one (Coffeescript): [https://gist.github.com/rjz/3610858](https://gist.github.com/rjz/3610858)

</comment><comment><USER3> I'm not a huge fan of the double wrap of anonymous functions. The inner one seems entirely superfluous unless you're adding multiple plugins in one file and, I think, makes the code a little harder to read since you have to look at the invocation of the function to get all the information you need about it.

It seems a lot clearer to simply declare `var pluginName = "borderize";` at the top of the function than to pass it in. Granted, that does add 6 characters to the total length of the file.

<comment><AUTHOR> Well I plan on using this for multiple plugins in that same iffe. I also like that I'm able to copy/paste it as a block inside other jQuery blocks.

<comment><USER4> "I plan on using this for multiple plugins in that same iffe"

Isn't a little bit inconvinient, talking about modularity, will you be the only one using those plugins?

</comment></comment></comment><comment><USER5> These days I'd prefer a plugin template that doesn't infect the jQuery namespace by default (and is AMD compatible) so I can use it with a module loader:

      var borderize = require('jquery.borderize');
      ...
      borderize('div');

And my linter will tell me off if I forget a require.

Edit: I guess such a thing is not really a 'jQuery plugin' but a 'module that depends on jQuery'.

</comment><comment><USER6> Why not: options = $.extend(true, {}, defaults, options);

<comment><AUTHOR> Because I didn't think of it :)

Actually that's better because if one of the options is an object I wouldn't have to worry about accidentally changing a propery because this does a deep copy.

I've updated the post, thanks.

</comment></comment><comment><USER7> Cool stuff! This reminds me a lot of jQuery Boilerplate: [https://github.com/jquery-boilerplate/jquery- boilerplate/blo...](https://github.com/jquery-boilerplate/jquery- boilerplate/blob/master/src/jquery.boilerplate.js)

Personally, I find the "that" variable to be a little confusing. A developer looking at the code might wonder whether "that" is the plugin, a DOM element, or something else. To make the code a little clearer, you could use something like "elem" to represent the element on which the plugin has been called, and "plugin" to represent the plugin itself.

Happy coding!

<comment><AUTHOR> That's a good point. I've updated the post to use `elem` and `$elem`

Thanks

</comment></comment><comment><USER8> Save a few bytes.

      ;!function($){
        ...
        return this.each(function($elem, elem){
          $elem = $(elem);
          ...
        });
       ...
      }(jQuery);

<comment><USER9> Ho boy not this again...

[https://github.com/twbs/bootstrap/issues/3057](https://github.com/twbs/bootstrap/issues/3057)

</comment></comment><comment><USER10> How does anyone consider this sane javascript? Is this what the community has been reduced too?

</comment><comment><USER11> What is the problem with `$this = $(this)` ? You used `that` but I didn't get that.

<comment><AUTHOR> Once I set up an alias for `this` I try to only use that from then on to be consistent. The reason I do that in the first place is in case I need to pass it to a callback, I can just use the alias and don't have to worry about when `this` will be the global object

<comment><USER12> If you minimize your javascript, `that` can be minimized, `this` cannot.

</comment></comment></comment><comment><USER13> I find the pluginName parameter excessive.</comment>


Memorize the RSA algorithm as a song – mirrored as a Gist (circa 2000) - <AUTHOR> https://gist.github.com/rietta/60b7b3f7ca33bd13948c <comment><AUTHOR> I saved this from a newsgroup many years ago and have not been able to find a better source to link to as the original. Does anyone know who wrote this, or have a video link of it being performed? I've had it mirrored on my Github account for the last two years and its ranking the highest for several sentences from the song making be wonder if it has just disappeared off the Internet.

</comment><comment><AUTHOR> Found a related post that provides more context! [https://marc.info/?l=cryptography&m=108817743900257](https://marc.info/?l=cryptography&m=108817743900257)</comment>


Good Consultants vs. Bad Consultants - <AUTHOR> http://jacquesmattheij.com/good-consultants-vs-bad-consultants <comment><USER4> Why are there so many stupid ads on the internet? Because idiots keep clicking on them.

Why are there so many "scamsultants". Because idiots keep hiring them.

Nice piece, Jacques. In my younger days, I would have wholeheartedly agreed with you. (And I still agree with your major point: Don't do this!)

By now in my jaded older days, when I see so much clashing between the ideal and what's really happening, I'm not so sure.

I've spent a career cleaning up the messes of scamsultants. And you know what happens to them? They move on and make bigger messes. And more money for themselves. Sometimes, a lot more.

In just the past 5 years:

\- My accountant fired his IT guy for fraud. When he told a half dozen of his associates, _every single one_ of them asked for the IT guy's number because they couldn't find anyone. They didn't care about the fraud.

\- A scamsultant for one of my customers ripped them off for over $2 million. They decided not to sue him because of the bad publicity (and embarassment). He now has a new company name, a new website, and one of his testimonials (fake, of course) is from the company he just ripped off.

\- Another scamsultant convinced one of my enterprise customers to hire 80 more people into their IT department because "lack of resources" was their biggest constraint. 2 years later, they fired most of those people (who came from the scamsultant's own agency and couldn't do the job). The scamsultant is now doing the same thing to 2 other enterprises in other parts of the country.

\- A scamsultant tried to split the commission with my co-founder on her side hardware business. She told the customer who immediately fired the scamsultant. I just saw him driving a new Mercedes SUV into another local customer's parking lot.

\- A scamsultant set up the software to (believe it or not!) funnel every 5th customer credit into his own bank account. It took the auditors 2 years to unravel this. He was promptly fired, but never prosecuted (embarassment, I presume). Now he's selling new e-commerce software to new suckers.

\- Another customer hired 20 .net programmers through a scamsultancy. After 2 years, they had produced nothing. They were all fired. I stayed in touched with quite a few of them. They are all still working.

As long as people value money over ethics, this shit will always happen.

Don't do this, but don't be surprised when others do and get away with it.

<comment><USER5> > As long as people value money over ethics, this shit will always happen.

Usually, it's a matter of short-term thinking. It is a human tendency to discount long-term benefits against short-term costs. Where it's not, it's because people want to be "nice" and not be the bad guy. They will go along with people who don't mind being the bad guy.

And then there's my personal belief that in any given job role, a large percentage (possibly the majority) of people are not competent. By competent I mean that any situation which may arise as part of their job and involves a professional decision can be handled by them in a competent way. Most people aren't actually able to do their job without someone guiding them from above and supervising them in that job. This applies also to the people hiring and supervising them, which in the average case are not able to hire and supervise competently without supervision. This chain continues all the way to the top of a company, and as a result most companies are not actually able to do their job competently without constant adjustment from their customers or shareholders in the form of complaints, lawsuits, etc... That's probably why many consultants are not competent, and why they still get hired, because the people who hire them are not competent in hiring consultants. Never ascribe to malice what can adequately be explained by incompetence.

</comment></comment><comment><USER6> _that's a separate brach of consultancy called 'scamsultancy'_

There's a third branch, usually called something like strategic consulting. This is where you hire a bunch of young people from good universities with impressive resumes to tell your clients (executives at large companies) what they already knew and want to hear so that they can in turn use it to justify whatever they wanted to do before they even met you.

The world is not fair so this is the most lucrative branch. And you take no hit to your reputation. Quite the opposite, you benefit from associating with your high status clients.

Or maybe it is fair. It's pretty hard to get into that.

<comment><USER7> I used to be an associate for a major management consulting firm and your assessment seems only "directionally correct", as we would put it. Certainly there are little incentives for risk-taking - engagements run a couple of millions for two months of a team of 3-4 people; who wants to "destroy value" risking making one of the top executives unhappy? Nonetheless, there is a lot of work that is actually pretty useful (and profitable for the clients), specially on the least fuzzy projects (eg. "How can we improve our pricing?").

I'm not sure it is a matter of fairness or not, but there seems to be a real "pain" that management consulting solves. In the most prestigious firms, it's quite a better business than most. Low-competition, high-margins. We used to call it a "revenue business": revenues are so much larger than expenses that what the firm tries to optimize is the former, not the latter.

Also, does anyone knows a startup that is run like a firm? I find it a really interesting model. I would love to know if anyone knows of one that does.

<comment><USER6> The political obstacles are very real. Getting over them or overcoming inertia is valuable. Just not in the sense of directly making clients money.

</comment></comment></comment><comment><USER8> I often see consultants (or entire teams) which are engaged, but are blocked by the environment they were hired to work in. From another perspective, that may look like that they are doing a bad job. They have to perform, because they are 'the outsiders, the specialists', right? - Bad consultants may just be a sign that your company is dysfunctional.

<comment><AUTHOR> That's a good point, this does happen. But I think those cases are fairly rare and give you an excellent opportunity to raise this issue with management as soon as you become aware of it and then to move on if they do not wish to have the situation improved. Otherwise you'll just end up harming your reputation by trying to solve the unsolvable and ending up getting the blame for it.

Usually it will not take 10', 100's or even 1000's of hours to know which way things will swing in the long run.

<comment><USER9> Not rare. We're not allowed to use certain tools and services for odd made up reasons. These decisions are made by people that are incredibly distant from the actual production.

An example is that we're not allowed to use crash-analytics tools but we are however allowed to insert Google Analytics.

<comment><USER10> Yup, I've also seen this happen pretty often. The problem with working as a consultant is that it's difficult (or it's assumed you shouldn't) be in contact with various 'decision makers' of the client. You can of course suggest to the client many times that something is broken, but it rarely gets fixed. Instead the fix is to create various workarounds time after time.

It's very irritating to see so much money lost.

</comment></comment></comment></comment><comment><USER11> Being in consultancy for a while, I find most big names are "making money off the customers" while trying to sell the image that they "make money for the customers".

I lost count how many tricks I saw being done in the name of such practices.

<comment><USER12> Can you name some?

<comment><USER13> He probably lost the names when he lost the count...

<comment><USER11> In a public forum I would just say, think of any top 10 multinational in the consulting world, which also offers off-shoring as part of their services.

Any of them will do.

</comment></comment></comment></comment><comment><USER14> There's forgotten dimension being a good consultant and that's to only make sales when you have the opportunity and ability to remain independent and be able to provide recommendations that your clients might not want to hear, but need to hear. Too often, consulting firms incentives are aligned to making the sale and getting the next cheque that they'll be willing to compromise on their recommendations and solutions in order to please a manager within their clients - often whom have a specific thing they want to achieve which might be unaligned to the overall client's best interests.

Because of this, consulting exists somewhat differently to startups as well. In the startup world, your aim is to delight the customer. If you apply that same principle, you'll be tempted to say things that make people happy. I'd argue proper consultant or advisor in any field (whether IT consulting or management consulting) must be able to make a judgement concerning their expertise or their analysis regardless of what 'wants' to be heard by their prospective client (in lieu of how much they might be paying them).

</comment><comment><USER15> I'm having a little trouble with this one. I run a small shop (really really small), we do a lot of troubleshooting and some maintenance and deployments for customers. Maybe we don't qualify as "consultants", I dunno.

But we certainly don't make money for our customers. We save them money, we eliminate some hassles and downtime, but that's not really the same thing.

So I'm open to hearing that we're doing it wrong, but I don't know what doing it right would be, especially since we aren't really getting rich, and we've got a bunch of customers that have been with us for years. I'd like to change the way the business works at the beginning of next year, so now'd be a great time to start figuring out how to do it right.

<comment><USER16> From the article: "you should be trying to save your customer money, which is the same as making money for them"

I don't see how what you're doing isn't the same as making customers money. You save them money, all else equal they make more profit, that's what matters. Plus the fact your customers choose to stay with you suggests they feel they're getting positive value and not being taken for a ride.

If saving money isn't materially the same as making money, and maximising revenue is seen as the only way to create value, that sounds ridiculously 1 dimensional and like terrible business to me.

<comment><USER17> You're arithmetically correct, but in practice new revenue is seen as more interesting than reducing expenses.

</comment></comment></comment><comment><USER18> Why, "good" doctors, advocates, coaches, consultants are very good at telling to clients what they want to hear. "Bad" consultants are trying to "tell the truth" (at least as they perceive it) and this, especially in cases of doctors and advocates, newer do them any good.

Telling that Java is a wonderful thing ( _safe_ , mature and _standard_ , so no one would blame you) would make you a "good" consultant. Telling that it is mere "piles upon piles of crap" wrapped in tons of BS (written by "good" experts) would never give you any good. I have tried.

There are SAP consultants also. These are just salesmen on commission. All lies and manipulations are good as long as it help to sell.

<comment><USER19> Your Java example seriously undermine your point -- you have set up a world where you have an opinion, and thus your opinion is the "truth", and people who believe otherwise are being fooled by liars.

<comment><USER18> There is an opinion, shared by many marginals (Rob Pike, PG, Joe Armstrong, you name them) that Java, as they put it to remain polite and socially correct, has lots of serious issues, or, in my own wording - the biggest scam in the history of IT business (in terms of waste of paper, human and hardware resources) and the consequences are still to come.

But you are right, my example is a little bit irrelevant. SAP would be better one.

<comment><USER17> Java was intended to allow median programmers to build large systems, largely by removing a lot of sharp edges.

In that regard it has been fantastically successful.

<comment><USER20> > allow median programmers to build large systems

> In that regard it has been fantastically successful.

It allows median programmers to work for years on large systems, yes, and usually to maintain them as well. That indeed has been my experience.

However, in my experience, it is not those median programmers that actually _built_ those systems, and wouldn't have been able to. Much better skilled individuals did.

In my experience, large systems built by mostly median programmers tend to fail (or never even reach production status), regardless of the implementation language. Which is to be expected, since system complexity is often inherent. However, it seems like the idea that "all programmers are just replaceable cogs" and thus that's not the case is way more prevalent around Java (and to some extent .net) than around other ecosystems.

Java has been fantastically successful in the sense of keeping armies of programmers employed maintaining large systems, and at keeping those systems running. Personally, I suspect that most of those cases could have been fantastically more successful if they didn't use the "replaceable cog" model that for many projects is Java's core feature - but of course I cannot offer any proof.

<comment><USER18> Yeah, let's say that "Java creates jobs", which is not the same as "Java solves problems".

</comment></comment></comment></comment></comment></comment><comment><USER21> There is even a TV show which, among other things, depicts the tricks of bad consultants. It's called House of Lies and is based on the eponymous book.

</comment><comment><USER22> I think there's also the rare case of "bad things happen to good people". I've been lucky as a consultant, that I have had a handful of long-term clients. We've learned how one another work, and how to communicate our expectations.

Alot of web-development consultancies however, as far as I can tell (primarily the culprits I think), are run by business-minded people who are great at marketing and advertising and networking, but don't understand how to get the right kind of talent in the door. They get the lucrative deals, but have no idea that they don't have the talent on board to make it happen. I've "cleaned up" on a few of these in the past.

Also, there's people like me who start their consultancies without as much business-sense as tech-knowledge, and so you learn quickly what your limits are and to not over promise and under-deliver. An iterative approach helps ensure your mistakes are minimal and generally not impactful in a negative way on the overall project.

Finally there are (yes they are rare, but they do exist) overbearing clients who manage their people and their consultants like it's a sweatshop. Generally speaking I find that it's hard to extract a perfect set of requirements out of a client when in the early stages. I find that an iterative approach is best suited for clients, thus the full picture is not completely understood when the project begins. Most of the time the client appreciates this lean / scrum- like approach, and so it helps me extract requirements throughout the life of the project. The overbearing client, however, sees this as a window of opportunity to take advantage by increasing scope, or changing directions completely, and in some magical way think they'll be able to squeeze you for your time and expertise to get a bargain basement deal. I have an at-will clause in my contracts for exactly this type of client.

<comment><USER23> I have recently met one example of this type of client, it was so damaging to my company that the owners ended up selling it. If you could you give an example of this at-will clause I'll try to have it included in future contracts.

<comment><USER22> IANAL so I would be remiss to provide legal advice here :)

</comment></comment></comment><comment><USER24> Good article. However, I wonder about the "IT is a small world" bit. If you're a huge organisation of consultants and your organisation develops a reputation for doing a terrible job at great expense, I'm sure that's bad and word will quickly get round. If you're just a couple of guys - a micro-consultancy - <USER2> even a one-man band, does the same really apply? I say this mainly because I'm a one-man consultancy myself (in some sense, at least), and a bunch of the other people commenting are similarly positioned.

I was working recently with a hiring manager at a digital agency in London, sifting through some CVs to help them find another contract developer. One of the CVs was of a guy I'd worked with a couple of years before; I said, "Ah, I know this guy. His work was decent enough, within reason, but his attitude was quite problematic and he was pretty aggravating - I don't think they terminated him early, but it was a close call." I pointed out that his CV in the two years since I'd worked with him bore evidence of that attitude - <USER3> of very short contracts which plainly hadn't been extended. The hiring manager put his CV in the reject pile, unread, on the strength of my non- recommendation.

There are over a hundred digital agencies in London, though - and that guy isn't going to have worked at enough of them, throughout his entire career, that his bad reputation would really precede him at every one. In fact, he could do a three month stint at half of them and that would still be a good chunk of a career. Or he could move to a different branch of the industry (finance, let's say) where he wouldn't have any reputation at all.

So, I wonder, is IT really a small world? Does an individual's reputation really matter that much? It's certainly helpful having a good reputation for all the obvious reasons - but does it really hurt you that much to have a bad one?

</comment><comment><USER25> There are also customers who have a tendency to not accurately value projects.

For example, if you are making revenue of $1mill/year, and a "IT specialist" consultant convinces you (legitimately) that they could increase that by X% or give you X% in savings, then how much is that person worth to you? Certainly some non-trivial fraction of X%. But often there are people who don't do this math and are confined to thinking of consultants as labourers and then they try to drive it on price.

They are not stupid people, but if you step back and take a look at the company, you can see who is holding it back.

</comment><comment><USER26> I rubbed shoulders with a consultant that used to do real estate contracts with large supermarkets here in the UK.

Sometimes they would win contracts by basically bribing the hiring team with cash incentives. Once he told me that one of the these guys asked for the money for cash when they were out entertaining at a strip club. He wanted the money there and then for girls and coke.

It's worth bearing in mind that some of these kickbacks might be going to employees in your own company.

</comment><comment><USER27> If only employers put in a few more minutes researching potential hires, they would save themselves the stress of having wasted a ton valuable resources on these dumb weights. Good consultants can mean massive growth just as bad consultants can mean massive decline in fortunes.

<comment><AUTHOR> Absolutely true, the customers do carry significant responsibility as well.

<comment><USER27> True! Everyone has a part to play.

</comment></comment></comment><comment><USER28> What about the situation where a firm hires consultants expressly to do something that will not make them money? To complete a project that is simply not in the best interests of that firm?

<comment><USER29> That is why we need a companion post entitled "Good Customers vs Bad Customers". I work full time at an investment bank and about 15 hours per week on the side doing consulting. I've done side work now for almost four years for one guy. He pays me 1/4 what I make in my full time job and gives me 10x the hassle. I've done multiple projects for him where the payback period is 2 months and the NPV is 6 figures. He takes it for granted at this point. I'm slowly steering him to value based pricing for that reason.

Every once in a while though he sets me on a ridiculous project that is the financial equivalent of digging a hole and filling it back up again. I see pet projects like this all the time at the bank. At least there, it isn't impacting people's personal bottom line. This guy's motives for them, I don't understand at all.

<comment><USER30> >He pays me 1/4 what I make in my full time job and gives me 10x the hassle.

Why do you still accept work from him?

</comment></comment></comment><comment><USER19> I run a small consultancy (myself, though I engage peers whose work I respect as subcontractors for larger jobs), and the #1 issue I've faced are company representatives who look for consultants to make them, _personally_ , rewarded: Their concern is primarily their own personal benefit, not the benefit to the company. Whether it's professional sports tickets, expensive dinners and lunches (which sound small in the small, but when you have a company representative who schedules regular "status meetings" during lunch/dinner, you know where it's going), and so on, it is an industry absolutely dominated by kickbacks, the whole notion of which feels dirty and fraudulent.

</comment><comment><USER31> "Don't commit fraud"

Next.</comment>


Ask HN: Apps that got even better after iPhone? - <AUTHOR> What softwares did you use or know that existed before smartphones and got even better after they were ported to mobile/tablets? <comment><USER2> Mapping/driving directions

</comment><comment><USER3> Expense reporting</comment>


New Kid on the Web: A Study on The Prevalence of WebAssembly in the Wild [pdf] - <AUTHOR> https://www.sec.cs.tu-bs.de/pubs/2019a-dimva.pdf <comment><USER2> Great read. Cheers.</comment>


MacBook Pro vs. Surface Book: How 2016's Models Compare - <AUTHOR> http://www.laptopmag.com/articles/2016-macbook-pro-vs-surface-book <comment><USER2> The article lies about Surface Book having 8GB RAM only. There's a 16GB option at the high end.

[https://www.microsoft.com/en-us/surface/devices/surface- book...](https://www.microsoft.com/en-us/surface/devices/surface-book/tech- specs#surfaceconfiguration)

</comment><comment><USER3> A bit confusing to just talk about i7 CPUs. That's not a specific product, but a family of processors. The speeds vary as well as number of cores. I don't think Surface Book has quad core option like Macbook.</comment>


Ask HN: Dangers to making public young-project code? - <AUTHOR> Have you ever had unforeseen negative consequences to making projects publicly view-able while in early (and incomplete) stages. <comment><USER2> Accidental release of sensitive info/keys/values etc.

If it's an alpha/beta or just a proof of concept then state that or you may have issues with public expectations.

If you plan on making a business around this project, might make some paths more difficult to take or lower the bar for competition.

<comment><USER3> I usually put something like

        # WARNING !! UNSTABLE WORK IN PROGRESS !! WARNING

At the top of my README.md if something isn't ready for public consumption.

</comment></comment><comment><USER4> Terribledactyl basically nailed the only issue I see: leaking your private information.

Other then that, I'm sure the other cautions that they bring up aren't as big of an issue.

You are basically ok in my book so long as you plop a copy-left license on it.

</comment><comment><USER5> One danger is people will interfere with the initial vision for the product if a solid character/foundation is not developed yet.

If you take the time to set the tone for the project you have more room to resist change requests that are in conflict with the vision.

</comment><comment><USER6> I have not seen any negative consequences of making project viewable on Github, rather the opposite where you missing out on opportunities to get noticed. I had the same thought last year when I started my first serious startup, we ended up not doing it which was a mistake because it made it so much more difficult to do later, because of shortcuts with secrets and Github issues, but in the end we did it later!

If you think about doing it, make no mistakes and just do it from the start!

</comment><comment><USER7> competitors

<comment><USER8> Absolutely competitors. If you're building something relatively sophisticated, they can gain a competitive advantage over you by using portions of the code you've developed with your time/money.

</comment></comment><comment><USER9> GitLab!

<comment><USER10> How would GitLab help with this, besides just being the code repository of choice?

In other words, what features does it offer for early stage projects that Github, Atlassian, etc don't?</comment></comment>


Which Path Are We On? - <AUTHOR> http://whichpathareweon.com <comment><USER2> This is absolutely fantastic. I feel that it's a really good way to judge the progression in each country, putting a more context to the numbers we hear on the news.</comment>


The Simpsons Fires Longtime Composer and 'Secret Weapon' Alf Clausen - <AUTHOR> http://www.vulture.com/2017/08/simpsons-fires-composer-alf-clausen-after-27-years.html <comment><USER2> > _"We have 90 seconds more of commercials in the show today than we did 20 > years ago," Simpsons music editor Chris Ledesma previously told me. "Think > about it: a two-minute song, which by song standards is very short, but a > two-minute song in The Simpsons today would represent nearly 10 percent of > the entire air time. You're not going to get a two-minute song like you did > back then."_

Then you better make that two minute song a damned good one, no?

<comment><USER3> I believe this is appropriate.

The Fall of The Simpsons: How it Happened [[https://www.youtube.com/watch?v=KqFNbCcyFkk](https://www.youtube.com/watch?v=KqFNbCcyFkk)]

<comment><USER4> That's actually a pretty great video. I'll admit I don't hate the new simpsons but there is something different about them that I couldn't put into words, this video does a good job doing that.

</comment></comment></comment><comment><USER5> Yeah the Simpsons seems to have jumped the shark a long time ago.

This will free Alf for more interesting assignments or maybe for a well deserved retirement

<comment><USER6> Possibly eating cats... >_>

</comment></comment><comment><USER7> Probably has a lot to do with the fact that you have 30 years of music queues you can draw from now. Instead of having a 35 piece orchestra score each episode, they can just re-use.

</comment><comment><USER8> ...because the music is the problem with Simpsons these days? smh</comment>


Ask HN: Best Destroy All Software Screencasts? - <AUTHOR> <comment><AUTHOR> His entire catalog is free until Apr 10 (ie 2 days) and I am running out of time to view them - if anyone here has seen his stuff can you recommend a top 3 or 5 for a general audience?

In his own landing page he recommends A Compiler from Scratch ([https://www.destroyallsoftware.com/screencasts/catalog/a-com...](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler- from-scratch)), Tar, Fork and the Tar Pipe ([https://www.destroyallsoftware.com/screencasts/catalog/tar-f...](https://www.destroyallsoftware.com/screencasts/catalog/tar- fork-and-the-tar-pipe)) and Functional Core, Imperative Shell ([https://www.destroyallsoftware.com/screencasts/catalog/funct...](https://www.destroyallsoftware.com/screencasts/catalog/functional- core-imperative-shell)). I've seen them but want to make sure I don't miss some hidden gems!

<comment><USER2> download them all and watch later?

<comment><USER3> He's understandably quite annoyed about that: [https://twitter.com/garybernhardt/status/983184673189670912](https://twitter.com/garybernhardt/status/983184673189670912)

<comment><USER2> I don't quite get it? He meant to put them up for free right?

<comment><USER4> For a week. Downloading them all costs bandwidth and unless you're downloading them and watching them in a week you're going outside the intent of the promotion, which is watching them free for a week.

</comment></comment></comment></comment></comment><comment><USER4> I really like the ones on test design (categories Test Isolation, TDD, and Stubs and Mocks), and the computation series. Functional Core is awesome too.

Once the promo is over check out his talks too [https://www.destroyallsoftware.com/talks](https://www.destroyallsoftware.com/talks)

</comment><comment><USER5> Does he even publishes new talks? A week ago there was this promo of and I checked it but it seemed that all of talks were 2+ years old.

Also most of them are about Ruby.

That being said "WAT" talk is the best.</comment>


The Financial Elite's War Against the US Economy - <AUTHOR> https://www.commondreams.org/view/2012/12/31-8 <comment><USER2> I'm really, _really_ left-wing, but Common Dreams does _not_ belong on Hacker News.

EDIT: Before anyone asks, I already flagged it before commenting.

<comment><USER3> Agreed. This belongs on reddit/r/politics.</comment></comment>


Tesla Doesn't Even Have a Model 3 Beta Prototype Yet - <AUTHOR> http://blog.caranddriver.com/tesla-doesnt-even-have-a-model-3-beta-prototype-yet/ <comment><USER2> Note that this is their _beta_ prototype; there was a functional (first, "alpha") prototype a year ago.

"Tesla showed the Model 3 at an event on March 31, 2016. There were three cars on stage, two of which were actually drivable..."</comment>