The Upspin manifesto: On the ownership and sharing of data (2014) - <AUTHOR> https://commandcenter.blogspot.com/2017/10/the-upspin-manifesto-on-ownership-and.html <comment><USER2> I'm reading the manifesto, and for some reason, a story I once heard, possibly apocryphal, came floating up out of my memory: a person was using their PC when a coworker came up asking for a copy of a spreadsheet and handed the first person a floppy disk. That person took the disk, inserted it into the PC, then _launched Lotus 1-2-3_ , loaded the file, and then saved it to the floppy. The second person was incredulous that the first person just didn't copy the file directly from the hard drive to the floppy. The first person replied, "you can do that?"

<comment><USER3> I have a family member whose standard workflow involved doing the same with Word on Windows. Save As was the only way he knew how to copy things.

He's a baby boomer. I'd assume this is only more common now with peoples' main interactions with computing being in an app-focused, hidden-filesystem world.

</comment></comment><comment><USER4> The manifesto's idea that files should have a unique address which any machine can access reminds me of Brian Hauer's rant, which argues that each application should have a single instance with a unique address (for a given user) that any machine can access ([http://tiamat.tsotech.com/pao](http://tiamat.tsotech.com/pao)). Put the two together and a person's entire digital life would seamlessly follow them between machines.

I like the proposal of making caching a central design element to work around today's bandwidth limitations. I work with large-ish (a few TB) scientific datasets, and it isn't pleasant to have to choose between (a) storing everything on network storage and suffering slow IO or (b) storing everything locally on every workstation and suffering the need to synchronize data.

<comment><USER5> _" it isn't pleasant to have to choose between (a) storing everything on network storage and suffering slow IO or (b) storing everything locally on every workstation and suffering the need to synchronize data."_

That's a solved problem, which depending on the workload could involve a compute farm with a clustered or distributed file system, a copy data management solution, or cachefs, for example. The are also solutions for shared storage between containers across multiple nodes.

<comment><USER4> > That's a solved problem ... compute farm with a clustered or distributed > file system, a copy data management solution, or cachefs, for example.

Thank you for suggesting some potential solutions to my data management problems. From googling them, I get the impression that you are thinking primarily of enterprise scale data management (i.e., organizations with server farms and an IT department), whereas I'm primarily thinking of organizations with < 30 employees (who mostly use desktop software) and a single file server. My particular situation is an academic lab. However, I think these solutions can can still work with a little adaptation:

Copy data management seems to be the use of block level data deduplication or virtual disks on a server in order to decrease the disk utilization per VM or per container. I'm not completely sure; I found mostly marketing documents, and there's no wikipedia entry. This, as well as clustered/distributed file systems, would apply if we turned the file server into a VM server and had each employee work on a VM via remote desktop. In principle, this could work, and would let temporary employees (e.g., summer students and visiting scholars) get started quickly with a standard OS environment. I will experiment with this when our last batch of desktop PCs hit end of life.

CacheFS looks useful if we start using NFS to connect to our file server instead of Samba. It looks like Windows 10 (Enterprise) supports NFS caching too ([https://technet.microsoft.com/en- us/library/cc976862.aspx](https://technet.microsoft.com/en- us/library/cc976862.aspx)). I will try this.

</comment></comment></comment><comment><USER6> That sounds a lot like IPFS (Interplanetary filesystem) [[https://ipfs.io/](https://ipfs.io/)]

Or am I missing some key point here?

</comment><comment><USER7> Rob Pike explains this manifesto in several videos available on YouTube:

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

It's a fascinating talk. I really enjoyed it. I hope you do too!

</comment><comment><USER8> The 2014 label is a little weird. While it was written in 2014 it was only just published publicly today.

</comment><comment><USER9> Definitely a fan of this project, but I'm intensely curious as to why they separated from Camlistore, which seems like a very similar project and is also headed by a key member of the Go core team (Brad Fitzpatrick). Anybody from either of those two projects care to comment?

Motivation: There are 100s of initiatives trying to solve similar problems, and they could be solved relatively quickly if engineers deigned to work together on a solution instead of splintering off into hundreds of fractured groups.

<comment><USER10> Brad Fritzpatrick's response: [https://news.ycombinator.com/item?id=13700968](https://news.ycombinator.com/item?id=13700968)

<comment><USER9> Ah, thanks for the speedy response.

> The main difference I see is that Camlistore can model POSIX filesystems for > backup and FUSE, but that's not its preferred view of the world.

This makes me want to throw things. I'm actually mentally discounting both projects now on the charge that core authors seem to care more about bickering over technical details than implementing working solutions to these society- breaking problems.

<comment><USER10> Andrew Gerrard worked on both and apparently didn't think Camlistore was the right basis for what they wanted in Upspin. But I'm sure you, who I'm not sure has used either project, know better than Andrew and Brad and Rob.

<comment><USER9> I am claiming I do, yes, and would happily make my case to any of them for why they should do the hard work of agreeing on minor technical details and merge the two projects. It is the easiest instinct for engineers to "split off and code their own version" over technical disagreements, and why we have a dizzying array of incompatible, half-completed decentralization projects while Facebook and Twitter continue to eat society.

Thank you again for the info/backstory, though. I am just a naysayer who has sat through 1000 pitches of Fitzpatrick's basis thesis back in 2010 and seen excruciatingly minimal progress in the space of "actually making these things work for normal people".

<comment><USER11> I know both projects intimately and they are not "minor technical details" but rather fundamental architectural differences.

<comment><USER9> I'm happy to discuss this further -- my life-passion-project is to see decentralization through -- but fear I've overstepped my bounds in this thread and am taking away focus from the project at hand, which I am a supporter of.

<comment><USER5> _" I'm actually mentally discounting both projects now "_ _" the project at hand, which I am a supporter of"_

Which is it?

<comment><USER9> I keep a ranking of decentralization projects in terms of how likely they are to succeed and catch on. Camlistore and Upspin have been near the top of my list for years now (Camlistore was the one that originally inspired me to quit my job at Twitch and do decentralization advocacy full-time). I am now slighly less excited about both projects, although they still have incredible potential and I would be overjoyed if either of them met with minor success.

At this point, I get the sense that Upspin/Camlistore don't really _want_ to succeed in terms of catching mass-market success and disrupting the innovation-stifling tech giants. It seems like they're more interested in scratching their personal itch and being content with that. Totally fine, but I'm going to be slighly less excited about releases from both of these projects in the future unless I get indications that the core team members are willing to escape the same trap that plagues all standardization schemes ([https://xkcd.com/927/](https://xkcd.com/927/))

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Sounds like Named Data Networking, which cannot come soon enough. Is anybody doing commercial NDN yet?

</comment><comment><USER13> Assuming they got similar adoption, I'm wondering why I should use Upspin rather than Keybase? It seems like Keybase's users and groups are more sophisticated, and its private git support is immediately useful.

<comment><USER14> I am a big fan of both Upspin and Keybase. In my view they are quite different.

1) Polish vs Openness:

\- Keybase is a polished product and a closed identity platform;

\- Upspin is open-source plumbing and an (almost) open platform.

2) Focus

\- Keybase is a crypto identity platform which happens to have a file storage app;

\- Upspin is a file storage platform which happens to have a crypto identify feature.

 _Note: I call Upspin "almost open" because it does not support running your own key server in a private namespace. All users must use the same public key server. In exchange for a slightly less open platform, Upspin gets a strong guarantee of a single global namespace, which is a really great feature for end users. I think it's great that the project is clear about its priorities and the tradeoffs it's willing to make, and communicates them upfront._

<comment><USER15> Of course you can trivially run your own key server and your own upspin universe. But then of course, you can't talk with other people.

The problem with upspin is that there's a SPOC keyserver, not that there's a single namespace. You could trivially have a single global namespace with many delegated keyservers using DNS. You know, like e-mail. But the authors unfortunately don't want that.

</comment></comment></comment><comment><USER16> > From a human point of view, the data is all we care about: my pictures, my > mail, my documents.

I don't think it's that simple.

Consider messaging apps: do users care about their own messages? No - a list of sentences is meaningless when detached from the overall conversation.

So in who's $HOME do you store that conversation?

<comment><USER17> Both, like email

</comment></comment><comment><USER18> Is there any specification of protocol? Or the code is the specification for now(and in flux)?

<comment><USER11> The core interfaces are pretty well-documented: [https://godoc.org/upspin.io/upspin](https://godoc.org/upspin.io/upspin) and the wire protocol: [https://godoc.org/upspin.io/rpc](https://godoc.org/upspin.io/rpc)

We think the APIs have settled down a lot now, but they may yet change.

</comment></comment><comment><USER19> The manifesto talks about networked home directories; has anyone used AFS/Coda/InterMezo and can they speak to how the experience compares to NFS?

</comment><comment><USER20> Hm I'd love to marry this to git-annex. Not sure why I haven't heard of upspin before.

</comment><comment><USER21> Why does the title read "(2014)"? This seems to have been published today. It's new content, even though it's probably internally prepared in 2014.

<comment><USER22> The article was written in 2014. If, say, a letter from Mark Twain got published for the first time today, we'd put the year it was written in the title.

<comment><USER23> Count me among the confused. Works are usually referenced by their publication year and, on Hacker News, I always assume something with a (YEAR) in the title was published in that year.</comment></comment></comment>


'godfather of Spam' gets 51-month sentence - <AUTHOR> http://arstechnica.com/tech-policy/news/2009/11/godfather-of-spam-goes-to-prison-for-four-years.ars

<comment><USER2> For Ralsky unfortunately there are about a hundred thousand that took his place and spam continues unabated.

It's good to see this guy taken down though, but considering the fact that he forfeits his money I think a sentence that is comparable to robbery 1st degree, with deadly weapon (min. 5 years) or manslaughter 1st degree with a firearm (min 5 years) is a little on the stiff side.

Pump & dump thrives by the greed of others and in that sense I think those that lost money after following this stupid spam got for the most part what they deserve.

Anybody that takes their investment advice from spam shouldn't complain when they lose some money. I'd say it is an educational service.

And plenty of people 'riding along' on this probably made money and got off scott-free.

</comment><comment><USER3> If Ralsky is the "godfather of spam" would that make Sanford Wallace his 3rd cousin, twice removed?</comment>


How Would Linus Torvalds' Death Affect Linux? - <AUTHOR> <comment><USER2> Not much. Somebody like Greg K-H would take over and continue running things as they were. Of course every time there's a bug people would say "this would never have happened in the Linus days".

<comment><USER3> "Things were easier and so much more efficient when Linus was here. Now we can't reach consensus on what belongs in the next major revision, and nobody owns up to the bugs from the previous one. It's a disaster. Why does it STILL not support my totally arcane setup? I'm going back to <insert obvious (to you) inf/superior operating system here>"

Nothing will change. Linux will live on just fine with everything intact.

</comment></comment><comment><USER4> Less entertaining for sure</comment>


People stopped sharing on Facebook - <AUTHOR> http://www.ritholtz.com/blog/2015/11/facebook/ <comment><USER2> Facebook is certainly not a place to keep up with the rest world for what's happening, but a place where circles of circles are created for people who's social type irrespective of time and distance.

Do remember, social circle is dynamic, so does the interaction on each connection, which Facebook has poorly supplied in its platform.

Although news consumption is a huge problem, making Facebook a news curate platform is a wrong path and ignoring Facebook own gold mine.

Twitter on the other hand could be a perfect news recommendation and push platform, yet it falls under its own weight. No one can deal with ocean of tweet without a tool to arrange all the pieces of news in order, and able to digest.</comment>


Why you're having vivid dreams during the pandemic - <AUTHOR> https://www.sleepedy.com/articles/pandemic-dreams/ <comment><USER2> There's one sentence that addresses the headline and it doesn't explain much...</comment>


Parenting: Who is it really for? (2017) - <AUTHOR> https://sivers.org/pa <comment><USER2> I love that blog, but this doesn't help. Parents are bombarded with messages that just adds to their anxiety and self-doubt about being a good parent and giving their kids all they need.

Being a parent is tough. It's hard work — you are thrown into this huge responsibility with no experience what-so-ever. It's easy to feel completely abandoned in this task, it's easy to feel that you're not enough, that you could, or should, be doing more, better or what have you.

I believe what we need, as parenting advice, is that what kids really need is love and care. It is ok to be tired as a parent, it is ok to not be able to sit and play with your kid for hours straight, it's ok to have the kids watch the iPad, even though it's "not stimulating their intellect" so that you have the time to shower or get something to eat. And most important, it is ok to not be the best parent in the world.

I think the internet needs more messages like that instead of further increasing our insecurities as parents. Being a parent is damn though as is.

<comment><AUTHOR> _I believe what we need, as parenting advice, is that what kids really need is love and care._

I agree with this.

 _it's ok to have the kids watch the iPad, even though it's "not stimulating their intellect"_

Not criticizing: Why this? Why not encourage the child to do something like use Swift Playgrounds (an iPad app made for young children), or play a game, or read a book?

 _And most important, it is ok to not be the best parent in the world._

Shouldn't that be the aim of everyone, even if they miss it?

<comment><USER2> I'm thinking about a three year old here.

Yes. If you have something more stimulating to throw at the kid, that's great, but the point is to not beat oneself up if you don't.

The thing is, I believe, that all this _trying to be the best parent in the world_ is contra-productive. Because being the best parent in the world, if you read online, seem to be based on completely the wrong criterias.

But that's an opinion and maybe I am just holding on to that opinion in order to protect my own parent-self-esteem. Telling myself that it is ok for me to not constantly come up with new stimulating things to do.

By the way. Having a three year old sit through an entire opera seems strange. Children at that age don't have that kind of attention span for biological reasons. That's why you don't diagnose things like ADHD at that age, because everyone would have it.

<comment> em-bee _Having a three year old sit through an entire opera seems strange. Children at that age don't have that kind of attention span for biological reasons._

citation please. my kids could watch tv for hours at 3 years, much to my dismay. i'd actually love it if they got bored from it.

however, that is exactly the point. sivers managed to instill an attention span in his child that i find admirable. good on him, and also good on him for recognizing how much he benefits himself from that.

<comment><USER2> Doing some googling I realise I might have misunderstood it. It seems that the attention span was defined as "working alone" at activities.

I agree. Good on him, good for him.

<comment> em-bee montessori has 2-3 hour work cycles in which the kids from 3-6 work alone on activities. they may switch activities, but they effectively spend the whole time by themselves in the classroom. of course the younger ones less than the older ones, but they quickly learn from their peers.

the teachers mainly observe and will focus on one child at a time, when they need guidance or are ready to learn something new.

</comment></comment></comment></comment></comment></comment><comment><USER3> This guys blog post oozes pretentiousness, especially with the music part.

Most of us all capable of reproduction, and most of us are capable of raising children.

It's the loud minority of people on the sidelines, who sow doubt on this topic, with stories of CEOs who don't have time for their kids, druggy parents neglecting their children or absent mothers/fathers.

Go forth and multiply.

<comment> xkcd-sucks Parenting blogs are about convincing other people to raise children in your own image

<comment><USER4> No, parenting blogs are about getting external validation about your own parenting skills from someone other than the people subject to them.

</comment></comment></comment><comment><USER5> Agree with the conclusion of the article, but many people would have better lives if they reconsidered this "parenting" thing.

Are you sure you are cultivating his attention span, or were you both just born like that, and he is getting older and more mature?

The hours you spend with your children (5 hours a day would be really difficult with 3 kids) during a couple of years in their childhood is not that important to their adult personality. It's a combination of traits from birth, which class mates they get, the teachers, if they get sick, infections, siblings, grand parents, media, culture...

Personally I enjoy spending time with my kids, so both me and my wife work shorter hours, but it's to do stuff we all enjoy _right now_ , not to cultivate this or that personality trait.

Don't be a terrible parent, and your kids will turn out whoever they were meant to be. And do the things you and your kids enjoy.

<comment><USER6> > Are you sure you are cultivating his attention span, or were you both just > born like that, and he is getting older and more mature?

Ah, nature vs. nurture-- perhaps not the most novel take.

> The hours you spend with your children (5 hours a day would be really > difficult with 3 kids) during a couple of years in their childhood is not > that important to their adult personality. It's a combination of traits from > birth, which class mates they get, the teachers, if they get sick, > infections, siblings, grand parents, media, culture...

It sure looks like activities during age 0-5 have a __huge impact __on overall trajectory. Yes, the genetic starting point matters, as does everything else afterwards.

> not to cultivate this or that personality trait.

IMO this is the biggest problem. I think being _excessively_ intentional has significant potential downsides.

</comment></comment><comment><USER7> I don't want kids at all (at least right now in my life, I'm 25). These ideas are however a pretty strong counterpoint to my negative feelings: that you can completely shape a human brain from birth using your 30 years or whatever of experience on this planet. Hopefully giving this brain a lot of perspectives that you wish you'd been with all your life. I see this explicitly sometimes living in Europe, some parents will raise their children to be tri or quad lingual. I'm absolutely beyond jealous that my parents didn't give that to me (although I have a lot of other things to be grateful for, so I can't complain)

</comment><comment><USER8> If you ask my grandma, she will answer 'for everyone' (Sweet old Jewish lady)

</comment><comment><USER9> It's nice that he can do this with his child, but it's probably not realistic for most people, especially those who work 9-5. Also, add another child to the mix and suddenly things aren't so easy!

<comment><USER10> That's true, although I think there's still a good lesson in there about making the time count, regardless of how much time you have to give. An hour of real undivided attention is probably better than spending a whole day together but being distracted most of the time.

</comment></comment><comment><USER11> Folks, don't get confused. This is not a parenting blog post.

> By cultivating his long attention span, I'm cultivating my own.

> By entering his world, I'm letting go of my own, like meditation.

> By broadening his inputs, I'm broadening my own.

</comment><comment><USER12> What the author proposes -- spending 30 hours a week together with your kid and apparently doing whatever they want, regardless of how awkward or inconvenient this is for the parent -- is historically incredible abnormal (ain't nobody got time for that if you're trying to coax a living from the land) and likely to lead to a self-centered kid who _expects_ everybody to be equally fascinated by what they're doing.

<comment><USER13> Seriously. Also an only child. I have three kids five and under. I feel like all I do is parent but never particularly get any one on one time. They'll be fine though.

</comment></comment><comment><USER14> I was at a school graduation yesterday for preschoolers (yes, we do that in these parts of the world!). Part of the speech of the guest of honour talked about raising kids. His advice was that while we are usually bombarded with messages of things to do, he said that the most important things are the stuff that we should avoid. We teach our kids to fear, for example. This he said does a lot more damages later in life - like anxiety disorder. Teaching kids dishonesty. He said that kids learn through our actions and speech. So, if the children learn that we, as adults, deal dishonestly with others then it becomes easier for them to also end acquiring such behaviours. Can't remember all the points though, now.

</comment><comment><USER15> > Nobody else can play with us like this. Everyone else gets so bored.

My younger brother was like this. The downside is that he was growing up without friends. He would be interested in many things other kids of his age were finding boring.

</comment><comment><USER16> I appreciate the acknowledgment of the selfish parts of being a parent. I have very little interest even after reading this, but it makes more sense to me than the way most people talk about it

</comment><comment><USER17> We've (2 year old boy and 40 year old father) just finished an ancient babylonian opera. So much more rewarding when translated into Farsi, a beautiful language.

</comment><comment><USER18> This is not parenting advice. He's just talking about his life experiences and his point of view, a thing he seems to do a lot. And he's rich and famous enough that people will read it.

I'm on my third parenting blog. I was a full-time wife and mom for a lot of years. I've really struggled to get any traction with anything I've done.

I think I have really excellent credentials. I homeschooled. I was Director of Community Life for The TAG Project for a time, which was pro bono professional work for a voluntary health and welfare organization dealing with the educational, emotional and social needs of gifted kids.

But that doesn't really translate to a resume, so to speak. I get a lot of flak for trying to say "I know something useful and I have special credentials." People mostly think I am making that up.

We look to famous actors and the like for stuff like parenting advice in part because we have some sense of knowing them and being able to trust what they say. Maybe someday I can address the "parenting information" space better than Sivers, but it takes more than just being a good parent to do that.

You also need to know how to write extremely well, navigate protecting family privacy while sharing inherently private stories and cultivate an audience. There may be more to it than that, but that's a plenty tall order to begin with right there.

If people think it is awful that some rich guy who can afford to spend a lot of time with his kid is talking about that, then maybe go spend time on parenting blogs written by full-time moms or people with less vaunted financial circumstances.

Of course, one of the problems is that people working 9-5 who have children probably can't manage to turn out a quality blog while doing all that. Good writing takes time and effort.

There is no perfect solution here. I was trying to develop a parenting blog when my kids were still minors and people on email lists were interested in what I had to say and I didn't know how to deal with a lot of the pieces of that. I couldn't monetize it effectively or get much in the way of traffic, etc.

So when I got divorced, no, my blogs didn't support me. I got a corporate job instead and continued to fail as a blog writer. I got some success as a blogger while homeless.

This is partly me -- I didn't know what I was doing -- and partly the world. The world didn't really want to help me succeed.

If you want a certain kind of information to exist, then be a good audience. Go give attention, feedback and financial support to people doing that kind of writing. Help them develop their craft.

Sivers is so rich, he can afford to not really care what anyone thinks about him anymore. And he isn't giving parenting advice per se here.

<comment><USER19> > If people think it is awful that some rich guy who can afford to spend a lot > of time with his kid is talking about that, then maybe go spend time on > parenting blogs written by full-time moms or people with less vaunted > financial circumstances.

Right. It is quite similar, isn't it? In more then one way, that is exactly what he does and thinks about. None of what he write about is super exceptional. It is also about him and about what we should do, not about us, he is not telling us that we must do it his way.

But also, I guess there is some gender equality in angry responses from people who are not in that situation. He is getting the same "shut up don't talk about what you do" and bad faith reading that chilesspeople and working fathers react with at mommy discussion forums (in my personal experience - moms with one exception either ignored it or read it, but did not seemed to be offended by its existence as much nor as consistently).

<comment><USER18> When I was growing up, my dad often asked "What's in the fridge?" My mother always got aggravated about that and would tell him he could look in the fridge as well as she could.

I grew up and was a full-time wife and mom for a long time. I always knew what was in the fridge. My husband and sons would ask me "What's in the fridge?" It looked like crappy gendered behavior.

I got divorced and got a corporate job and got my sons to take over "the women's work." Once I stopped doing all the grocery shopping and cooking and my son took it over, I began asking him "What's in the fridge?"

As a general rule of thumb, people usually aren't giving an intentionally bad faith reading. They are just talking about how it looks to them from their position in life.

Humans tend to suffer tunnel vision, in some sense. It can be very challenging to get outside ourselves and take on a broader perspective. This is compounded by the fact that most people are raised with either a shame model or guilt model, so they are quick to feel accused, even if that's not what's happening.

<comment><USER19> I have collegues who use the name of this forum as nickname for stupid in causual discussion "I read it on <name>" is their expression for "stupid". They never read it, don't have kids. They "just know" it is bad.

Trust me, what I am referring to is bad faith reading. Reactions completely disproportionate to content, very apparently hostile reactions from people who did not read it, looking for reasons to mock. Reading attention seeking (or external validation) in literally everything. Treating mild disagreement between members as something horrible (no insults or personal attacks, literally just disagreement).

Side note: I never start these discussions, for some reason people actively used that as conversation starters. Along with dumb supposed funny remarks about women. I know how to stop it now, but it was puzzling and frustrating and shocking after I came back to work. Why are you conversation starting by insulting people like me?

The most apparent public hostility was when said forum was looking for programmer. The Facebook thread under it had people who were neither programmers nor moms talking about supposed super crazy women there. Like "take this job and you will be working for oversensitive anti vaccines crazies". Meanwhile actual forums were like any other and prevalent sentiment was not anti-vacine at all. It wasn't even big topic, trading used baby cloth, craft, cooking and child raising issues were dominant topics.

And meanwhile ani vaccine male collegues gets no pushback whatsoever nor is ever used as example of anti vacine person. Does not fit profile I guess.

</comment></comment></comment></comment><comment><USER20> He's got a 5 year old and he's giving parenting advice. The ideal parent folks. We all love our children, we all try to do the best for them. You're not special. You don't post your kids face online, well I don't gloat how great of a parent I am online.

We should all remember that how people present themselves online, whether it's beautiful photos on Instagram or enlightened blog posts, is not reality.

Being a parent is fucking hard. I love it, it may be hard to see it sometimes but it's worth it, and I don't pretend for a minute that I don't fuck it up every other moment or that it isn't the most challenging role I've taken on. I also don't preach to other parents how they should raise their kids. I do my best, though I fail, to not judge how other people parent. I certainly don't blab about it if I do. I guess except in this miserable instance.

<comment><AUTHOR> _We should all remember that how people present themselves online, whether it 's beautiful photos on Instagram or enlightened blog posts, is not reality._

Sivers legally forced himself to give nearly the entire value of his company (~$22,000,000 - (5% per year of living)) that he had worked years to build to charity, and that can be verified pretty easily.

It's safe to say he's a better person than most, and this article isn't really advice in the sense you seem to be implying. Using a holier-than-thou tone probably doesn't help your case, very much.

<comment><USER21> I had to verify and I am calling BS on this. The charity will only give money to anyone else but him when he dies. Until then he is paying himself 4.4 million per year or when the trust is depleted.

<comment><AUTHOR> Did you mess up your math? 5% of 22,000,000 is not 4,400,000, it's 1,100,00.</comment></comment></comment></comment>


Putin Is Building a Great Russian Firewall - <AUTHOR> http://www.bloomberg.com/news/articles/2016-08-26/putin-is-building-a-great-russian-firewall <comment><USER2> This is happening because Putin is a dictator, and so he hates the free flow of information, or anything else associated with democracy.

And for those who say in the US we have the NSA spying on citizens, I say yes, and that's bad, but the flow of information is still a hundred times more free.</comment>


Hetzner Online presents 6 new dedicated root servers - <AUTHOR> https://www.hetzner.de/en/hosting/news/hetzner-online-praesentiert-6-neue-dedicated-root-server <comment><USER2> No ecc, no protection from memory corruption. You shouldn't use them for anything serious!

<comment><USER3> The cheap ones don't have ECC, the PX-Line & Dell servers have it.

The're pretty cheap when compared to some other server providers, though.</comment></comment>


The History of Patenting the E-Cigarette - <AUTHOR> https://pointsadhsblog.wordpress.com/2015/01/22/the-strange-and-complicated-history-of-patenting-the-e-cigarette

<comment><USER2> A lot of people swear by E-Ciggs... and if Nicotine is truly no more harmful than Caffeine, then all the power to them. It's very interesting to see just how much effort went into bring E-Ciggs to market.

The blog itself is pretty interesting overall.</comment>


Ask HN: Why do we assume aliens would depend on water and oxygen like us? - <AUTHOR> <comment><USER2> I'm a carbon chauvinist. I freely admit it. Carbon is tremendously abundant in the cosmos and it makes marvelously complex organic molecules that are terrifically good for life. I'm also a water chauvinist. It's an ideal solvent for organic molecules and it stays liquid over a very wide range of temperatures. -Carl Sagan, Cosmos s01e05

</comment><comment><USER3> On TV it's usually just narrative convenience.

But there are real reasons to suspect that it's likely. Some atoms are more common than others. In general, light atoms are more common than heavy atoms. Life is going to use the tools which are commonly available on its planet, so life that has uranium as a basic constituent of their biochemistry would have to come from somewhere quite strange.

And you can also rank the atoms by how many different types of bonds they can form with other atoms. Noble gasses form almost no bonds at all, with anything, so it seems pretty unlikely that any form of life would use them. Carbon and oxygen, and the other atoms in those columns of the periodic table, form lots of types of bonds and can do so with several other atoms at the same time. This gives you lots of complex molecules.

Carbon and oxygen are in the sweet-spot, and therefore it seems likely that alien biochemistries will use them. Of course, the set of chemicals that you can make with with them is quite vast; it's also likely that an alien biochemistry would have only the simplest and most basic molecules with ours, even if it's based on carbon and oxygen. Luckily water is quite a simple molecule.</comment>


RedLaser iPhone App reaches 750K downloads, $1M in revenue - <AUTHOR> http://www.mobilecrunch.com/2009/12/15/bar-code-scanning-redlaser-iphone-app-reaches-750k-downloads-over-1m-in-revenue/

<comment><USER3> Most of the apps I see are pretty uninspired. This looks interesting, novel, and useful. I keep hearing how tough the app store is, but if you actually "make something people want" is that really true?

<comment><USER4> I agree. I think it's important that a lot of the people with lackluster sales or disappointing results should take a step back and be honest with themselves about whether or not their app is actually worth buying. There is plenty of moaning and belly aching online from iPhone developers who are upset their apps don't sell well (such as this semi-famous one: <http://gedblog.com/2009/09/28/losing-ireligion>) but few thoughts from people willing to analyze their mistakes and faults.

<comment><USER5> Interesting. A bunch of bellyaching because a game isn't selling well - and I can completely understand /why/ it didn't sell well. Heck, it's free and I still won't install it.

</comment></comment></comment><comment><USER6> $1 million after being top 5 app for 3 months? Urrgh. There's either 2 or 4 (two founders + two employees?) so $250k in revenue for a year's work isn't exactly huge. It's a big win I'm sure for Occipital--a million dollars is a million dollars--but if that's the pay off for a home run the iPhone is not a market I want to play in.

</comment><comment><USER7> This is very inspirational. We work with the Occipital guys on FoodScanner, and it is cool to see a product rise to the top just by virtue of being kick- ass.

</comment><comment><USER8> I might be wrong on this but I will say it anyway.

The original idea for this came out of the Google App contest for Android. This was the idea that won the competition. So the idea was available for anyone to execute after that.

The red laser team might have come up with the idea independently or just learned about it from the Google Android contest. I am not sure if the contest or the app came out first. Someone here might know.

<comment><USER8> I guess I will answer my own question.

The app compareAnywhere won the Android ADC 1 Contest. Here is a link below: <http://code.google.com/android/adc/adc_gallery/app.html?id=8>

That was in 2008!

You couldn't do bar code scanning on the iPhone until 3GS came out (I think I am right on this).

So this was an idea out there since 2008. The red laser team were the first one to execute it on the iPhone 3GS.

I also have high regard for the Google team for correctly accessing the value of this idea.

<comment><USER9> RedLaser was released on May 15, 2009. It works with original, 3G, and 3gs iPhones (although it is faster on 3gs). It was released for the pure need for that scanning barcodes was very subpar on the iPhone. They were the first (and I think still the only, most others license their tech) app on the iPhone to do barcode recognition straight on the phone (no need to take a picture or send it to a server to be 'read'). Until very recently that wasn't possible with horribly slow Android SDK.

Read Occipital's story on their blog [http://occipital.com/blog/2009/08/01/2009-at-occipital- from-...](http://occipital.com/blog/2009/08/01/2009-at-occipital-from-the- hangar-to-the-crawler)

</comment></comment></comment><comment> daniel-cussen Theory: As the internet becomes a more developed medium of communication, word of mouth will approach being the only way of marketing a product. Quality will be the only way to deserve word of mouth.

</comment><comment><USER10> Nice guys. Congrats! Go Blue!

</comment><comment><USER11> that's great

</comment><comment><USER12> This one is bittersweet, as we had the idea, the staff, and the time and money to implement it, but chose not to, because we substantially underestimated the size of the market.

Where by 'we' I mean 'I'. It's completely my fault that RedLaser was allowed to win this market. I killed the project.

It's nice to see that we were at least somewhat correct on the general goodness of the concept, though.

Congrats, and nice work, guys.

<comment><USER13> It is never too late. If you think some more about the bar code idea. These are actually couple more ideas related to this that you can expand and it will be even bigger than redlaser. For example, if you get the bar code for a book, it will display review and so you can determine whether to buy it or not. On the same line of thinking, you will find out that you can do even more once you "identify" the object by the bar code... email me. I am interested in building something similar.

<comment><USER14> I have a barcode scanner for Android that already does the book one. You scan an ISBN barcode, and it lets you immediately do a "Search inside this book".

</comment></comment></comment><comment><USER15> Good for them! A great app, at the right time, on the ideal platform - <USER2> the kind of thing that should be a raging success. And now this awesome developer's got a whole bunch of money, who knows what great things he's got the resources to do ..

</comment><comment><USER16> iphone users are so gullible - when you are all said and done with paying for your iphone and your service contract and your 'redlaser' app, you're over 2k in the hole, and for what? a 'mobile cuecat'? <http://en.wikipedia.org/wiki/CueCat>

<comment><USER5> Right, because RedLaser totally:

-Uses it's own special kind of barcode -Doesn't let people compare prices locally -Is simply a barcode-encoded URL

/sarcasm

Cuecat was a device that was about a decade too soon. We needed ubiquitous mobile computing (not just mobile phones, you see) before something like this could truly come into its own.

<comment><USER16> I saw the special barcode for the cuecat in the wikipedia article but I don't remember it being restricted to only those types of barcodes. I'm pretty sure it worked for any barcode. It also says they were trying to avoid patent infringement. I suppose that patent has expired (cuecat was 10years ago! wow), but now that redlaser is worth //evil-voice One Million Dollars!, they may have to pay the piper. So again - you think it's economical to invest 2k into a device that lets me save 40 cents on Ketchup?

<comment><USER17> I don't understand your assumption that users are buying iPhones only to use this app and not, say, to also make phone calls and browse the web. In the past, people bought iPhones even when this app was not available, and they paid more.

You should be asking instead if it's economical to invest $2 into an app to save 40 cents on ketchup. (And, if you plan to make more than five such purchases, the answer is "yes".)</comment></comment></comment></comment>


Tons of iPhones deactivated, is this a sneaky way to force us buy an iPhone 5? - <AUTHOR> https://discussions.apple.com/message/19636561#19636561

<comment><USER2> It is flamebait, but the emphasis is not totally off, since Apple store employees are reported as spending hours trying to fix the problem without success, then telling users they have to pay for another phone to fix the problem.

Problems that (1) cause companies to charge more usually don't receive the same get-it-fixed priority as (2) problems that cause companies to lose money. This is an example of (1).

With these kinds of problems, it could be said to be laziness or carelessness causing a company to make money at the expense of users. But when a company is aware of this kind of problem and doesn't sufficiently prioritize getting it fixed, or in this case where Apple is trying to force users to pay for a new phone, _eventually_ it _is_ a sneaky way to force money out of customers.

</comment><comment><USER3> Flagged for flamebait title. The actual title of the thread is "Can't activate iOS 6 on my iPhone 3GS". Please refrain from blatant editorialization in submissions.

And to address your title directly:

No, no it fucking isn't.

<comment><USER4> Also flagged. Getting sick of the drama created by these anti-apple people. Maybe try to pick a more important cause?

<comment><AUTHOR> I don't understand why you get mad at me, clearly you are not the one without your phone/contacts/emails not working. Just to make it clear, I really like Apple, is just that I expect them to keep doing well what they used to do well. The tech support is not giving any help and people is not being able to use their phones (in my case, a work tool and also the only way to keep connected while on the go) for a week with no answer whatsoever about this issue.

<comment><USER3> Hacker News is not your personal tech support forum, nor is it your personal place to vent about your technical frustrations.

It is a community expectation that all submissions should respect their original titles (whether that is a blog post, an article, or something else). This keeps the front page useful instead of just a listing of opinions. You are _more_ than welcome to editorialize and add your own take on things in the comments.

Worse yet, yours isn't just some editorialization or sarcastic comment, you're concocting a whole conspiracy theory without any basis whatsoever.

</comment></comment></comment></comment><comment><USER5> _..is this a sneaky way to force us buy an iPhone 5?_

No, it isn't.

Drama sucks, could you try to not stir any up for no reason?

</comment><comment><USER6> No, the iOS6 beta (3 and 4) expired on September 30 at 8PM EST.

Massively inconvenient, but not a 'sneaky way to force us to buy an iPhone 5'.

<comment><AUTHOR> But why no help or advice from Tech Support and also not able to restore or do anything using iTunes.

<comment><USER6> Sure, the dialog iOS provides is not particularly friendly. To fix this issue:

       Download iOS 6 GM from developer.apple.com/ios
       Restart your device is DFU mode
       Option click 'Restore' and select the iOS 6 GM .ipa from its download location
       Restore.</comment></comment></comment>


Top Five Live CDs For Hacking A Windows Machine - <AUTHOR> http://www.nextofwindows.com/top-five-live-cds-for-hacking-a-windows-machine/

<comment><USER2> What's a CD?</comment>


Ask HN: review my startup - Issue Pop - <AUTHOR>

Hi, I've recently moved out of private beta, which was only around 20 users.  I got some pretty decent feedback, but wanted to open it up to the wider world to get some honest appraisals so I know what needs work on.
Issue Pop is a simple issue tracker/feedback app. http://issuepop.com.
Thanks
Stuart <comment><USER2> I want to see a screenshot on the front page. Show me what I'm getting for my money. I clicked around a few links - nothing.

How is this different to GetSatisfaction, GitHub Issues, or even a shared GoogleDoc?

No https - so I'm not typing in a password. Why can't I register with GitHub, Twitter, Facebook logins etc?

Your sign up form doesn't tell me what the validation criteria are. How am I meant to know that the password has to be 6 characters or more?

I'm not saying it's a bad idea - but your landing page doesn't convince me to sign up. Show people what you're selling and make it easy for them to trust you.

<comment><AUTHOR> I had a screenshot on the front page before, but replaced it with the intro video. I should probably create a tour page, with screenshots of various parts of the app.

SSL is coming soon.

Thanks for the feedback.</comment></comment>


Counting bees with a Raspberry Pi - <AUTHOR> https://techcrunch.com/2018/06/01/count-your-bees-with-this-raspberry-pi-project/ <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=17103635](https://news.ycombinator.com/item?id=17103635)

The blog post the article is actually about: [http://matpalm.com/blog/counting_bees/](http://matpalm.com/blog/counting_bees/)

</comment><comment><USER3> Source: [http://matpalm.com/blog/counting_bees/](http://matpalm.com/blog/counting_bees/)

Once again, mods don't replace the link to an obvious blog spam article just because it's from TechCrunch.

</comment><comment><USER4> I'd like to read this article but the GDPR consent collector is broken in so many ways.

What does it mean to select an advertiser? Why doesn't select all work? If techcrunch can display the page to me at first why do I have to give consent still?

</comment><comment><USER5> "The system looks at sets of pictures of the hive door taken every 10 seconds. It then extrapolates out the background, assesses the objects that have moved in the frame, and then counts the things that are likely to be bees."

"The Techcrunch article spamtastically plagiarises a BoingBoing article from the day before (including misspelling the author's name) and complete and utterly misunderstands the core technique"

</comment><comment><USER6> amazing work on just pi!</comment>


Robots to Cut 200k U.S. Bank Jobs in Next Decade, Study Says - <AUTHOR> https://www.bloomberg.com/news/articles/2019-10-02/robots-to-cut-200-000-u-s-bank-jobs-in-next-decade-study-says <comment> dawg- A few years ago my bank had a mini-branch in my local chain grocery store. They had a counter and some tellers working behind it. I went to it really often because I was being paid in cash at the time waiting tables. The employees were super nice, they all seemed like they were friends, and I kind of became buddies with them over my time of being a regular customer. Not all bank tellers are pleasant customer service people, but this group just had a good vibe I guess.

One day I try go to the bank and the counter was ripped out and drywalled over, and in its place is a giant ATM machine. It's like an ATM machine on steroids that can do anything with your account. And if you had issues there was a screen on it that would connect you to a call center in Bangladesh or wherever.

Some corporate bank employee was posted next to the machine to explain the change to people who had questions. When I walked up a group of people were standing around listening to him talk, they looked ready to pull out the pitchforks. He assured us that all of the tellers were still employed, they were just working "behind the scenes". I didn't buy that at all, and neither did anyone else.

I continued to use the machine to deposit my cash, but it really sucked. I mean the machine worked absolutely fine. But it sucked to imagine how those tellers felt to be replaced by it.

Now that I don't get paid in cash, I don't even go to a physical bank at all. I deposit checks on my phone in the rare occasion I need to do that.

I'm still not sure how to feel about this. I want to hate it but it feels a little irrational. Maybe all of those tellers went to a coding bootcamp and now make triple their salary designing the ATM machines? Seems like that's how the story is supposed to go. But probably not. Nothing I can do about it anyway.

<comment><USER2> Honestly if simple banking is handled by automation, isn't there room for differentiation for more "human" banking that empowers people to understand and use more complex financial instruments?

<comment> dawg- I don't know. Maybe. I am just talking about the experience of seeing a person's face every day, looking them in the eye, making small talk, interacting with other customers in the bank. That kind of every day stuff has value.

I think we can mourn our losses while also looking forward to the new opportunities created. It doesn't have to be all good or all bad.

Anyway, I'm not sure I completely understand your comment. Are human bank tellers impeding people from using "more complex financial instruments"?

<comment><USER3> > I am just talking about the experience of seeing a person's face every day, > looking them in the eye, making small talk, interacting with other customers > in the bank. That kind of every day stuff has value.

Yes, but this value is clearly less than the value provided by automated convenience. Isn't this why you don't go to a physical bank at all?

It seems like the problem is that the people who are "automated away" should be able to get by somehow, even if that means entering retraining or adding a safety net for those unable to transition somehow.

I'm not sure how many viable solutions of substance we'll come us with, considering our day job is programming computers, not crunching intentionally complex economic policy.

</comment></comment></comment></comment><comment><USER4> It's an ongoing process. 10s of thousands of jobs were taken out the last two decades by changes to check processing. Check imaging and clearing by image transmission or conversion to ACH, along with more payments being made by credit cards, resulted in shutting down rather large back end operations that were coding, sorting, repairing, transporting, returning, re-presenting, and including paper checks in customer's statements. A check that processed without any irregularities didn't cost much. However, any errors or unusual processing that a check required cost a lot.

What is needed to really reduce costs is a payment system that eliminates error and irregularities, or which uses AI to handle them.

<comment><USER5> > What is needed to really reduce costs is a payment system that eliminates > error and irregularities, or which uses AI to handle them.

Perhaps some kind of... clearing house, which could be automated?

In the US we have a dozen startups for you to send money to your friends. In most of the world you just do a bank transfer.

I pay my rent and utilities with ACH, but I know people who still don't have that option and are stuck in the dark ages of checks or credit cards with processing fees.

I have accounts with multiple credit unions, and one doesn't permit online ACH transfers and another takes 3+ days to do it. I'm currently trying to consolidate those accounts but even that's a huge hassle. It's nearly 2020 and the form the payroll company my employer uses wants a voided check from me to change where my direct deposits go! I don't have checks and haven't written a personal check in probably 15 years.

We keep scratching our heads looking for that magic future tech solution to our problems (AI! AI for everything!) when we actually just need to fix adoption of the freaking 45 year old standardized solutions right in front of us.

Checks have always been an almost entirely American aberration and a bad solution on all sides. It took us almost 15 years after Europe to adopt chip cards, and we're still swiping in places and almost nobody requires a pin for security. NFC adoption isn't great either outside affluent areas. We're not lacking new financial solutions, we're lacking proper adoption of the solutions we already have and the rest of the world is happy to use.

<comment><USER4> US payments is a very complex system - there are around 4900 banks and a similarly large number of non-bank players. Managing change is really hard.

Not everyone wants a change. One person's costs are another person's revenues. There are also a lot of managers managing organizations that process fraud, errors, and other irregularities. Costs don't matter if you can charge enough in fees and interest.

In the case of chip cards, the US wasn't about to pay for the French smartcard patents. In general, financial technology is a patent thicket and its best to wait 20 years before implementing new ideas unless you have really positive financial case and can be sure you have the IP locked down.

<comment><USER6> I find it really hard to believe that the costs of those patents would have been higher, to the US economy as a whole and thus citizens in general, than the costs of sticking to the old inefficient, manual systems for 15 to 20 years. I smell politics.

I suspect there's also the old argument that standardisation takes regulation, and regulation is evil. Government should stay out of this (oh, btw, Government - can you just pay the next tranche of subsidies directly into the executive bonus account. Thanks!).

<comment><USER7> If government had stayed out of it then the cost of patents would not be a factor; the improved system could have been universally adopted and standardized as quickly as it could be reverse-engineered.

<comment><USER4> Standards actually help somewhat, since standards committees generally require that participants disclose their patents that are essential to practice of the standard and pledge to license them on "fair, reasonable, and non- discriminatory" basis. Of course, there is debate on what is actually FRAND. And other parties that are not members of the standards committee may claim that they own patents essential to the standard. But government recognized standards are better than nothing.

</comment></comment></comment></comment></comment></comment><comment><USER8> I think a more accurate headline would be "Banks to cut 200k jobs over Robots".

Robots don't take jobs. Managers replace workers.

<comment><USER9> That's already how everyone is reading the existing headline, though. It's not like anyone is being misled (I don't think)

<comment><USER8> It's important to say it as it is. People tend to treat it as a 'natural' thing, instead of a business decision to cut costs.

<comment><USER10> With competition it is a red queen's race unfortunately. It is natural in an emergent sense even though the circumstances are synthetic. If they don't someone else will and even if they held existing jobs sancrosanct they will be displaced by a new party who doesn't have existing jobs to protect.

<comment><USER11> We don't get to choose whether we're in the race or not, but we _do_ get to choose how we run it. I get the "these are forces at work, not humans" argument, but I think it underestimates the solution space available to the humans in the scenario (to be fair, they probably do too).

</comment></comment></comment></comment></comment><comment><USER12> There were probably articles very similar to this written when ATM's first bengan rolling out in the 60/70s.

<comment><USER13> And they were right. ATMs displaced tons of jobs. Banks used humans for other jobs and that's why banking industry employment kept going up even with all these robots doing, better, the job previously done by humans.

<comment><USER14> > all these robots doing, better, the job previously done by humans.

I don't know if you use ATM's a ton, but when it's the _only_ option you have for interacting with your bank, it's pretty terrible, because your options for if something goes wrong is to call a number and get redirected to some general call center in probably some other country and wait while some minimally paid chap who couldn't care less about your problems follows a script and then when they can't figure it out, tell you they will file a ticket and get back to you in 3-7 business days.

I agree software and robots can do the job better with the caveat that you are using the well trodden majority use case. The moment something goes wrong (software bug, does the wrong thing, etc), or you are trying to do something slightly different, good luck.

<comment><USER15> Get a better bank. This comes up too often on HN. Prioritise customer service. Don't pick the bank that offers slightly better rates but gives you the run around on every little thing, especially for day-to-day services.

My bank (First Direct) picks up only barely after the ringing tone starts, and the person you're talking to is an expert. They have no branches, so everything must be solved on a phone call (or you can use their web site of course). Nobody needs or wants branches, especially branches that are only open when you've got better things to do.

</comment></comment></comment></comment><comment><USER16> Or, maybe there are just lots of inefficiencies in the banking sector, and more efficient/affordable banking is good for almost everybody, especially for the demographics of people who are currently underbanked.

<comment><USER17> You honestly believe that lower banking costs will transfer to clients?

<comment><USER18> Yes. We're all used to free checking now, but it wasn't always that way. No fee credit cards with cash back are also a result of competition and lower costs.

<comment><USER19> I don't think free checking is a thing anymore, unless you are grandfathered in.

<comment><USER20> Shop around - it's a competitive market. Many checking accounts with an initial deposit of less than $1000 or confirmed direct deposit are free and have no minimum balance. Some (TD for example) will even pay $150 - $300 to open an account after a few direct deposits.

</comment></comment></comment></comment></comment><comment><USER21> And I bet most of us will still be working a 5 day week, despite all the savings from automation.

<comment><USER22> This doesn't have to be the case. It is up to new business owners to decide how much their employees should work, what they should make and how often they should take vacations. Anyone can set an example at any time. As far as I know there is nothing to stop anyone from setting their own standards for fewer working days, shorter days, better pay, more vacations.

<comment><USER23> It's also up to the law

<comment><USER22> Is there a law that says I can't pay you a full time's salary for 20 hours a week instead of 40?

<comment><USER24> The law of competition. Assuming that your employees are less productive overall on a 20 hour week, the competition paying get a 40 hour week gets more done for their money and thus are cheaper for their customers.

There are a lot of assumptions in there. Getting everybody to work 168 hour weeks (24x7) seems like it should be even better, but it turns out that as you get close to that workload your employees are less productive. Fatigue will ensure your useful productivity is less than someone working somewhat lesser hours who is allowed to sleep. (I'm going to assume you require your people eat at their desk, otherwise starvation will kill them) You also lose because if there is even a rumor that other companies allow their people who have a life they will quit, and replacing people cost productivity.

We can take the opposite extreme: you work 1 hour per week. At this point your productivity is very low because you can never get "in the zone", and in fact your entire hour at work is spend just trying to remember what you do.

Someplace in the middle is the sweet spot. 20 hour weeks may be worth it - perhaps you can pay your people half as much and still give them as much income as they want, and still get the productivity you need to compete. Perhaps you can justify paying as much for 20 hours as your competitors pay for 40 hours because you employees enjoy that extra time and so they don't quit - you get better productivity because you don't have to teach them new things.

Each company needs to figure it out. in general society has settled on 40 hour weeks as a good number. There is no legal law making it best, but considering the compromises it isn't a bad number.

<comment><USER25> And people are used to what they're used to.

Would a lot of people prefer to work 4 days a week all other things being equal? Sure. But a lot fewer would be interested in earning 80% (or maybe less when the cost of benefits are taken into account) of their salary especially given that their partner/friends/kids/etc. would probably not have that time off.

And working 5 days a week most weeks just seems pretty normal. As you say, Western society seems to have settled on that as a fairly reasonable number with the main variation in how much vacation people get on top of that.

</comment></comment></comment></comment></comment></comment><comment><USER26> South Africa recently avoided a country-wide banking sector labour strike [1]. The reason for the strike would have been to protest against retrenchments in the industry [2]. I suspect that we'll see an increase in white-collar workers striking in the future.

[1] [https://www.timeslive.co.za/news/south- africa/2019-09-26-pro...](https://www.timeslive.co.za/news/south- africa/2019-09-26-protests-wont-solve-issues-banks-say-as-they-welcome-order- banning-strike/)

[2] [https://ewn.co.za/2019/09/25/busa-banking-sector-mass- action...](https://ewn.co.za/2019/09/25/busa-banking-sector-mass-action-a- protest-and-not-a-strike)

<comment><USER27> Financial instruments (including money) is fundamentally just data. There is no reason to keep maintaining a large labor force in the sector.

The first wave of labor downsizing in banking came from the closure of retail branches. The second wave of downsizing, I suspect will come projects like Libra or CBDCs [1] where issuers bypass banks (now reduced to a redundant middleman) and reach users themselves.

[1] [https://www.bloomberg.com/news/articles/2019-09-10/why- china...](https://www.bloomberg.com/news/articles/2019-09-10/why-china-s- rushing-to-mint-its-own-digital-currency-quicktake)

</comment></comment><comment><USER28> It will interesting to see what happens to Manhattan. In the last decade or so, many local restaurants and shops have closed, only to be replaced by a seemingly endless stream of bank branches. Ideally, the loss of bank tenants with deep pockets will force landlords to lower prices enough to bring back some more traditional establishments.

<comment><USER29> Banks have been opening more physical locations? In the last decade, in Manhattan? What on Earth for?

<comment><USER30> _In the last decade, in Manhattan? What on Earth for?_

Partly to upsell more complex products like investments and mortgages, but mainly because surveys have shown that wealthier demographics will only use online banking if there is a branch nearby "in case". The cost of a branch is dwarfed by the additional revenue from those customers.

Source: used to work for a bank that did this, and those were the reasons.

<comment><USER31> I'm one of those people that require an "in case" bank nearby. I've had to visit the bank in person multiple times in the past year because they kept screwing up paperwork. In my experience, trying to deal with those situations on the phone has a high likelihood of both taking a long time and not actually resolving it.

Plus I have a safety deposit box at my bank for important documents.

<comment><USER32> _Plus I have a safety deposit box at my bank for important documents._

Did you see this article and discussion about safe deposit boxes? [https://news.ycombinator.com/item?id=20545276](https://news.ycombinator.com/item?id=20545276)

<comment><USER31> I hadn't seen it. I'll go read it. Thanks

</comment></comment></comment></comment></comment></comment><comment><USER33> I wish they'd stop calling computer programs "robots". If it doesn't go "clang" when I hit it with a spanner it's not a robot.

<comment><USER34> Also, the 'clang' robots that come to mind have a certain amount of self- reliance. The 'non-clang' robots (which are basically macro's running in VMs), stop working as soon as an unexpected popup appears, the software is upgraded or the products on one page are suddenly on two.

No, the 'non-clang' robots are an indication of the software engineers' gross failure to properly integrate and standardize data exchange between solutions.

<comment><USER35> The article is referring to contact center (support) automation with this kind of thing, which is a pretty far cry from Selenium scripts.

[https://cloud.google.com/solutions/contact- center/](https://cloud.google.com/solutions/contact-center/)

<comment><USER36> Speaking from knowledge of the rhetoric in the Norwegian banking sector of the last few years (which is very automated), "robots" in the banking sector has referred to three things: Chatbots that don't work, macros that click around in a user interface to perform repetitive backoffice or customer support tasks, or plain old software that automates business processes in a scalable manner.

Not surprisingly, only the last of these stand the test of time, and most organizations that jump on the bandwagon will realize that they need to hire more software engineers and automate their business processes at the root.

For some, this is a long and painful realization. I spent six months trying to convince the appointed leader of a "robotization" initiative that what they were doing is actually software engineering, and that involving developers at an early point would be a better use of their money. They eventually made the mistake themselves, and got their own developers 18 months later.

Maybe 20 years from now, we will have technologists on the board and in executive positions at these companies, and these decisions can be made in an adult manner.

</comment></comment></comment></comment><comment><USER37> And in the remainder of the world this has already happened.

In Australia you are lucky to find a bank with real people working in it, they have mostly been replaced by Automatic Teller Machines (ATM's) and if you do, they will normally be working at selling you insurance or investments.

</comment><comment><USER38> so this remains the threat of several decades ago (i.e. chatbots are not new) of losing customer services jobs to human pastiches? Is this something new or just a continuation of self-service checkouts and automated payment options?

I still feel like there are many human-contact roles where an AI isn't going to cut it.

<comment><USER39> Chatbots are almost universally subpar; there's been a lot of work at trying to marry them up with natural language processing and other whizz-bang AI techniques, but still, you get down to the nitty gritty that it's a lot of work to design and implement something that's more than just a glorified IVR tree. Very few organizations will have the time and resources to make a decent experience.

<comment><USER20> I frankly prefer a chat(bot or not) because I have a transcript of what has been discussed. Also, it's kinda fun to guess if it's a bot without offending. This is a real excerpt at the end of a helpful chat with Comcast: guest_ > You seem really nice. I've read about computer programs that can simulate nice people. Are you really a person? Cecilia > yes, i am guest_ > Who won the superbowl? Cecilia > i'm not familiar with it , im sorry

</comment></comment></comment><comment><USER40> Wrote this as part of a recent article, "The World Economic Forum predicts that by 2022, 75 million roles may be eliminated due to technological changes, including automation. However, other advances may result in the development of 133 million new roles requiring new skills."

Source: [https://www.weforum.org/agenda/2019/04/skills-jobs- investing...](https://www.weforum.org/agenda/2019/04/skills-jobs-investing-in- people-inclusive-growth/)

</comment><comment><USER41> I'm surprised this hasn't happened sooner.

Banking as a profession relies on a fairly strict set of rules , most of which can be automated. Thus, the leftover role of the banker is to navigate the regulatory requirements within the the scope of the automated task.

As well as the programmers to automate it.

</comment><comment><USER42> I assumed it would be about RPA - robotic process automation. It reduces time spent in repetitive desktop activities.

</comment><comment><USER43> Time to go back to subsistence farming. Heck I should create a start up for subsistence farming as a service

<comment><USER44> Before you thought it up, 5 people already did it:

[https://yourstory.com/2019/03/faas-agritech-startup- farmers-...](https://yourstory.com/2019/03/faas-agritech-startup-farmers- profitable-6zmc83lyci)

<comment> dawg- I don't understand, it seems like these are just rental services for expensive farming equipment? Are we just calling rentals [Blank] as a Service now? Maybe Enterprise should change their business model to Cars as a Service.

</comment></comment></comment><comment><USER45> It would if it could, no doubt about it. Who knows what kind of technological advancements we will see.

I will tell you what I see today. Salesmen selling 'culturally aware fuzzy logic' that promises to automate just about anything and let leadership just read beautiful dashboards. Depressing stuff. And it sells too.

And 200k over a decade? Wake me up when AI replaces CEOs.</comment>


I Have an Idea for a Killer App, but Where Do I Start? - <AUTHOR> http://blog.teamtreehouse.com/i-have-an-idea-for-a-killer-app-but-where-do-i-start

<comment><USER2> you forgot the most important step: be realistic! programming that app is gonna take months away from your spare time (if you really are starting from scratch) and your chances of actually producing a killer app are marginal. you gotta be aware that there are countless hours of unpaid work ahead of you, for which the revenue of your app is not going to account for.

I don't wanna sound like a disgruntled developer (I really am not), but it's important to know that most likely your expectations on this app are heavily biased - especially when you lack developer skills. when you decide to enter the app business, you have to be aware that you are competing in what is probably one of the most competitive markets in the world, with very smart people from all over the world trying to monetize their apps. if this doesn't curb your enthusiasm then have a go at it - godspeed!

<comment><USER3> You are right on. 3 months for me to go from no ObjC experience to app store, another 5 months to get to 50K users, still no revenue, still no "seed" round. You need to be in it because it's what you really want to do.

<comment><AUTHOR> Your own desire (financial or otherwise) is absolutely key. It's an extremely competitive landscape, but the barrier to entry is low compared to other industries. You can do quite a lot on your own with an investment of mostly time and energy.

</comment></comment></comment><comment><USER4> I'm all for people learning to program so they can build something they're excited about, but this seems disingenuous. For most people it'll take months or more to go from zero coding experience to building an MVP of their 'killer app' idea. Posts like this make it sound like it's just working through a checklist.

If someone's not excited about the actual process of learning to code, a)they'll probably get discouraged quickly and b)there's probably a more efficient way for them to get a prototype of their app than learning to code from scratch.

<comment><AUTHOR> I can't disagree with your points, but if someone is motivated and wants to learn, getting started can be overwhelming, especially if you don't have any programming experience. This post is intended to help guide people at the very beginning of their learning, though it's totally valid to point out that it's a journey, not a quick fix.

At Treehouse our mission is to make software development approachable to all, and our courses are designed to teach people from the ground up. Of course it will be harder for people who have never written a line of code, but with desire, determination, and the help of the supportive community we're building then hopefully they can accomplish their goals more efficiently and cost- effectively than before.

For further reading about teaching a beginner to code, check out this article: [http://cacm.acm.org/blogs/blog-cacm/156836-teaching- programm...](http://cacm.acm.org/blogs/blog-cacm/156836-teaching-programming- to-a-highly-motivated-beginner/fulltext)

</comment></comment><comment><USER5> I donno but I think this is Question one: Does something like this exist already and are people actually paying to use it? (Unless of course you're selling a (great looking) service for all the other questions).

<comment><AUTHOR> Sometimes your "killer" idea might be selfish or for a really small niche, too. It may not be a successful business venture, but it could be the killer app for you, friends and family, or specific types of users. For example, in another blog post of mind somebody older commented on his desire to have an app that simply uses the camera to automatically enlarge what he's looking at to help him read. And if you're interested in learning or building things then perhaps working on your own personal project will be super rewarding.

</comment></comment><comment><USER6> Start _doing something_ is definitely the most important step, but unless you know whether a) the idea will make money and b) how you're going to market it, chances are your effort will be wasted.

Part of me thinks that the ideal is if you have any idea in an already busy market. That way you know that the core idea makes money, and you can pick up marketing ideas for your future competitors.

</comment><comment><USER7> I'm a huge advocate for the Lean Startup approach, which is more often than not the best approach for deciding whether or not to develop a mobile application. That being said, I think it's a bit of a stretch to expect a blog from a company that provides training for learning coding to write about the customer development process.

</comment><comment><USER3> For anyone who actually wants to build an app -- This guide is very long winded. For iOS, the easiest way is to download xCode and try to build it.

I would suggest Aaron Hillegass' Big Nerd Ranch Guides for ObjC and iOS programming. I read those books over a few days to get started and felt as though they provided a great foundation for all ObjC things to come. Stack Overflow fills in the blanks.

You don't have to take my advice, but it's been 8 months since I started "building my killer app", it's been out in the app store for almost 5 months, and since then we've been featured by Apple, and have over 50K users. Just plan to start what you've finished and you'll force yourself into having a killer app.

<comment><AUTHOR> I love the Big Nerd Ranch! That's definitely a great way to learn, but if you want more than just a book to work from, that's where Treehouse is here to help (Big Nerd Ranch has AWESOME bootcamps, too). It's so exciting to have so many great resources available cheaply or freely.

</comment></comment><comment><USER8> I saw somebody paste an image of an iPhone into a PowerPoint slide, and draw all the screen elements using copy and paste or the PowerPoint drawing tools.

He used inter-slide hyperlinks to link all the screens together and some simple transitions, and the end result was just like running a real app on the simulator to the untrained eye.

I suppose the next step is to just find some foreign devs to actually build the thing.

</comment><comment><USER9> Step 1: Get the tools you need

Step 2: Buy a subscription to our tutorials

Got it.</comment>


Entrepreneurs who sleep more are better at spotting good ideas - <AUTHOR> https://hbr.org/2019/10/entrepreneurs-who-sleep-more-are-better-at-spotting-good-ideas <comment><USER2> This is fine, but it just seems like a general extension of the well- documented fact that your brain works better when you're well rested. If you asked entrepreneurs (or anyone) to engage in a relatively complex mental activity, they'll do it better with more sleep than less.</comment>


How to Obscure Any URL - <AUTHOR> http://www.pc-help.org/obscure.htm <comment><USER2> Interesting side note: I noticed that while Firefox could parse the obscured paths and files on the status bar, Chrome merrily deciphered the entirely of any of the obfuscated URLs if I hovered the cursor over one.</comment>


What websites are using asm.js? - <AUTHOR>

Are there any websites out there using ASM.JS? PLEASE do not include websites that primarily have the use of WebGL or any game websites. <comment><USER2> I made a port of OpenSCAD used no asm.js as www.fabfabbers.com/OpenSCAD What's your interest in it?</comment>


Assembly Language Programming: Still Relevant Today (2015) - <AUTHOR> http://wilsonminesco.com/AssyDefense/ <comment><USER2> Excerpt:

"Jeff Laughton (Dr Jefyll on the 6502.org forum) says, "I recall hanging out with a programmer pal o' mine and a younger fella who was in college. The young fella was complaining, 'We _have_ to take assembly language,' and Len corrected him immediately, saying, 'You _get_ to take assembly language!'"

<g>

<comment><USER3> What a great way to put it.

What's great is that learning assembly is like taking the first step to understanding the bridge between software and hardware.

I remember a taking class that started out as confusing as hell. The first few exercises seemed really mystical and just so brittle. You'd have to be a wizard to ever get this, one thinks. But by the end of the class, we made an asteroids-like game, complete with RNG based on input timing (the time between game execution and when the user clicked start). That was really an enlightening moment.

</comment></comment><comment><USER4> "...self-modifying code, [is] sometimes appropriate to solve certain problems that have no other solution, or for improving efficiency, as in double- indirect addressing."

I have read that self-modifying code on the x86 architecture is pretty dangerous at the assembly level.

More broadly, this kind of comes back to all the issues in the "C is not a low level language" thread. Some level of assembler certainly gives the programmer as full access to the machine as possible. But naive assembler from the 8086 - 80486 eras is going to be rearranged in a lot of ways in a modern Pentium processor and counting on in-order execution may be a mistake.

Edit: at the same time, the modern processor doesn't really allow a lower level than assembler normally and the default approach is assuming flat memory but being aware of the pitfalls of multiple caches being involved.

<comment><USER5> It's quite widely used for dynamic library jump tables. When calling a function in a dynamically linked library, it calls a stub, which is initially a call to the lazy linker, but gets replaced with a call to the resolved function.

You may be remembering early x86 chips that didn't properly invalidate the instruction cache after a write. Modern chips are fully cache-coherent.

<comment><USER6> This is interesting. I've read documentation about dynamic linking and it describes this replacement process but I never truly understood the fact it was self-modifying code. Doesn't this imply the program's code is writable? I know that JIT compilers also emit code into writable and executable pages. Aren't there security implications?

<comment><USER7> There are. That's why dynamic linking typically doesn't use self-modifying code and JIT compilers take a number of precautions to prevent attackers from being able to execute arbitrary code.

</comment></comment></comment></comment><comment><USER8> While I can only recall writing real assembly once in 20 years I've _read_ disassembly thousands of times while debugging.

</comment><comment><USER9> > It is common for the beginner to want all the fancy tools too soon

Am I the only one who's never felt that way? I get grief from people around me (especially "hurry up and get it done" management types) for spending too much time in the low levels, trying to really understand what I'm doing and what's going on.

<comment><USER10> You should change what people are around you, if possible.

</comment></comment><comment><USER11> Not sure why HN is saying it is obvious that assembly is relevant because compilers... The article's intent is around a programmer writing assembly. I'm sure there are niches but I can see web developers getting away without writing assembly in their professional career.

<comment><USER12> Might see that flip in the coming years, if you consider web assembly (wasm) to be assembly. I do.

<comment><USER13> WebAssembly is not assembly in the ways that the article talks about. Like, writing it directly doesn't give you any special control or guarantees over timing.

<comment><USER12> It's assembly against a virtual machine, not a physical one. You're right it's not appropriate for an embedded system or some other RTS, but assembly doesn't stop being assembly when you target a virtual machine.

<comment><USER13> It kinda does in this case. Don't kid yourself. In real assembly, the really interesting part is how to use a finite register file. WebAssembly has an infinite slab of variables available, in the sense that you get to say how big it is. That fundamentally changes the game.

<comment><USER14> There are real CPUs that are just like that.

In fact, most mainframes have always made use of microcoded CPUs, with Assembly being referred as bytecode on the programming manuals.

You just need to dive into IBM and Xerox PARC manuals, for starters.

<comment><USER13> Sounds like you're saying those machines executed bytecode.

Otherwise there isn't a great limiting principle to your logic. Just because someone once built hardware that executes such a high level assembly that the manual referred to it as bytecode doesn't mean that all bytecode formats are assembly.

<comment><USER14> Indeed I am, the interpreter is the microcoded CPU.

Even modern 80x86 Assembly is a low level form of bytecode, given that the micro-ops that are processed by the microcoded CPU are completly unrelated to 80x86 Assembly opcodes.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> > Assembly language yields maximum control and execution speed.

It yields the _only_ control and execution. Almost programs are generated through an assembler and assembly language. How could it possibly _not_ be relevant?

<comment><USER7> There are a huge number of software engineers today, dare I say most, who cannot read or write assembly and are isolated from it by multiple layers of abstractions.

<comment><USER15> I know it's abstracted away, but it's still relevant to how the programs run because almost all programs go through an assembly language phase.

<comment><USER7> What languages don't? All of them execute on the processor in some way.

<comment><USER16> I could be mistaken, but, don't JVM languages avoid assembly steps? They use bytecode and are translated directly to machine code; I'm not sure there is an translate-to-assembly step. I'm also not sure how much of this confusion is semantics vs actually different components of the compilation and running process.

<comment><USER15> They still have assemblers in them - they're just done with method calls rather than text.

[https://github.com/openjdk/jdk/blob/e73ce9b406c34bd460f0797f...](https://github.com/openjdk/jdk/blob/e73ce9b406c34bd460f0797f0c86f423e141782a/src/hotspot/cpu/x86/assembler_x86.hpp#L817-L820)

Also if you look at the compiler's intermediate representation at the very last phases you'll see it basically looks like an assembly program.

<comment><USER7> Pure interpreters like CPython?

<comment><USER15> The interpreters themselves go through assembly language. Assembly is relevant because the whole stack is still actively built on it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> To me, assembly is one of the things while self studying CS that I felt lacked good support in resources such as this, MOOCs, or just plain explaining it. Usually when I post a topic trying to Demystify the topic I am greeted with an extremely hard to digest read about said topic that is more meant for people Already knowledgeable in the subject.

And I feel assembly should be more a core building skill in a programmers toolbox. So this article is very welcoming for o me.

<comment><USER18> Modern assembly is kind of...bad.

I would recommend checking out an old book for an old mainframe's assembly language. They're usually much less mystic by virtue of being much less complex. IBM had some really nice manuals and books; no one ever got fired for buying IBM because an IBM machine could be programmed by a dog.

Octal is where it's really at, though, if you get really into this. A fun weekend project is to write an octal "decompiler" (ideally you won't have compiled anything, just having written some octal by hand) that allows you to reason with what it's doing by translating it to an actual language rather than just thin syntactic sugar over 1s and 0s. Octal itself isn't so difficult, it makes binary much easier to reason with, but this definitely helps you get a more intuitive sense of what is what.

Of course, it's not something that has a substantial amount of value with modern machines. Maybe eventually we'll get back there; I think I'll enjoy it when we do. Until then, though, it's fun to play with.

<comment><USER19> > Octal is where it's really at

Why octal, not hex?

<comment><USER18> Octal is easier to keep in your head while not sacrificing any efficiency.

</comment></comment></comment></comment><comment><USER20> As recently as a year ago I used built in assembler in Delphi to perform some low level timing. It was not for just super-duper performance though. Surprisingly it was the most straightforward and simple way. Meanwhile my firmware for 3-Phase AC motor torque and speed control for really low power micro controller was doing fine with plain C without any assembly.

<comment><USER21> What do you do for a living?

<comment><USER20> I design and develop product for living. Universal guy. Mostly software but sometimes part of it is also firmware / elecronics / hardware. I happened to be a person who did everything from billing systems and other giant products for TELCOs and down to firmware for micro-controller.

Some products I own and some are made to order. Some I did on my own and for some I was a leader of big team

</comment></comment></comment><comment><USER22> There is many kind of assembly language, some for the actual computer hardware, some for VMs, and some used as both.

I have used and sometimes still do use assembly language, including 6502 (specifically, NMOS 6502 without decimal arithmetic, including unofficial opcodes), and a little bit of x86 stuff (although the modern x86 is very messy, I think), but also Z-machine and Glulx. I have also used MIX and MMIX assembly (and may use MMIX more if I would actually make a computer with it). And then some other programs (such as ZZ Zero, which is similar to ZZT) has its own kind of assembly language.

One feature not mentioned is the relative numbered labels such as 1H and 2H available in MIXAL and MMIXAL; you can then use 2F to find the next 2H label forward, or 2B to find the next 2H label backward. My own assemblers for Glulx and ZZ Zero support the similar feature too.

<comment><USER9> He does touch on local labels briefly - he suggests (and I agree) that you can get the same effect, more maintainably, with macros.

<comment><USER22> Macros are good too, although I think both are useful.

</comment></comment></comment><comment><USER23> There's food for thought there. As part of my current project I wrote an assembler for 8-bit Avr. (on github [https://github.com/Lerc/AvrAsm/](https://github.com/Lerc/AvrAsm/) )

Part of my motivation for this was to have an assembler that ran in the browser (for my fantasy console that also runs in the browser), but another big part of it was to write an assembler designed to be more friendly to people writing assembly directly.

When I wrote 6502 asm I mostly did it from Supermon which is a no frills experience. It's nice to see the features that assemblers have now, I think I'll be implementing quite a few of those macros from this link in my own assembler.

</comment><comment><USER24> A thread from 2015: [https://news.ycombinator.com/item?id=10522158](https://news.ycombinator.com/item?id=10522158)

</comment><comment><USER25> Optimizations have come a long way. Not only do you need to be an asm programmer to beat the optimizer, you need to be a _good_ asm programmer.

</comment><comment><USER14> Sure it is, someone has to write compiler backends and OS bootloaders, even if all instructions would be exposed as intrinsics.

</comment><comment><USER26> Even back in the 1980s, author Lance Leventhal who wrote some great programming books on assembly always warned that productivity wise you write the same number of lines of code whether its 6502 or C.

As that 6502 example in the article shows, you don't great great productivity with assembly. And even macros don't improve on it that much.

<comment><USER27> One writes 6502 assembly by hand because there is really no alternative on that ISA. It does not make a good target for a C compiler, there are very few of them to begin with, and hand written 6502 (or 65816) is going to be better than anything produced by any compiler for it at this point in time.

</comment></comment><comment><USER28> On modern x86 it's not very useful at all anymore. An ICC or LLVM backend with compiler intrinsics will get you quicker performance, with reduced maintenance and cost. Performance will also move over time with backend optimizations getting better.

You can still do it if you care about debug build performance.

</comment><comment><USER29> I'm rarely keen on posting negatives on articles that clearly took a lot of time to make, but I think this requires a bit of correction.

I think this article is very, very simplistic. All of it relates to a 8 bits CPU that is 40+ years old.

I switched to HLL as soon as I could get my hand on a compiler, namely, UCSD Pascal at the time! Then the Pascal, then to C and then myriads of other languages. I covered 6502, Z80, 68k (all of them, to 68040), PowerPC (all of them from 601 prototypes to G5s), ARMs (more than I can count) and x86s (same).

True to be told, the assembly language I started with /helped a LOT/ with be becoming an efficient developer; a developer who understand what 'code' is being generated when he writes an expression, a statement, a loop, and one who understands what the runtime implication are for most of the 'sugar coating' HLL gives.

However, starting (a bit) with the 68k, then even more so with the PowerPC, it became pretty much impossible to write /from scratch/ an assembly equivalent that was QUICKER than the compiler generated code. That was 20+ years ago. DRAM latency happened, pipelining happened and SIMD happened.

Today, hand writing assembly is pretty much stupid on modern CPUs. Given the register files, timings, shadow registers, bus latencies etc etc the compiler will ALWAYS be better because there is _so much_ criteria to think about when generating code...

I'm not saying that having the knowledge is not useful; the _best_ use of assembly is to write some code il HLL, one that is supposed to be super-mega- critical-quick, then disassemble it and see how it looks. More often then not, you can't make it better than it is _in situ_ \-- most of the time you will gain is to prepare your data better, align it better etc etc -- basically, 'hinting' the compiler to do a better job. You can do serious code butchery like that, without a hint of assembler [0].

But really, I haven't written any assembly for /performance reasons/ in 15 years, and that was Altivec on PowerPC.

For 8 bits, it's all smooth as butter, but the article also doesn't take into account the massive progress in compilers; I'm the author of SimAVR [1] and I've seen my load of generated code for that CPU, and the GCC toolchain is /very hard to beat/ by hand these days.

[0]: critical audio loop on one of my old PCI card driver, converting float<->int, applying gain etc while using the register file to the max, and making most use of the pipelining of the G4 (at the time) [https://gist.github.com/buserror/0a3a69cca927b8da6c9c7ee1605...](https://gist.github.com/buserror/0a3a69cca927b8da6c9c7ee1605007fc) \-- note, the inner loop was generated by a script that was doing the cycle calculations (!)

[1]: [https://github.com/buserror/simavr](https://github.com/buserror/simavr)

<comment><USER30> This article is specific to the 6502 where the commonly used CC65 C compiler the author references produces much, much worse code speed wise than what you can with pure assembly. In that regard, the article is not simplistic in the least. Coincidentally, I messaged the author just yesterday about the for loop example to point out that it was generated without optimization. Even with optimization enabled, the code is still about 3 times slower than hand written assembly. I know this may not be typical for other architectures like AVR but it certainly is for 6502.

<comment><USER31> I used to do my production code exclusively in 6502 assembler, with some tools in P-system Pascal. As I would read in magazines about the C language I would try to imagine what the C compiler would generate for certain constructs, and I couldn't imagine it being efficient compared to other 8-bit processors. Then we decided to experiment (at the company) with C and got a compiler. I was right, the code was awful. It used exactly the idioms I thought I would use if I had to to it. I can picture a really top-notch compiler doing better (because I'm more familiar with optimization in compilers now), but sooner or later some of the quirks (like 8-bit index registers and only page 0 can be used for pointers) will catch you.

</comment></comment></comment><comment><USER32> This is like being an architect and noticing that bricks and cement are still relevant... Of course they are!

<comment><USER33> It's more like being an architect and working with bricks and cement yourself. The author's argument is that sometimes an "architect" should do that. Agree or disagree, but it's certainly not a truism.

<comment><USER34> An architect might in fact design something down to the brick-and-mortar level, such that someone else assembles it to the actual building. That architect is working with bricks and cement, effectively at the design level.

That's the same as using assembly language, rather than poking binary/hex values into memory.</comment></comment></comment>