Upthere, a cloud storage service, wants to make file syncing a thing of the past - <AUTHOR> http://www.theverge.com/2015/10/29/9632904/upthere-cloud-file-storage-bertrand-serlet <comment><USER2> I'm a bit skeptical of this. The way the CEO brushes off the issue of what happens when the user is offline leads me to think that they don't have a great answer for that. Services like Dropbox and iCloud are great because you don't need constant connectivity to use them - with Dropbox you always have all your files on your computer, and with some exceptions (Photos) the same is true for iCloud. This company might be living in a Silicon Valley bubble of perfect connectivity if they think that people always have a fast and reliable internet connection.

I'm also interested to see if they have a way for you to run your own Upthere server instead of using their service. I'm not eager to have to trust yet another third party with my private data, and if I can't host it myself somehow I'll probably avoid using the service.

<comment><USER3> He talks about caching. As soon as you add caching, you now have a problem that isn't just close to syncing. It's utterly, absolutely identical to syncing. Syncing is just distributed caching where you only ever invalidate a cache entry when someone tells you to by deleting the local file.

You can "skip" the cache consistency problems by "just" always treating "the cloud" (which is internally probably a distributed cache) as the authority, but now you have an unreliable distributed system from a user's point of view since the thing you are skipping is how to handle real-world network weather. You can't eliminate problems by pretending they don't exist.

You also can't skip this problem with "the cloud." I am SO damn sick of "the cloud" being talked about as magic beans. If you're building a global distributed drive, then you are doing a distributed cache -- SYNCING -- in the cloud between cloud nodes. If you can do it there, why not do it on the end- user device too and let me cache my data? If you are using someone else's boxed cloud service to do this, then you are letting them build a distributed system and operate it for you in the cloud and if you ever have problems with it you better hope they have good support/SLA... and you're also doing something trivially duplicated. If that's what you're doing why don't I just use s3fs?

I sincerely hope there's more to it than this. I can trivially do this now with sshfs or Expandrive if I want a pretty GUI, and it's only tolerable with cloud storage that's physically very close to me (about <500mi).

<comment><USER4> I agree with many things you say. Take AWS S3 as an example: it reduces the problem by making objects immutable. Internally, they can cache aggressively without scaling fine-grained consistency on the objects as such. As an S3 user I can aggressively cache on the client too.

Now we've reduced the problem to consistency on the metadata structure which aggregates objects for the user. There are "well known" ways to do this for traditional trees. Other well known options include doing an all search based approach (i.e. always talk to a server for metadata, perhaps with local result caching), and so on.

<comment><USER3> The last part you wrote is what I was getting at: you cannot eliminate distributed systems problems from distributed systems. You can only either (a) push them around into different parts of your design or (b) outsource them by using stuff like Amazon's DB-as-a-service stuff. Using immutable objects is (a): now you have a distributed metadata problem.

If they're doing (a) then it's just another Dropbox but with less tolerance for disconnected operation. If they're doing (b) they're just reselling and maybe with a nice client. That's not doomed as a business of course but it's not all that technically interesting.

If there's a (c) it's not in this article.

<comment><USER4> I strongly agree with you re 'conservation of distributed systems problems'. I'm being vague because I know what they're doing, but I'm limited in what I can comment on.

Their public comments are that they are running their own servers and not reselling other storage.

Personal opinion: no one can do (c) because of (a). That is, any possible (c) must tackle the fundamental hardness in the distributed systems problem, and this is what we agree (a) is doing. Using immutable objects as in S3 just shifts the problem elsewhere, while it reduces it, it doesn't solve it.

<comment><USER3> Immutability does reduce the problem by reducing the data footprint of stuff that needs to be synchronized.

So let me guess:

They're doing a distributed _metadata_ store where the cloud is the tie- breaker combined with flexible caching of immutable content-addressable (identified with SHA512 or similar) objects.

In that case it sounds like cloud-hosted-only ipfs plus a nice client to access it from a host.

Cold? Warm? :)

</comment></comment></comment></comment></comment></comment><comment><USER5> While the solution going forward is most likely to go back to dumb terminals (thin clients, if you prefer) I think just putting it in "the cloud" as it stands today is not the solution. Granted, it's not very clear what they are offering, but it does appear to be a gated service (think Dropbox) rather than an open technology (think HTTP). It just doesn't seem to solve problems any better than what's already out there, but I'd be happy to be proven wrong.

Personally, what I'd like to see is mainstream software bundled with [https://ipfs.io/](https://ipfs.io/) technology. If content could be served via a DHT plus all the extra things IPFS offers, we'll be a lot closer to a world where content doesn't get lost. At that point I'd gladly pay a company to store my personal files (by simply giving them a list of hashes which resolve to my computer so they can download them), and trust that it's safe because they were encrypted on my end and the company is just ensuring that the content can be redownloaded should my computer explode.

On a sidenote, IPFS would also solve a lot of problems with public data, where everything can be reliably synced (and even updated with IPNS) for people with no persistent access to the Internet (and people on space stations or the Moon or Mars, should we ever put bases on them).

</comment><comment><USER6> This seems to be a recurring theme: Unix (and Windows) use files. Keeping track of files is hard. If we could just use enough Unix (internet, mobile, the cloud, oh my), we could make files go away.

And then pictures, video, music, etc come along and wreck everything.

Maybe there are better machines to rage against than a hippie OS.

Also, I wonder if they've done the math on how much data you can actually cram into the airwaves. You can't instamagically move more data through a finite spectrum at rush hour on a Wednesday.

<comment><USER7> They're essentially making end user devices into thin clients. Which I'm actually a fan of, _if only_ I get to run the backend on my own server hardware.

We badly need standardized home servers that can run 24/7 and managing storage and processing tasks for our mobile device. It would solve sooo much of the problems derived from unreliability of mobile devices.

<comment><USER8> I personally love this idea. Its a mini cloud running out of your home and it puts you in complete control of your data. I would even take it a step further and say that as long as you have a home server running 24/7 why not run a mail server as well? It would resemble something like an apple tv. Small, quiet, power efficient. You plug it in, run through a simple setup wizard, pay ten bucks for a domain name, and off you go.

<comment><USER7> A mix between a basic game console (see Steam machines), router (see OnHub) and a plug computer could work, maybe.

Something that the regular users have an incentive to buy, because the primary advertised features are something they need or really want, and that then also offers a wide variety of additional services, such as mail, VoIP, coalescing proxy for your mobile devices to save their battery, storage, etc...

</comment></comment></comment></comment><comment><USER9> The Verge, TechCrunch and their website, and I still have no idea what their product is. They have an impressive team, that has been put across. Other than that, just buzz words.

<comment><USER10> Yeah, I must be missing the point as well.

"Upthere says it plans to offer an API in hopes that developers will make it the default storage solution for their own apps"

So... how is that in any way different to using the AWS API to upload stuff to S3? Being a "storage solution provider" (and reselling other companies' cloud offerings at that) has some razor thin margins and a whole lot of competition. I don't understand what makes these guys different.

<comment><USER11> They talk about running their own hardware so assume something like open compute or backblaze. But without the size or reliability of S3. Can't imagine they'll be able to do it at lower cost than Amazon either. Like you I have no idea why not use S3.

<comment><USER10> Like you, I can't see how they'll compete on price if they own their own hardware. Microsoft, Amazon, Google, Facebook have all been working on this stuff for years. Even adopting Opencompute or similar, they will have comparatively no buying power, no users and no data.

</comment></comment></comment></comment><comment><USER12> Woah, getting a strong whiff of "we will XML everything" from the late 90s. Lots of big words, grandiose vision, but all reeking of technical inefficiency, which when resolved will yield... a form of an SQL database. 4 years in stealth mode also don't instill much confidence that they will live up to the claims.

Nice logo though.

</comment><comment><USER13> Even more info here [http://techcrunch.com/2015/10/29/whats- upthere/](http://techcrunch.com/2015/10/29/whats-upthere/)

<comment><USER14> They're doomed. From that link:

       The ground-up approach includes the entire stack.
       Hardware to software. The company has designed
       its own servers down to the bend of the metal
       and the motherboards used.

Why, oh why, did these guys think they needed to design their own motherboards? I couldn't think of a more commodity product. You want to do that eventually, then sure, do it. But not as a startup. Focus first on what will differentiate you from everyone else. Hint: IT'S NOT THE FUCKING MOTHERBOARDS!!!

The founder spent 22 years working for St. Steven, and yet he didn't learn one of the most important lessons:

 _"People think focus means saying yes to the thing you 've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things I have done. Innovation is saying no to 1,000 things."_

<comment><USER15> It says they designed the servers rather than the motherboards, so I'm guessing it just means they shopped around for different off-the-shelf motherboards rather than, say, hiring hardware engineers to lay out gates and chips.

<comment><USER4> Correct

</comment></comment></comment></comment><comment><USER16> I signed up because, hey I'm curious. But ...

It's hard not to think of this: [http://mashable.com/2012/10/17/color-shuts- down/#](http://mashable.com/2012/10/17/color-shuts-down/#)

High-concept stuff doesn't seem to fair well, the small and growing always seems to do a lot better. That said good luck to them.

</comment><comment><USER17> A little bit of feedback: Quite large parts of the UK still have patchy 2G reception so this would not be practical for here. People on HN have been saying don't worry the network will catch up for years, but where I live the network coverage and speed is crap and hasn't changed at all in the last 5 years in the 80 miles between here and the nearest major city.

<comment><USER18> I really, really wish startups stop assuming everyone has unlimited data plan and broadband Internet available 24/7\. I'm not even begging for the common engineering sense anymore (don't route around half of the globe the data that has to travel only 5 meters in physical space; some data does not belong on the Internet, etc.), or even common decency. For practical reasons and the love of God, stop with the requirement of being constantly on-line to use a goddamn app.

<comment><USER19> I really need to register bandwidthprersevationsociety or something a bit shorter. I was initially going to say that developing nations are going to be left behind but that's not right, a lot of them have very good high-speed net access. Australia on the other hand - a lot of places are going to have a maximum of 25 mbit / 1 mbit for a long time due to the geniuses running our government.

I'm on what is effectively 8/1 and I'm starting to struggle with the size of Windows Updates (8->8.1 failed multiple times resulting in a repeated 2GB download), XBox One games (20-40GB), streaming and RDP/Citrix/VPN for working from home.

> I'm not even begging for the common engineering sense anymore

OneDrive! It doesn't even implement any kind of LAN Sync - you'd think MS would have bolted on some of the newer SMB stuff like HomeGroup (which is discovery+SMB over IPv6 AFAICT)

>For practical reasons and the love of God, stop with the requirement of being constantly on-line to use a goddamn app.

Ubisoft managed to lock the whole of Australia out of one if its recent betas with this mentality.

<comment><USER7> "Data locality preservationists" :)

<comment><USER18> I love it <3.

<comment><USER19> savethebytes.io? (and can you or anyone else chip in for that domain?)

<comment><USER18> Count me in. I'm shooting you an e-mail.

<comment><USER7> Don't forget me! I'm sending you an email too

<comment><USER6> I like it. Maybe a tie in with slow food?

<comment><USER19> Well we certainly have slow internet here. It'd be a good joke/political site to do a "slow internet movement" in the style of the "slow food movement"

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Syncing will eventually be a thing of the past for most people, but I imagine what will make syncing obsolete is not cloud storage alone, but rather cloud storage in combination with the emergence of a new class of portable devices that is compact and efficient enough to carry around for personal communications, powerful enough to get real work done quickly, and flexible enough to support large displays and VR for media consumption and gaming: a single device that literally does it all.

Cloud storage will still be important in this new single-device computing model, but only as a means for archival and backup. Sync won't come into play anymore because you only have the cloud and a single device to manage, and changes will tend to only propagate in a single direction from the device to the cloud.

<comment><USER7> What I'm imagining is a "wearable server", an "anchor device", that power all your screens and input devices. Maybe you've got "smart clothes" with communication and power lines embedded so it can communicate with your smart glasses, or it talks wirelessly with your smartwatch, etc.. Doesn't really matter how exactly it works, just that it manages your connectivity and holds your local data. Maybe you have it in your bag, or on a necklace, it it _is_ your necklace, or on your wrist (maybe it IS your smartwatch) etc...

</comment></comment><comment><USER21> i was so unsure of what they do, i signed up for their beta!

</comment><comment><USER11> Reading through the spin.. it's just an object store and pubsub with some demo apps? Like S3 and SNS on Amazon or Google Datastore and Cloud pubsub? That's it? Why would anyone use this instead of AWS or Google?

</comment><comment><USER22> Syncing everything to the cloud may be great if you have an unlimited plan, but as long as each GB costs around $10USD these kind of initiatives will have a very limited impact.

</comment><comment><USER3> So is this now officially the "mainframe 2.0" era, with endpoint devices now being dumb terminals again?

<comment><USER10> Pretty much, but large multinationals are the only ones that own the mainframes, and it's only cost-effective to have a few very large providers. That's the way it's all moving.

</comment></comment><comment><USER23> > "NO ONE DID WHAT WE ENVISIONED. SO WE STARTED FROM SCRATCH."

Yet you were the "senior vice president of software engineering for Apple." You were in a better position than almost anyone else to "do what you envisioned." What stopped you? If you could not do it at Apple, why will you be able to do it at a startup?

The ability to start a startup is a new bargaining chip for high value corporate employees. Why build an innovative feature at your company -- and give them all the money -- when you could just leave and do it yourself, and keep all the money?

There is a moral hazard for corporate employees that poses a large risk to corporate innovation. If an employee at a company stumbles upon an innovative opportunity, it can be economically sensible to for the employee to avoid implementing it, in preparation for a future startup that will attract easy VC money.

The best solution to this is probably just for big companies to grant more and more stock to employees to keep incentives aligned.

<comment><USER24> Well, because starting a company is a huge risk with a very low percentage of success, even with an awesome idea. Some ideas will require corporate backing to be successful, either because it is more of a feature than a product or because you need to leverage the infrastructure of the corporation.

<comment><USER23> Way less risk when you are former VP of engineering at apple. That guarantees at least enough investment to hire a team the size of what you had at Apple. Presumably as former VP you also have the experience to increase chance of success.

So no, not a huge risk, and higher percentage chance of success than anyone else starting the same company.

<comment><USER24> Some of the worst startup founders I have seen are people who come from being execs or management at very large companies, because they have no frame of reference for how things should be done when you have 5 people.

So I don't think you can generalize on that point. And as far as this goes:

> That guarantees at least enough investment to hire a team the size of what > you had at Apple.

There's also no way this is a guarantee. Sure, it'll be easier to get money than an 18 year-old walking in off the street will, but again, you can't compare the steady job, steady paycheck, "let's build a feature internally" with "let's go start a startup".

I will definitely agree that having the experience of a vp of engineering is better than not having it, but that's a far cry from saying that quitting your highly paid job as a VP of engineering for the biggest company in the world to start one of many cloud storage companies is "not a huge risk".</comment></comment></comment></comment>


Ask HN: What financial tools or advice do you think are essential? - <AUTHOR> <comment><USER2> I'll pitch in my 2 cents. Most interest bearing debt has a higher interest rate than most investments. So it makes sense to pay down the debt before investing. Paying down debt has a more certain return (to excuse the term) than most other high yield investments. Outrunning debt it easier than chasing high returns. Better yet, not go into debt in the first place.</comment>


Show HN: Chrome headless support without selenium for Mink and Behat - <AUTHOR> I wrote a mink driver which communicates directly with chrome over the devtools protocol, allowing you to control chrome without selenium.
With chrome 59+ you can also eliminate the need for xvfb by running it headless.
Our behat suite of 1800 scenarios and 19000 steps takes just over 60 minutes to run in Chrome 58 with selenium and xfvb. With chrome 60 headless it takes less than 18 minutes.
https://gitlab.com/DMore/chrome-mink-driver
Any feedback and contributions would be greatly appreciated. <comment><USER2> Nice. Good effort. Things are going to change with headless Chrome around.</comment>


Google's AI Masters Space Invaders (But It Still Stinks at Pac-Man) - <AUTHOR> http://www.technologyreview.com/view/535446/googles-ai-masters-space-invaders-but-it-still-stinks-at-pac-man/ <comment><USER2> I thought Pac Man had been 'solved'? As in, the Ghosts always follow explicit paths. I'm curious to know that if they increased the 'learning' to more than the last 4 frames, would the AI figure this out itself.

</comment><comment><USER3> Last heard that Google's AI learnt to recognize Cats from YouTube videos, but stinks at Pac-Man. The Irony.</comment>


How to Design App Store Screenshots that Sell - <AUTHOR> http://www.designboost.net/how-to-design-iphone-screenshots-that-sell/ Are your app store screenshots helping or hurting your iPhone or iPad app sales? In this post I'll talk about shoppers make buying decisions based on your screenshot images! <comment><USER2> Great to see a nice overview of best practise in app store screenshots. As an app-developer I also would like to stress the benefit of good screenshots. To add on these best practises I think you shouldn't do a real life example of the app in use without having some serious equipment (camera/lightning) and possibly "models". The author mentions to do this with care but my 2cents is just don't do it. I've only seen a few decent tries on this and generally that would be an app from a well-funded company that obviously spent a lot of effort/cash on it. Those screens set the standard in that genre and for a small developer to compete with that is not effective, do a digital less-is- more screen with good copy instead.

<comment><AUTHOR> thanks for the comment I agree real-life shots can backfire (like the fingernail problem) it's hard to illustrate use in such a small image.</comment></comment>


How has Vladimir Putin made his $40B fortune? - <AUTHOR> https://www.youtube.com/watch?v=-YOyhAcO5oQ

<comment><USER2> Let me guess — he started with a landing page, cranked out a shitty MVP, then just sat back and watched the money roll in. (Didn't even pivot!)</comment>


Microsoft 365 will drop support for Internet Explorer 11 next year - <AUTHOR> https://techcommunity.microsoft.com/t5/microsoft-365-blog/microsoft-365-apps-say-farewell-to-internet-explorer-11-and/ba-p/1591666 <comment><USER2> I have mixed emotions as someone who had to support IE6 for years. It's great that we no longer have to support whatever IE quirks still exist, but super sad that we're down to what? 3 browser engines now?

<comment><USER3> I don't understand the concern over lack of browser engines.

There's only one Linux kernel and that seems to be working out just fine for all the distros using it and all the cloud operations running those distros. You could say that their are more Unixes than just Linux too, but among browser engines there are also Gecko, Servo and others [0].

WebKit and Blink are both open source too and with less restrictions than the Linux kernel since they're LGPL and not GPL.

[0] [https://en.wikipedia.org/wiki/Comparison_of_browser_engines#...](https://en.wikipedia.org/wiki/Comparison_of_browser_engines#General_information)

<comment><USER4> There's only one Linux kernel that is primarily driven by volunteers, headed up by a non-profit, and does not define and interpret a shared resource (HTML/Javascript)

A monoculture of browser engines gives a lot of control to the parent organizations of those engines. Google gets to define the future of HTML and Javascript because theirs is the #1 engine by a wide margin, which in my opinion, they got to in part due to anticompetitive practices.

Licensing doesn't mean anything in terms of the monoculture because, let's be honest, there's only 1 Blink. You can fork, but you're still forking Google's spec of HTML.

</comment></comment></comment><comment><USER5> IE11 wasn't actually that bad. I had less problems than it with Safari (although that was a while ago and I presume development has slowed). Even better you could download test VMs so unlike Safari I could fix bugs without spending over $1k on hardware.

I agree that IE was awful for web developers for quite a while, but I think that has passed. At this point I think shifting more control to Google is not worth the "pain" of having another decent browser around.

</comment><comment><USER6> I know this does not mean companies will stop USING these old systems but...

Thank god, finally!

So many companies have old school software that still runs in legacy modes that this will probably exist until 2040, but thankfully the commonly held web standards can progress without ever getting a customer complaint that some date picker doesn't work in IE...

<comment><USER7> The native datepicker has no pop up widget on Safari either, in 2020. That is really crazy to me.

</comment></comment><comment><USER7> As someone who has recently built a front-end framework [0] that supports Internet Explorer, I say good riddance!

[0] [https://www.gethalfmoon.com](https://www.gethalfmoon.com)

</comment><comment><USER8> This is a duplicate [https://news.ycombinator.com/item?id=24190085](https://news.ycombinator.com/item?id=24190085)</comment>


Order temporarily blocks Feds from targeting press, legal observers in Portland - <AUTHOR> https://www.npr.org/sections/live-updates-protests-for-racial-justice/2020/07/23/894953202/order-temporarily-blocks-feds-from-targeting-press-and-legal-observers-in-portla <comment><USER2> An interesting point that this article does not mention, but which can be found in other articles [2] or the order [2]:

The judge issuing the order specifically stated that this court has reviewed and ruled on the the order so it is clearly established that it is legal and thus qualified immunity does not apply.

I had not previously seen that technique for (potentially?) avoiding qualified immunity.

[1] [https://www.oregonlive.com/portland/2020/07/judge- inclined-t...](https://www.oregonlive.com/portland/2020/07/judge-inclined-to- restrain-federal-law-enforcement-from-using-force-threats-dispersal-orders- against-journalists-legal-observers.html)

[2] [https://aclu- or.org/sites/default/files/field_documents/aclu...](https://aclu- or.org/sites/default/files/field_documents/aclu_tro_against_federal_defendants.pdf)

<comment><USER3> Similar function to a consent judgment[1]. Remedies can include citation for contempt, continuing supervision .

[1] [https://www.lexisnexis.com/lexis-practice-advisor/the- journa...](https://www.lexisnexis.com/lexis-practice-advisor/the- journal/b/lpa/posts/enforcing-settlements-and-consent-decrees)

</comment></comment><comment><USER4> > U.S. District Judge Michael Simon issued a restraining order Thursday > preventing federal agents from "arresting, threatening to arrest, or using > physical force" directed at anyone they know to be a journalist or legal > observer, unless they have probable cause to believe they have committed a > crime.

> The order also blocks the defendants from seizing any photographic, audio > and video recording equipment and press passes from people in those two > categories, as well as from ordering them to stop recording or observing a > protest.

Why is this not within the already defined rights of all Americans? I fail to see why journalists would need a special use case.

<comment><USER5> Police (and some journalists themselves) would _love_ to see 1A limited to journalists and 2A limited to racist rednecks (...and, one supposes, 3A limited to families without pretty teenage daughters). The more the population can be divided, the better, for authoritarians.

<comment><USER6> sorry, what are 1A, 2A and 3A?

<comment><USER5> [https://en.wikipedia.org/wiki/First_Amendment_to_the_United_...](https://en.wikipedia.org/wiki/First_Amendment_to_the_United_States_Constitution)

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

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

Sure, these abbreviations are USA-centric. I thought that would be OK given the subject of TFA.

<comment><USER7> I've lived in the US my entire life, and I was confused by your abbreviations. I don't know what "TFA" means, either.

<comment><USER5> "The Fine Article". Many people who are interested in civil rights refer to the amendments in this abbreviated fashion... It's fun to learn new things!

<comment><USER7> It is! Nevertheless, I was confused at first. I'm sure I would've figured it out eventually, given the context.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > ...preventing federal agents from "arresting, threatening to arrest, or > using physical force" directed at anyone they know to be a journalist or > legal observer, unless they have probable cause to believe they have > committed a crime.

Is that not the case already?

<comment><USER9> What's strange is that this order only applies to journalists and legal observers. So if I'm just a peaceful protester, I can be arrested or be the subject of physical force without probable cause?

<comment><USER10> If the large crowd is told to disperse by government agents, you are no longer a peaceful protester. You are free to protest, but you are not free to protest at any location at any time. If once told to move, you do not, you can, and were always able to be removed by use of physical force.

The reason these peaceful crowds are told to disperse, is they are often not peaceful, they leave much damage to regular citizen's and business property behind, and it's not your call whether the crowd poses a danger to my car parked on the street, or my place of work. It's up to the law enforcement assessing risk of the crowd causing damage, and if they think it will, even if they have not, they have to disperse. Like when the crowd starts ignoring the fact that cars drive on the streets trying to get home from work, and starts walking through and blocking traffic. Or even leaving a pile of trash and destroying the lawn of public or private property, which I have to pay to restore with taxes.

Does your peaceful protest stay on the sidewalk? Does it carry its trash to the nearest garbage can instead of dropping it on the street? Does it destroy zero property and wait for the walk sign at intersections? Because if not, the issue is not with the protest. It's with the things you are doing which are not peaceful, to people not part of your peaceful protest.

I was moving apartments during one of these "peaceful" protests in Chicago. At that point, they weren't burning buildings and destroying stores yet. It took me 12 hours to move 2 minivan-loads of stuff. My brother was helping me. When the police tried to get people to clear the roads, the people did not. Instead, they threw a bunch of flamable shit in the parking lot where regular people's cars were, and destroyed those cars. Because the cops tried to clear the road so people, on the last of the month, could move their shit into the new apartment. after working a full day. and having to work the next day. after having 2 hours of sleep.

by the way, when my brother got home, his girlfriend's shitty old car was broken into and needed to be repaired. good thing she was unemployed and couldn't pay for it, otherwise it might have cost $200 instead of the free ducktape + plastic bag combo.

peaceful for you does not mean peaceful for everyone. and the cops, and the feds, are there to make it peaceful for everyone - not just you. when told to disperse, so people like me can simply live our already stressful lives, you refuse to, you are no longer peaceful, and should be thrown into a van and removed. and if that takes tear gas, I'm cool with that, just like you're cool with completely fucking up my life.

let me ask you this: forget protests. regular workday, mid-afternoon. a group of people decide to just start walking in the middle of the road dropping garbage everywhere and won't leave. what do you think should happen to them? nothing? does the group being large make it ok?

<comment><USER11> I'm bemused to see reports about the police overreacting to peaceful protests, followed by a sentence or two acknowledging that fires were set at those same protests.

<comment><USER12> There have been quite a few protests lately. Some of them involved vandalism, especially on the first day. In Portland over the last few days, there was some fireworks and a few trash cans were burning.

But the vast majority of protests were entirely peaceful. And and even greater number of individual protesters have done nothing wrong.

The police doesn't get to shoot you in the head because you look like the people they saw on the news doing something wrong half-way across the country.

And even actual criminals aren't fair game to police violence. This isn't some gang war between equals. The police is expected to be better than that sort of revengeful sadism.

<comment><USER11> Here's a great example ( [https://apnews.com/edd4ebdd7a245e568da69db38aea04db](https://apnews.com/edd4ebdd7a245e568da69db38aea04db) , third paragraph):

"[The mayor] put on a pair of goggles someone handed him and drank water but did not leave his spot at the front of the protest and continued to take tear gas as the demonstration raged — _with protesters lighting a large fire between protective fencing and the Mark O. Hatfield Federal Courthouse_ amid the pop-pop-pop sounds of the federal agents deploying tear gas and stun grenades into the crowd."

The federal officers are officially assigned to protect that courthouse. They built a fence but people still managed to build a large fire on the wrong side of the fence. It looks like the officers have a good reason to want the crowd to disperse, although I'm not sure that it's a great idea to use tear gas so close to a fire. Unfortunately, as I understand it, if the crowd refuses to leave and tear gas has been ruled out, the remaining options are all very violent.

</comment></comment></comment></comment></comment></comment><comment><USER13> I'm not really sure how this is going to be enforced if the federal agents cannot be identified?

<comment><USER14> They can be identified by their badges, just like any other law enforcement officer. They all wear badges with unique badge numbers.

<comment><USER15> You missed the part where they have been removing and covering their badges fairly consistently.

<comment><USER16> I'd like to see this codified into law and practice:

As soon as you cover/hide a badge/identification you are no longer acting as law-enforcement and are deemed a terrorist inciting fear & harm on the public.

<comment><USER5> I saw an interview with the mayor a couple of days ago. He ended by throwing a Molotov cocktail that the interviewer completely ignored: "It would be really unfortunate if the irregular behavior of these federal agents put them in harm's way." (My memory is not great so this quote may be a bit more explicit than the original?) In general, if an unidentified group of armed and camouflaged ruffians pours out of unmarked vans to menace our neighborhood, we should shoot them.

<comment> non-entity I've heard stuff like this a lot, but just dont believe it. The people who are more likely to be armed arent being targeted. Plus shooting at federal officers is likely to be a death sentence, both literally and in regards to sympathy / support for yourself and beliefs.

<comment><USER17> If they are not wearing badges and identification of which agency they are operating under the authority of, then the laws should be that they are not legally operating as federal officers. That's the point. I'm allowed (in many jurisdictions) to defend myself with deadly force if necessary against an assailant. Without properly identifying themselves as federal agents, they could be any random person who bought camo and tactical gear at any random gun shop or military surplus store.

Federal agents should be _required_ to clearly identify themselves as such.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> This should _not_ require a court order.

</comment><comment><USER19> Temporarily?? I could've sworn this was a permanent right of US citizens?

<comment><USER20> The TRO means that there can be actual punishment, fairly swiftly, for violations, because violations become contempt of court for which the court can issue civil penalties on a near-immediate basis. All the things that make holding government agencies and government agents accountable and laborious are cut through when there is a specific court order and not just general law in play.

</comment></comment><comment><USER21> Better start printing thousands of T-shirts saying JOURNALIST.

<comment><USER22> PRESS.

</comment></comment><comment><AUTHOR> Dang, did you mess with the ranking of this post?</comment>


How many cats you'd have if you had 1 female and left it with males for 5 years - <AUTHOR> http://stu.ie/?p=2541

<comment><USER2> Completely inaccurate, at least for where I live. If it were true, the world would be a much less sad place. But reality cares not for cute kittens.

Here in the northeast US, feral cats (or even indoor cats with a comfy life) will never have two litters in a year. You are guaranteed one per year though. Maybe in Florida things are different.

Most kittens will never survive. We "had" one very feral cat. She would not even touch food we left out, until she was 20 years old and had cataracts in both eyes. Her secret to a long life? Dump all the kittens. Don't even let them nurse if you can help it. She had a dozen litters over the years. Most all died within two months, the lucky few lasted six. We buried all the ones we could find. Only one kitten of all her litters made it past a year.

The half life of a feral kitten is around three months. With a typical litter of five (including the runt who will get abandoned at a few weeks), maybe one will make it past a year. If no one starts feeding the extra cat, it won't even make it that long.

Edit: One final note. The life span and litter size of cats is very close to that of squirrels. True, squirrels have less environmental impact, being herbivores. (But this just means an environment could support an even larger number of squirrels.) The world is not drowning in squirrels (except for maybe Cornell) despite no one ever fixing the squirrels on their property.

</comment><comment><USER3> Right, so cats are close to an r-selection strategy:

<http://en.wikipedia.org/wiki/R/K_selection_theory>

If you were to do the same calculation with fruit flies, or even bacteria, you'd probably reach the number of atoms in the universe (~ 10^80) in less than five years. For various reasons, the exponential will turn into a logistic curve pretty soon (unstated assumptions of the article include the availability of food, water, space and the absence of predators).

</comment><comment><USER4> Source code would be cool. With some tweeking you could edit the source for other animals. Is there any other stats formula out there that does this kind of thing?

<comment><USER5> Differential equations are great for modeling these sorts of problems. <http://www.geom.uiuc.edu/education/calc-init/population/>

</comment></comment><comment><USER6> Of course the biggest shortcoming of all is that breeding will quickly outpace the food supply and many cats will starve to death or die of other causes without having reproduced.

<comment><USER7> Realistically, sure, but if someone were really determined to carry this out in real life - let's say, the government of Thailand for no real reason - they'd be able to afford to feed 10,000 cats pretty easily.

Oh, and what if we assume that the cats can or will eat each other, or corpses of other cats?

<comment><USER8> Feeding 10,000 cats--not that hard.

Getting 10,000 cats to breed optimally--pretty much impossible. Heck, try getting three of them to optimally not fight each other for a week at a time.

<comment><USER9> This is your man:

<http://www.youtube.com/watch?v=6VswBKrPuAQ>

</comment></comment></comment></comment><comment><USER10> There was an article about this in sfgate two weeks ago.

It's pretty much a fantasy, madeup statistic.

<http://www.sfgate.com/columns/yourwholepet/>

</comment><comment><USER11> If the entire cat population after five years originated from one female I think the total would be somewhat less than that estimated due to negative genetic effects - mainly inbreeding depression: <http://en.wikipedia.org/wiki/Inbreeding_depression>.

</comment><comment><USER12> Thing is this: 1) not all survive out of a litter, even after several weeks, 2) if a cat has litters too close together, she will often refuse to nurse the second litter and they will all die. If everything that gave birth by litter survived, we humans wouldn't be here.

</comment><comment><USER13> It is possible to have dozens or more, since the female cat can have a litter from multiple sires. A female cat can mate with multiple tom's during the estrus (7-21 days) or heat cycle.

</comment><comment><USER14> I don't understand why it took over 3 hours to simulate 1000 iterations, I'm sure this could be done much more quickly, even with perl.

Wish the author would post source code.

</comment><comment><USER15> Next month -- October 16 -- is National Feral Cat Day:

<http://www.alleycat.org/NetCommunity/Page.aspx?pid=388>

(If you feed strays without also pursuing trap/neuter/release you may be just multiplying the misery.)

</comment><comment><USER16> neat experiment! lol</comment>


OpenSSH Keys: A Walkthrough - <AUTHOR> https://kyleisom.net/articles/ssh_keys.html <comment><USER2> "If you've seen the low level parts of RSA keys, you'll immediately recognise this. Otherwise, convert it to an unsigned integer and you get 65537 – a common RSA modulus. RSA public keys require two pieces: the modulus and the public exponent. Let's take a guess that the next piece is going to be the public exponent."

That's backwards - 65537 is a common public exponent. The modulus is the 2048-bit long thing.

Also, the writer says "2048-byte" RSA key when it's really 2048-bits.

</comment><comment><USER3> _When most people think of SSH keys, they probably think of RSA if they're aware of the underlying cryptography. Until recently, they would be right: RSA has been a mainstay of public key cryptography for some time now, and although it's on the way out for new protocols and systems, it will be around for quite some time._

Why is RSA on the way out? This is news for me. Are there any (potential) weaknesses that have been discovered recently in the RSA? I know that elliptic curve cryptography has shorter (and hence somewhat more convenient) keys, but that fact alone hardly makes RSA obsolete. Are there anything else?

<comment><USER4> RSA is _very_ difficult to implement correctly and has a great number of caveats there. Generating keys is a very complex process, which is very slow compared to (some) ECC systems.

RSA is an asymmetric system that gives you: 1.) eternal signatures 2.) encryption. But today we often don't want that anymore (eg. in instant messaging), instead we want:

\- Forward secrecy, necessitating ephemeral keys and DH: but RSA keys can't be feasibly generated for each message or connection. Compared to eg. 25519-based ECC, where generating a key pair is 1.) generate 32 random bytes 2.) curve multiplication, meaning that you can generate many thousand keys/second/core.

\- Authenticity, not signatures, hence again DH + MACs, not RSA signatures.

<comment><USER5> This isn't really accurate. It is true that ECDSA key generation is faster than RSA, but particularly in the context of SSH this doesn't matter. Also, I think you may be confusing ECDH and ECDSA. ECDSA (which is what the article is recommending) is the directly analogous to RSA in the sense that it provides eternal signatures. ECDH provides for generating individual session keys, but you can do that with classic Diffie Hellman as well, it is a completely separate issue from RSA vs EC.

Also, this line doesn't make any sense: "Authenticity, not signatures, hence again DH + MACs, not RSA signatures."

You need an signature to have authenticity. The only alternative to this is pre-exchanging symmetric keys which isn't viable in the context of SSH.

<comment><USER6> You're correct, I'm not referring to SSH specifically, but speaking generally about the application of asymmetric crypto. The quote in GP, and GP's question, both seemed to indicate this broader context to me.

<comment><USER5> Even in a broader context, Symmetric keys based MACs vs signatures is a completely separate question from RSA vs EC.

</comment></comment></comment></comment></comment><comment><USER7> Very clear and informative!

I got lost at this part, if anyone could clarify that would be great:

 _3\. The key uses the PKCS#5 padding scheme: the last byte contains the number of padding bytes; e.g. if there are 5 bytes of padding, it contains 0x05. The last five bytes of the plaintext should then be 0x05 (something you should validate if you are decrypting the key yourself). If you decrypt the key above, you'll see the last eight bytes are, in fact, 0x08._

The key is the MD5 of the combination of IV+pass, so how could the last byte of the key be controllable? The last two bytes shown are _532b_ , which is not 0x08? I must be missing some step that happens between getting the MD5 and this padding scheme.

<comment><USER8> The "key" in that sentence, the one that gets padded, is the (RSA) private key, not the AES key.

<comment><USER7> Got it, thanks!

</comment></comment></comment><comment><USER9> > One of the ideas I've also been tossing around is using Github's public key > API to provide a way to sign PGP keys using Github SSH keys. I have much of > the groundwork laid out, but I need to actually code everything up.

If you didn't know: you can use a gpg key _as_ an ssh key. You configure gpg- agent to act as an ssh-agent. This is quite popular for those that use yubikeys.

</comment><comment><USER10> Howdy, just a FYI here - your site doesn't display properly on mobile devices, it's all squashed into a tiny column in the middle of the page and the text wrapping is warped in places, additional if you're using Safari the 'reader view' is not available to clean the page and make it more readable.

<comment><USER11> on Firefox-mobile, if you request the desktop site and double-tap on the first paragraph, it displays fine (not ideal)

</comment></comment><comment><USER12> Hmm, what I've always wondered: why can't I have the SSH public key of the server signed/certified the same way as a SSL public key?

That could e.g. allow me to specify "mark all SSH keys certified by company- internal CA as trusted" or putting the expected certificate into DNS...

<comment><USER13> This has actually been a feature in OpenSSH since 5.4, see [https://blog.habets.se/2011/07/OpenSSH- certificates.html](https://blog.habets.se/2011/07/OpenSSH-certificates.html) or the CERTIFICATES section of `ssh-keygen(1)`.

<comment><USER14> similarly, x.509 is supported in a variant[0] of OpenSSH. For certain kinds of devices, this may be preferable.

[0][http://roumenpetrov.info/secsh/](http://roumenpetrov.info/secsh/)

</comment></comment></comment><comment><USER15> _We can tell from the length field that we need to read 0x00000101 (or 257) bytes; 257_ 8 = 2056 bytes, which is in the range for a 2048-byte RSA key (with some of the bits going unused). _</comment>


Why I Would Kick Ass at Kiip - <AUTHOR> http://whyiwouldkickassatkiip.com/

<comment><USER2> "Please install Flash to view this video."

Nice!</comment>


Vespa.ai 5x faster than Elasticsearch at nearest neighbor ranking - <AUTHOR> https://github.com/jobergum/dense-vector-ranking-performance <comment><USER2> This confirm my real-world usage. We had to do a "Semantic Similarity search" for some documents, where we represent a document as a vector using BERT, and had to look for documents close to a reference document.

First we did on top of an ANN library(Facebook FAISS). For simplicity we moved to the naive Vespa vector search and the performance was good enough( FOR 1Mi documents, FAISS did the search in 50ms, Vespa was around 600ms), and we moved to Vespa to reduce the number of tools to maintain.</comment>


How did you get it to run on a Gameboy? - <AUTHOR> http://20dollarlolita.tumblr.com/post/176285106968/the-actual-storys-so-much-cooler-than-that-i <comment><USER2> Using a Gameboy as a computer for an appliance sounds like a quirky solution, but I can see a lot of similarity with products sold today. For example, many new effect pedals for guitar have an accompanying Android/iPhone app, which connects via Bluetooth and controls the settings of the effect. The problem it's solving is a bit different: the pedal has room for a small computer in it, but not for a screen. Effectively, it's using the smartphone as a screen to save on cost and space.

<comment><USER3> Gameboys have been used for years in many specialty industrial products due to their inexpensive price point as well as their programmability and peripheral interfaces. One was even found to be used in a medical device [1].

1: [https://hackaday.com/2017/09/24/game-boy-advance-hiding- in-a...](https://hackaday.com/2017/09/24/game-boy-advance-hiding-in-a-medical- device/)

<comment><USER4> Not to mention that programming on the GB/C is a joy. It is just C and if you are not using sprites there is not really any need for Assembly even.

<comment><USER5> Hell, programming in Z80 assembly is really nice on the DMG/CGB. Although I suppose that's more due to the fact that RGBDS is a really nice assembler.

</comment></comment></comment></comment><comment><USER6> Wonderful. Nintendo also planned a knitting machine peripheral for the NES, but unfortunately it never released: [http://ca.ign.com/articles/2012/08/31/nintendo-almost- made-a...](http://ca.ign.com/articles/2012/08/31/nintendo-almost-made-a- knitting-add-on-for-nes)

</comment><comment><USER7> Does anyone know what the heck is going on with Tumblr's GDPR implementation? I get the "please accept being tracked or click here to change your settings" page. Then I opt-out of tracking (which is already against the GDPR, as you have to opt- _in_ but whatever), save my options and get the same "accept being tracked" page with all my settings reset! I'm using stock chrome on stock android.

<comment> vertex-four Tumblr's parent (Oath, owned by Verizon) are basically using their power to attack the GDPR by putting up what is an unnecessary roadblock to people refusing to consent to their unnecessary tracking, in addition to dark patterns in actually disabling tracking.

<comment><USER8> That sounds like a quick way to get hit by a big fine from the EU - I'd probably attribute this to inconpetance rather than malice.

<comment> vertex-four There's a lot of companies that are currently attempting to skirt the GDPR, and are more likely than not failing to meet its requirements. There is very little technical guidance from the regulators right now on what they require from a consent dialog (what UI patterns are allowable, what are not, etc), and businesses like Oath that make their living off collecting and processing user data without consent are not going to change their business model without a fight - which will be dragged through the courts over the next few years because of the power involved on both sides.

</comment></comment></comment></comment><comment><USER9> Relevant video: [https://youtu.be/ykRmzS-FYSQ](https://youtu.be/ykRmzS-FYSQ)

<comment><USER10> This video was a lot more informative (and corrects some of the misinformation in the linked tumblr which states that Singer had the idea to develop it)

<comment><USER11> Her investigation was very thorough. I was impressed.

</comment></comment></comment><comment><USER12> The Gameboy has a (mostly) Z80-compatible CPU, used in all sorts of embedded applications: [https://en.wikipedia.org/wiki/Zilog_Z80#Embedded_systems_and...](https://en.wikipedia.org/wiki/Zilog_Z80#Embedded_systems_and_consumer_electronics)

<comment><USER13> some peeps on IRC say the atmega328 is a z80 successor, and with esp8266/32 you can get high performance too (;)

</comment></comment><comment><USER14> > it's actually the first commercially made computerized machine available for > the domestic market.

Not by a long shot. There were plenty of home machines in the 90s that did programmable decorative stitching as well as full embroidery.

</comment><comment><USER15> Aprilia, the motorcycle company, did this too! They built a programmer cartridge for the RS50 scooter that allowed mechanics to derestrict the scooter's performance: [https://www.youtube.com/watch?v=XXK8NHum4Zw](https://www.youtube.com/watch?v=XXK8NHum4Zw)</comment>


USB-C Brain Reader (Magnetoencephalography by the Pond) - <AUTHOR> https://journals.aps.org/prapplied/abstract/10.1103/PhysRevApplied.14.011002 <comment><AUTHOR> Preprint: [https://arxiv.org/abs/2001.03534](https://arxiv.org/abs/2001.03534)

The papers describe a new magnetic field sensor that can measure Brain signals. What's new is that you can do it without a million dollar shielded room. It's just powered by USB-C on a MacBook.</comment>


Ask HN: Cheapest way to include an interactive map? - <AUTHOR> I want to build a web-app which is based on a map, where users can mark certain locations. However, my impression is that services like MapBox, or Google Maps API are extremly expensive and overpriced. Is there a cheaper alternative? Maybe selfhosting? <comment><USER2> If you want to try your hand at self-hosting - which unfortunately still comes with a steep learning curve - try: [https://switch2osm.org/](https://switch2osm.org/).

It is possible to simply reuse OpenStreetMap's TMS with OpenLayers or Leaflet (both JS Frameworks) but their service is rate limited for obvious reasons.

Which means you need to decide depending on your use case. It sounds though like it's a core feature of your App.

</comment><comment><USER3> Here offers a freemium plan: [https://developer.here.com/plans](https://developer.here.com/plans)

Disclaimer: I work at Here

</comment><comment><USER4> Try [https://www.openstreetmap.org](https://www.openstreetmap.org) it's free.</comment>


Silk Road Judge Won't Reveal Witnesses Because Ulbricht Could Have Them Killed - <AUTHOR> http://www.wired.com/2014/12/silk-road-judge-ulbricht-could-kill-witnesses/

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


LibreOffice: cleaning and re-factoring a giant code-base [video] - <AUTHOR> https://fosdem.org/2013/schedule/event/challenges_libreoffice/ <comment><USER2> "Come and hear how we've built an international team of developers to tackle the problems of resurrecting a poorly-understood, gigantic code-base extensively commented in German, with no unit tests, a tangled build infrastructure, and twenty-five years of un-paid technical debt."

Looks like a project I worked on. It's eerie how similar it is (and no, it was not an office app, it was something different).

At least the comments weren't in German, but there were a couple of ones in Dutch. (Not that the comments were of any help)

No unit tests: CHECK. Twenty-five year of technical debt, CHECK. And now we're supposed to make it work in a different platform

So thank you, but I don't plan on touching a monolithical piece of old C++ ever again. Not even with gloves.

<comment><USER3> It's doable.

Start by adding integration tests, then (try to) identify the core of the project and isolate that in its own sub-project in the repo. Add unit tests for the functions in the core and then split the remainder into parts that are peripheral and that could be removed/disabled. (say a spellchecker). Next up re-factor the core until you're happy with the state of affairs, but keep the interface the same. If there was no interface to the rest of the code then you'll need to define one and implement that as well as changing the peripheral code to use that interface. Then look at each peripheral piece and decide if it is worth saving, needs rebuilding or refactor it as well.

The basic trick is to reduce scope until a subsection of the work becomes tractable.

With a really large project this is a multi-year effort with a team of seasoned programmers, it's hard and it means that while you do it there will be no honoring feature requests. You need management buy-in, patience and perseverance but that goes for any large effort.

Building fresh and green stuff is obviously much more fun to do but taking an old codebase and making it nice is (to me, at least) just as rewarding.

<comment><USER4> I find this argument smells of rationalisation to me: You admit yourself that building new stuff is much more fun. Say making an old codebase is "just as rewarding" but in order to actually understand all the legacy you need to put in 2x (or whatever the amount) of work that you'd need to build a new thing. Wouldn't you want to build 2 new things instead?

I could never imagine someone on their own accord, going by themselves into a 30-year-old codebase and refactoring it, just to make it "look nice". On the other hand people constantly build new stuff (too much of it really). I think it would be fine to admit that working on new code is more desirable than working on old code. Sometimes the latter needs to be done, but I think most programmers are happy to avoid maintenance work when they can.

<comment><USER3> Building something new is more fun in the beginning. Refactoring an old codebase and making it fly is rewarding when you're done. This is _not_ about cosmetics.

Both are fun, assuming you stay in long enough the first will at some point turn into the second, no matter how well your intentions were at the beginning ('this one will be different, this time I'll get it right').

<comment><USER4> Yeah but programmers are generally not bound to a codebase for life. A friend of mine who works at Google says that he generally works on projects in the "do it new and figure out what it needs to do" phase, while there's other engineers at Google who are very good at the maintenance phase and "keeping stuff running and adding slowly to it". I think that's a very nice way of wording it, but I'd definitely want to see myself in the former group, not the latter.

<comment><USER3> > Yeah but programmers are generally not bound to a codebase for life.

If you're young I can see how you might have that impression. But I know quite a few programmers personally that have been working on the same codebase for more than a decade, and even a couple that have been working on the same codebase for 3 decades.

The web is still young enough that most people that came into programming through building websites have no idea how long most code bases are alive.

There is a neat little proverb here: programs are like children, you can start one in an evening but you'll end up supporting it for the rest of your life.

<comment><USER4> Not arguing against the fact that old codebases exist and that people have to take care of them.

However I don't agree with glorifying old codebases or putting them as "equal" to working on new stuff. If you're happy doing that, then fine, no one's going to stop you from doing it, but I do think that in general, given the choice, almost anyone would pick building something anew over working on a legacy codebase.

<comment><USER5> The neat thing about old codebases, is that even if the code is messy, the problem it solves can be very interesting.

"Legacy codebase" is another word for "important codebase".

When you're coding, you solve the most important problems first. Thus, in some sense, the older the code base, the more important the problem it solves.

<comment><USER6> And sometimes the code is actually quite good (not saying that's the case in LibreOffice, I have no idea).

<comment><USER5> Agreed. I often stumble across some project written in the 80's and think, "wow, that's so much clearer than my code".

We have a lot more tools than programmers did back then, but tools are incapable of long term thinking.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> LibreOffice needs some UX/UI volunteers, bad.

<comment><USER8> Not only LibreOffice, this is somewhat a general sentiment I have about most Open Source Software. If I were a designer I'd love to be part of such an important project like this.

I don't get why designers are always doing stuff like redesigning website X for free, without being asked to, but miss great opportunities to be in the spotlight by participating in projects like GNome, KDE or the likes. There are many examples of good OSS projects that could use some UX/UI love, one that comes to mind right now is Moodle, for example.

Is it designers that don't like to participate in OSS? Are programmers making it harder for them to join these type of projects or is simply the fact that they don't bring to much excitement or challenge to the design community?

<comment><USER9> >I don't get why designers are always doing stuff like redesigning website X for free.

Simple.

Because if they did assist with FOSS projects much of the time they would be dealing with developers who (a) think they know what users want better (b) have no respect for designers and (c) believe obscure feature X is more important than UI.

Remember this is the same group of people e.g. on Slashdot/Reddit who think the iPad is an overpriced toy and think people are sheep for buying it.

<comment><USER10> After the GNOME 3 disaster, it's understandable why many developers within the open source community have become skeptical of designers and their contributions.

Within a single release cycle, these designers managed to destroy what was once among the most vibrant of all open source projects. The existing GNOME users have been alienated by the absolutely horrible UI. Among their ranks were many good developers and other contributors, too, whose absence now prevents the project from recovering. A large portion of these users moved on to KDE or Xfce, rather than MATE, causing further harm to the GNOME project and community.

There are other cases, too. Windows 8 and the UI changes starting with Firefox 4 are other recent, and major, examples of the work of designers going terribly wrong. The end result is software that is nearly unusable, or much less usable than previous versions.

The skepticism you describe is very well earned and deserved.

<comment><USER11> This neatly illustrates another problem with redesigning popular software: no matter how much time you spend, no matter how beautiful you make the design, the people who're already using it are used to its current layout, and don't care about learning a new interface.

If you could give people a completely fresh, unprejudiced choice between Gnome 2 & 3, Windows 7 & 8, or Firefox 3.5 & 18, I bet many of them would choose the newer version. I don't think (most of) these UI decisions are objectively bad, and over the long run they might even pay off. But when the user upgrades and suddenly can't see how to make it Frobnicate, they get angry.

<comment><USER12> After you've learned hundreds of interfaces over 3 decades, you learn that newer can be, but isn't always better. So when I see YAIR, (Yet Another Interface Redesign), I get a case of deja poo, (I have seen this shit before).

</comment></comment></comment></comment></comment></comment><comment><USER13> Going through some of the discussions and views and opinions on legacy code rewrites, I thought I should provide another relevant reading warstory:

An oldie but a goldie: <http://www.joelonsoftware.com/articles/fog0000000069.html>

_EDIT_ While I was reading the thread, it appears @jodrellblank had also posted it in the discussion elsewhere in the thread.

</comment><comment><USER14> I was talking to a friend about "legacy code" the other day and I realised: the company that's going to put you out of business won't have any legacy code.

I think you need to have a really good excuse not to completely rebuild your product from scratch every now and again. Because if you don't, someone else will.

<comment><USER15> OTOH, the greatest asset you have competing against the company that's going to put you out of business is your legacy code.

Every line in your legacy code is there for a reason. Sometimes the reasons are bad, but often they're there because of some very valuable lesson you learned from a customer, a mistake you made that your competitor is also likely to eventually make. Throwing away your legacy code means that it's likely you'll make the same mistake again.

<comment><USER16> Legacy code will also tend to have had many of its bugs ironed out, since it's been in operation for so long. New code will have a whole new set of coding errors hidden in it, and you'll have to go through that ironing-out all over again.

<comment><USER17> I think this is a crucial point we all overlook in our rush to throw out the legacy code and 'do it right this time.' We're thinking, 'but we'll have unit tests so we'll catch the bugs.' But in reality, some get through and they tend to be a real pain in the ass.

I know this probably means that I don't unit test right. It also obviously means I don't code right, because I have bugs. The point is, these are facts of (real) life, and to be successful you have to manage the reality. Often this means that the best course of action is to stick with the legacy code.

<comment><USER14> You'll have bugs either way. That's a fact of life, and the vast majority of a developers time will always be spent debugging.

What legacy code does is inhibit your ability to make the fundamental changes you need to implement in order to stay competitive. And I'm not saying throw you code out every other week. And I'm not saying every attempt to rewrite your product should replace what you already have. But the for all the costs associated with re-writing your product, they pale into insignificance when compared to being put out of business.

<comment><USER16> It should go without saying that fewer bugs is better than more bugs, though.

I'm not saying you should never rewrite a system from scratch. But I do think it's extremely costly to do so, and that it's extremely difficult to predict when you'll be driven out of business if you don't. So I don't think it's usually justifiable.

I'd be very interested if someone could supply an example of a company that was put out of business because they failed to re-write their product.

<comment><USER18> If you already saw a threat, then by the time you finish re-writing it, wouldn't you be dead?

<comment><USER17> Depends how well you can see the threat horizon.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Are the LibreOffice and OpenOffice teams working completely independently? If not, it sounds like a lot of redundant effort is going to take place.

<comment><USER20> Given their licenses, LibreOffice can incorporate any code written for OpenOffice into their project, but OpenOffice can't use any of LibreOffice's code.

</comment></comment><comment><USER21> I think all good developers have their connotations and anecdotes for words like 'poorly-understood', 'gigantic', 'no unit tests', 'tangled build infrastructure', let alone '25 years of technical debt'.

What I was surprised to see is the word 'resurrect'. As if they wanted to imply LibreOffice was dead.

<comment><USER22> Well, I think many developers know the feeling when working with a codebase which just feels like riding a dead horse...uphill, both ways, in the cold...and when you manage to refactor _some_ part it starts to feel like it gets up on one leg and so on.

</comment></comment><comment><USER23> I wish this was available written instead of as low-bandwidth video.

</comment><comment><USER24> I loaded a self-written novel (about 260 pages) into LibreOffice and went to Print Preview and it hung.

Loaded it into Office and it worked fine.

<comment><USER22> So what?

<comment><USER24> Obviously, because it simply doesn't work as it should.

</comment></comment></comment><comment><USER25> they just need to focus on speed/performance thats the only thing missing on openoffice/libreoffice its slow... painfully slow!

<comment><USER26> It's not the only thing. The UX and UI itself is very 'old-school' and IMO very outdated. It's like using Windows 3.11 instead of Windows XP, let alone Windows 7/8.

</comment></comment><comment><USER27> link to slides please?

</comment><comment><USER28> I tried watching the video, but it had no information. Not a drop of code or an ounce of strategy. It was just a status report.</comment>


How the Virus Won - <AUTHOR> https://www.nytimes.com/interactive/2020/us/coronavirus-spread.html <comment><USER2> It seems the most probable outcome is that most Americans will be exposed eventually. There's just no available measures that will now stop its spread. Cities that unknowingly already had widespread infections were too late to lockdown. And those which hadn't yet experienced major outbreaks reopened too soon.

<comment><USER3> It's really a question of rate of spread v. vaccine availability.

If a vaccine really does become available in early 2021 then there is value in slowing the rate.

</comment></comment><comment><USER4> I have played 3D games in my browser with more frames per second and nicer control scheme. What were they thinking?

</comment><comment><USER5> This page crashed my browser!</comment>


Cutback in H-1B Visas Did Not Raise Employment for Natives - <AUTHOR> https://www.nber.org/digest/dec17/w23902.shtml <comment><USER2> >"Since the cap was tightened in 2004, firms hired between 20 and 50 percent fewer new H-1B workers than they might have hired had it remained at 195,000 visas per year."

> "The researchers find, however, that the reduced pool of foreign workers did > not lead firms to hire more Americans, and conclude that this suggests "low > substitutability between native-born and H-1B workers in the same skill > groups."

</comment><comment><USER3> Note this:

"On the employer side, the lower cap favored larger firms with greater experience navigating the bureaucracy of the visa program and with in-house legal teams that could handle the paperwork...

... Smaller firms simply could not afford to spend money applying for visas when they were not sure whether they would obtain one."</comment>


IOS App's mission is to provide secure communications that Leave NoTrace.  - <AUTHOR> https://www.mywickr.com/ <comment><USER2> "sender-based control over who can read messages, where and for how long"

So does this somehow stop me screenshotting the messages? And even if it does, can it stop me taking a photo of the message displayed on the screen with another camera?

I see people promising this every now and then - it just loses them all credibility on my mind...</comment>


How I got a burnout - <AUTHOR> http://chriseidhof.tumblr.com/post/9667398258/how-i-got-a-burnout <comment><USER2> Burnout is real. It is dangerous. I try to address burnout by doing other activities, such as acting/long boarding/creating web comics (toblender.com).

A friend told me that Henry Ford was the one who established the 40 hour week. This was not because he was kind, it was because anything over 8 hours a day produces diminishing returns.

I think I'm in a bout of burnout right now. I've opted to work a full time contract, to fund my startup, while burning midnight and weekend oils for my startup. I think a vacation, of simply doing NOTHING would be a good idea.

They bring up this point in the book "7 habits of highly effective people", you have to take time to sharpen the saw. Or you'll be wasting a lot of effort hacking away with a dull blade.

<comment><USER3> You can read here about Henry Ford and the 40 hour work week - <http://www.worklessparty.org/timework/ford.htm>

For knowledge work though, the studies I've come across seem to suggest that a work week of 30 hours would be ideal. You can read this article about how Kellogg's actually had productivity go up when moving to a 30 hour work week - [http://findarticles.com/p/articles/mi_m1093/is_1_42/ai_53697...](http://findarticles.com/p/articles/mi_m1093/is_1_42/ai_53697784/)

Financially independent authors have also been known to just work 4 hours a day on their writing and then use the rest of the day for leisure and re- cooperation.

<comment><USER4> I think most knowledge workers only have 4 hours of productive work a day, if you don't count screwing off on facebook or hn or what have you.

30 hours, I think, is a good expectation of a salary worker, assuming they work for most of those 30 hours.

</comment></comment></comment><comment><USER5>
         building something similar to Ruby on Rails
         << in Haskell >> is not that hard

Actually, yes it is.

You may be able to build something similarly productive, but Rails cannot be replicated in part or in full in any statically-typed programming language, especially one that doesn't allow runtime introspection.

To me, the author's problem is that instead of working on cool projects that bring him joy and/or money, he instead went on to chase wild geese. And building yet another web framework by copying what's already done, reinventing the wheel for the N-th time in history, that's not fun. Building iPhone projects, on the other hand can be quite fun, not to mention something you can sell.

Stop chasing for the ultimate, mythical, most awesome programming experience and start doing practical things that you can finish. Compromises are a big part of that.

<comment><USER6> The problem the author probably had (and one I've experienced at times) is that those "cool projects that bring him joy and/or money" are not very cool. Unfortunately, web programming is boring. And easy. And lucrative. This means that you may not enjoy your RoR apps, but you have to do them because your more challenging projects aren't immediately monetizeable.

 _Building iPhone projects, on the other hand can be quite fun_

This is where I think we may disagree. Fundamentally, most iPhone projects are too easy to be interesting. It's like chopping wood all day.

<comment><USER7> It may be easy in the purely technical sense, but that can be exactly the thing to afford you a view into the other aspects of making and selling software beside the programming (design, marketing, etc).

You might even learn that the coding is indeed not the hardest part of making a living off of your own software projects :)

<comment><USER6> That doesn't mean I'll get any more enjoyment out of it. My parents are both physicians -- I know their job is very difficult. Medicine, however, doesn't appeal to me. What does is hard technical problems.

</comment></comment></comment></comment><comment><USER8> I like how we use the word "burnout" in place of the word "depression". When you're depressed, even the things that you used to love doing become chores.

Taking a vacation isn't the right answer to depression. You have to identify and attack the causes straight on. (Or find some drugs and idle the rest of your life away.)

<comment><USER9> doc here. Burnout != depression. I appreciate you're trying to understand the difference, and I'm glad you've thought about it a bit. Please read <http://en.wikipedia.org/wiki/Dunning-Kruger_effect>, and I encourage you to keep reading on your own and try to ask more questions.

</comment></comment><comment><USER10> I have burned out before. I dealt with it with a combination of vacation (only had 2 weeks) and just slugging through the days until it got better. My code was crap during that time and everything suffered for it.

At that company, they had burned out every single developer they had ever had. I signed on as a junior programmer and ended up doing senior level things in the first month... Alone. No help. (They did give me amazing raises to compensate for this, so I'm not complaining.)

But eventually, they managed to burn me out, too. But instead of quitting, I just kept at it.

The result is that I'm now much less likely to burn out again because I have seen what it's like to code-like-a-crazy-man, and code-like-a-depressed- monkey. And I can balance the 2 enough to make sure I never hit either extreme again.

</comment><comment><USER11> I am really grateful that I had great friends who were able to notice when I was totally burning out.

They talked me into taking some time off to go on a road trip with them and pulled me out of a dark and ugly hole. I had to deal with the wrath of the boss when I returned, but getting out of the hole gave me the right perspective to look for something much better. I was out of there within a few weeks.

Cheers to great friends! And, please don't forget to be one.

</comment><comment><USER12> I find this post a bit too anti-climax. I was hoping to hear a longer story for the first part, at least. Well I'm looking forward to the second part!

</comment><comment><USER13> You "hand in" you thesis and are graded 8.5? What did you do before then? Did you ask your thesis advisor for feedback while working on it? Did you study previous 9.0 theses and compare yours? How did you track that you were on the right path to meet your goal?

"Set direction, work without feedback or correction, surface for air at the end" is not a suitable methodology for success.

<comment><AUTHOR> I did talk with my thesis advisors a lot, and thought I was on the right track. In hindsight, I wasn't. I blamed them for it, but eventually realized it was my fault in the end.

</comment></comment><comment><USER14> This doesn't really explain 'how' you got burnout. What was the reason?

</comment><comment><USER15> I worked for a startup that got acquired a couple years ago. The acquiring company means well but it's nowhere I would have ever applied to, if you know what I mean.

Thing is, it just wouldn't make financial sense to leave. I have to stay until I'm vested. Nowhere else would come close to making that up.

I took a road trip with my family this summer, hoping it would relieve the burnout. We had a brilliant great time driving across the American Southwest.

Coming back, burnout is worse. I find I care even less. I find myself avoiding major projects and looking busy. I'm nudging features and scope in ways to most minimize my effort. I worry that I'm gonna get warped and dull. What's gonna happen by the time I am fully vested?

<comment><USER16> I've had that happen before.

Generally, I find I have two types of burn outs.

One is where I am just tired of coding. With those, I focus on being productive during the day. Sometimes, work on improving my diet since I find that influences my energy level and my mood. Beyond that, will leave work at a reasonable time and just not even open my laptop at home and stay off it as much as I can on the weekends. Go out and do other stuff.

The other is more around burnout on the project I'm on. With those, I try to have little personal side projects. Either some idea I had, new technology I want to try, etc. Nothing too big and crazy, but some coding I consider fun and look forward to doing. With that, I find I'm still productive during the day and have my side stuff at night, and then make it through whatever boring project phase I'm in and then looking forward to the next one.

</comment></comment><comment><USER17> My mom is a burnout. She is no longer capable of working at all. She can fulfill tiny things at home for a short period.

We canceled many vacations because of her burnout. So treat it serious, because it can cost you your career and will control your life!

</comment><comment><USER18> As others have stated, it happens to all of us. I think one has to learn how to take breaks often. The world is not gonna fall apart if you take a week off every once in a couple of months to let go of your computer and snooze on a beach somewhere. Also as one other person posted, sometimes what you perceive as burnout may be clinical depression...but from the way the poster was talking about it sounded more like job dissatisfaction than depression.

Also, it depends on where you work. You have to enjoy the team you're working with and you have to enjoy the work you're doing. Sounds like a big part of it for the submitter had to do with the language in which they were programming. That's a big deal to a lot of programmers. Programming is an art! If an employer or project requirements forces tools upon you that do not jive with how your thoughts flow, not surprising you're burnt out. Do what you love, tons of companies that use Haskell...even ones that use embedded computers. Also sounded like the submitter was enjoying their academic career as a Masters student. Perhaps going down the academic route is a better option. In summary, do what you love!

</comment><comment><USER19> What would you call if you are not "burned-out", but rather you hate the drudgery of work day-in day-out, know that you are not giving 100% and don't have the energy to put in that level of effort..what would you call that ?

Would "unmotivated" do ? I don't think that is the right word, since I know the feeling and it's not just a matter of all-you-got-to-do is get motivated....

<comment><USER20> The start of burn out.

</comment></comment><comment> g-garron There is one important fact in our life.

We've got to love what we do, to do it right. Otherwise it won't be possible to have the job well done.

It may be done with no errors, but without the passion, it will never be the same.

If a good chef enjoys what he is doing he becomes a "great" chef.

Anyone in your situation, needs to look a way to change, the direction of his life.

</comment><comment><AUTHOR> Normally I would reply quickly to the discussion, but I probably won't before tomorrow morning, sorry for that.

</comment><comment><USER21> I had my worst burnout symptoms at a 9-to-5 job after I sold my first startup. That's how I realized I'm an entrepreneur. I left the job and the lockup shares, and have since been happy, sometimes rich/stressless sometimes poor/stressed, 24/7 startup kind of guy.

</comment><comment><USER22> Sorry to hear that this guy did not make his dream grade. A lot of us have had that experience where you don't get the job of your dreams or get into the university you love...

This is common and part of life, but if every time you fail, you give up, then its not productive.

Recently, I have been thinking that no specific job can define you as good or bad programmer. No school can really define how intelligent you are or how much passion you have for a topic. These institutions can help you discover them but a lot relies on you to really make it happen.

All the best to author of this article, I really hope he breaks out of this low and gets back to doing what he loves.

<comment><USER23> You missed the point

</comment></comment><comment><USER24> A bit off focus, but I always find it odd when people declare they would prefer to code in x because it is more beautiful, more y, or more z.

Languages are tools, we should select the right one for the job and use it as such.

</comment><comment><USER25> Burnout is very real, happened to me before. You need the vacation time to decompress. The thing is, you can't take vacation time when you're leading a startup.

</comment><comment><USER26> So you got burnout. Boo Hoo.

Part 2 should be in on page 2, not "some time later on", I won't be back, the story is not that interesting sorry!

</comment><comment><USER27> There _might_ be physical reasons behind burnouts.

A personal example -- a simple bacteria infection in a tooth, which didn't give any normal problems like pain etc. Allergies can make you tired -- and some (well, at least mine) food allergies won't have much throat effects, which makes them hard to identify yourself.

So check up on physical health, too.

</comment><comment><USER28> this post is so sad..... :D

</comment><comment><USER29> This is how I got a burnout: [http://a5.sphotos.ak.fbcdn.net/hphotos-ak- ash4/228173_101502...](http://a5.sphotos.ak.fbcdn.net/hphotos-ak- ash4/228173_10150250845881311_539446310_9291499_5190914_n.jpg)</comment>