What do you use for site coding, FTP, and file management? Suggestions? - <AUTHOR>

I use Dreamweaver and hate it. It's bloated and slow, it has far too many features that I never use. Basically I am looking for code-coloring/view, file management and FTP. What are you using? <comment><USER2> (OSX) Textmate and Capistrano, aside from that I usually SCP files but if I have to use FTP I use Transmit.

Use source control such as GIT, commit your work then its as easy as 'cap deploy' to send it to the server, no messing with files!

</comment><comment><USER3> Coda.

Hands-down it's the best text-editor I've ever used. But it's also an FTP/SFTP client. And it'll integrate with your version control. And it will provide you with a local console/SHH, CSS editor & browser preview (if you are a web- developer) and a small reference library built-in to the app...

In case you haven't noticed I really can't speak highly enough of Coda. And to make matters even better, if you have a bug: report it. Don't be surprised when you hear back from the developers the next day...

<http://www.panic.com/coda/>

<comment><USER4> I liked Coda, but I had the same problem with it that I have with pretty much every specialty editor on the Mac: once you've got your Emacs groove worked out, there's very little you can do to create a _serious_ value-add. I didn't find Coda so much better than the tools I already had to make it worthwhile.

I'm also not a huge fan of the Coda CSS editor, although modern browsers are quickly obsoleting CSS editors anyways.

<comment><USER3> I'll admit that I never actually use the CSS editor... I'm very comfortable writing my CSS by hand so I continue to do it like I always have.

As far as Coda vs Emacs... I think that's like anything else. I can replicate all of the functionality of Coda using GEdit + plugins on Ubuntu but it doesn't have the same feel of a beautiful, coherent, whole. I've never gotten into vim/emacs in particular as I'm a bit of a fan of nice GUIs.

</comment></comment></comment><comment><USER5> Emacs

Subversion

Rsync

\</comment><comment>-----

 _Emacs_ for a few general text editing tasks and all of my programming tasks (HTML, XML, PHP, Scheme, Python, etc...). I also use Subversion religiously and so should you (or any version control system); most editors/IDEs have some form of an integration plugin for VCS software to make it easy.

I'm not a big fan of FTP. It works well for "little" things, like pushing images up to a web directory or transferring tarballs from server to server. For my web application projects I use _rsync_ exclusively - I just have a little deployment script that I run and it takes care of pushing all the files up to production/development/sandbox wherever. Rsync will only move files that don't exist or are "different" from the source, so it is very efficient especially if you make changes to other files down the road so I don't have to hunt and peck for which file I changed or upload the entire project all over...

Also, nothing beats a _consistent_ , cogent, and lucid directory structure and file naming conventions. Clear thought process = clear work process.

</comment><comment><USER6> (OSX) Textmate is a good text editor if you don't need wysiwyg editing. Coda might be a good alternative if you do.

Cyberduck is a good ftp/ssh over ftp/file client.

For sure use some form of source control to manage files. ( I don't care what you use just use something. Subversion is ok. Git and Mercurial are nice too.)

My preferred method for updating a site is to checkout/clone from source control to a new location in your websites hierarchy and then create a soft link to the new directory. Scripts can automate this process.

ln -si /var/www/mysitecheckedoutfromsourcecontrol /var/www/mysiterootsetupinwebserverconfig

After that, If you have problems with the new site, you have a simple one line command to revert the site back to a known good point in time. All you have to do is relink it to the old site and you are off and running.

ln -si /oldsitepath /var/www/mysitesetupinwebserver

</comment><comment><USER7> emacs has a nasty learning curve but it is incredibly powerful and integrates very well with most languages. (im not religious, vi is probably just as suitable)

I would also look into deploying your site via whatever vcs you use as opposed to through ftp, it forces you to keep everything inline

<comment><USER5> I actually shy away from using SVN's update to push files to production or development; primary reason is I don't like my entire code history sitting in my public root...

Generally, I prefer rsync. Rsync can exclude all of the .svn directories so you are pushing the latest working copy and it also only pushes files that are new or have been changed on the source machine.

You can easily write up a little deployment script that you run when you are ready and up you go; it does many of the same things (exception being _delete_ ) that Subversion's update command does for you.

Because I use rsync with a shell (rather than it's daemon process), I generally have a passwordless private key to the server so rsync can run without constantly asking me to authenticate.

<comment><USER7> I generally use svn export as opposed to an actual working copy

</comment></comment></comment><comment><USER8> When I'm working on Windows, SmartFTP is my favorite FTP client. Along with UltraEdit, it's one of the few commercial utilities that were worth paying for.

You'd think that the free FTP utilities would be good enough, but SmartFTP has so much polish and so many small enhancements (especially when it comes to handling multiple connections, auto-resume, remote file editing, transfer queuing) that it blows everything else away.

That being said, I'm still on version 2.0, while the current release is 4.0. I can't comment on how much better or worse it's gotten.

</comment><comment><USER9> I'm a huge fan of UltraEdit (<http://www.ultraedit.com>). I've been using it for years and I like the ability to browse any of my (S)FTP sites and make tweaks quickly. My main day to day work is in Visual Studio so I don't use it as my primary editor but when I do work on legacy ASP, PHP or any other kind of text (or binary) files I use UltraEdit. I'm especially happy because they just released the first version of UltraEdit for Linux (and soon OS X).

</comment><comment><USER10> editor: vim FTP: FileZilla file management: combo of VCS rsync

Editor: Substitute your favorite lightweight, powerful editor for vim. Emacs and textmate are good choices, I hear. I stuck with vim and am quite happy, because using the mouse or arrow keys feels like so much effort. I don't like the heavy meta key dependence of Emacs: most of the people I know who use Emacs have special keyboards, whereas I'm very comfortable using my notebook keyboard for vim. Haven't tried Textmate because I run Ubuntu, but Mac people give it a lot of praise.

FTP: I actually use FTP very sparingly, mostly for clients that have no idea what a VCS is, or have FTP-only access to their server. If I just need to upload miscellaneous files, like images etc., I'll scp or rsync from a shell. But FileZilla is pretty good, and it's cross-platform.

File Management: rsync for very large files (media stuff), giant tarballs, or stuff I don't like to keep in the VCS, like config files with secrets. Otherwise, I use whatever VCS is appropriate for the project, which is usually Subversion. I use Git when I have a choice.

</comment><comment><USER11> I use Eclipse for all my editing.

My deployment method is to commit to svn, then svn update on the server (plus a script to move the current live site to a backup location in case I need to roll back). This is faster than FTP and means I've never, ever launched code that I haven't committed. Even on a one-man project that's useful.

</comment><comment><USER3> +1 for Dreamweaver being awful. I have to use it so that the content editors at my workplace can use it too, but that doesn't stop me from wondering how on earth so many obvious bugs make it into the release version of Dreamweaver...

Adobe, if you're listening at all, start again from scratch. Make something actually good!

</comment><comment><USER12> Combinations of Visual Studio, Notepad++, Team Foundation Server, Subversion, and FileZilla (all depending on which project I'm doing).

</comment><comment><USER13> Komodo Edit: <http://www.activestate.com/komodo_edit/>

</comment><comment><USER14> TextMate and Subversion, with a post-commit hook that updates a checked out copy on a staging server.

<comment><USER5> That's my process too, only, we have four different remote sandbox servers... I wrote a python script that sends out notifications to the sandbox servers to svn up when the post-commit hook is run.

</comment></comment><comment><USER15> Visual Studio and the Publish button

</comment><comment><USER16> ssh & vi, svn to keep me sane :)

Call me old fahsioned...

On a java project I work on I use intellij, and I hate every second of it. The amount of (external api) stuff to remember is simply too large to commit to memory though.

</comment><comment><USER17> 1\. ssh access 2. Expandrive (mount ssh connection as a drive) 3. notepad++ or textmate

<comment><USER18> i use sshfs as a way to mount a drive over ssh on ubuntu

</comment></comment><comment><USER19> PhpED has been my favorite environment for a while, although it is commercial.

</comment><comment><USER20> Textmate, Cyberduck, and SVN.

</comment><comment><USER21> editplus, fireftp, explorer

Fireworks CS4 for graphics editing and splicing

</comment><comment><USER22> Notepad++/Filezilla for SFTP

</comment><comment><USER23> Coda, Transmit, OS Finder.

</comment><comment><USER24> Codewright, rysnc, cvs.

</comment><comment><USER25> expandrive for SFTP. People really still use regular FTP?

<comment><USER4> There are decent reasons for avoiding SFTP; regular FTP + VPN is more secure. Neither of them are as good as a trivial web app that will accept authenticated uploads and unpack them for you.

</comment></comment><comment><USER26> can try notepad++

</comment><comment><USER27> Aptana

</comment><comment><USER28> jedit

</comment><comment><USER29> vim and ftp. Don't need anything else though FireFTP on Firefox is good. Don't have a suggestion for file management other than rsync.</comment>


I want out of Windows patch hell - <AUTHOR> http://www.computerworld.com/article/3128145/security/i-want-out-of-windows-patch-hell.html <comment><USER2> The only path out of Windows patch hell is Linux and Mac OS. If you're not already migrating every app you have to the web you're either a masochist or delusionally thinking Microsoft is still focused on delivering a decent desktop experience.

For the latter group I have news for you: Microsoft is going "all in" with their "services" strategy. Operating systems and fat client software don't exactly fit neatly into the "service" model.

The future of Microsoft is as a competitor in a commodity cloud services market. The thinking is that they can provide value in the form of commercial web applications like Office 365. In other words, they think they can do a better job than Google and Zoho at serving _enterprises_ things like email and spreadsheets.

You know what? They just might be able to do a better job. Especially if they actually put in some effort into supporting non-Microsoft platforms (e.g. web browsers other than IE on platforms other than Windows). They also have to a long way to go in terms of _federation_ so businesses can work with each other without compromising security.

In the end though, I think it is pretty clear that Windows isn't going to be Microsoft's focus anymore. I expect they will allow the platform to slowly erode away, collecting as much revenue from it as possible while converting their business to services.

</comment><comment><USER3> Patching on Windows 7 is just as bad.

I let my Windows 7 PC go several months without updates, because it seems like no matter how many I did, there were always more when I restarted. So I finally had a brief scare with a file (opened up something inside a rar package that was disguised with a .jpg extension but was an exe) and decided I needed to get up to date.

It took _a week_ of updating before my damn computer was done with them. I had over a hundred packages to install, but I wasted several days where they would show as being available, yet when I would try to download them, the progress bar sat at 0% for hours without ever moving.

A few days of googling and trying again, I finally got a few "roll-up" patches to install (which still required leaving the computer alone for 24 hours, mind you), and _then_ I was able to actually get the rest of them to download. Restart and all is well, right? Nope. As soon as they were done and I restarted, I was informed that I had a dozen new ones to grab. Download, install, restart. Rinse, repeat. At least four more times. It was absolutely ridiculous.

</comment><comment><USER4> His characterization of Current Branch for Business (the 'Defer Upgrades' toggle in the Update settings pane) as blocking security upgrades for a year is a bit off the mark.

CBB defers major feature upgrades, like the Anniversary Edition which started rolling out recently, but you continue to receive updates for the build you're on -- including security updates. You'll eventually receive major upgrade build N when build N+1 has rolled out to consumers, and when N+2 rolls out, N becomes unsupported.

This option is only available for Pro and above, so Home users are essentially stuck in permanent beta-testing mode.

</comment><comment><USER5> It's funny, we expect "undo" features in our applications these days, why shouldn't the OS and indeed the entire machine's state be treated the same way?

I used to think that virtualized Windows guests would eliminate the need for wine. I have XP and Windows 7 VMs around precisely for games or the few applications I use that aren't wine-friendly. Over time my usage of wine has dropped to the occasional Play on Linux game.

But part of what makes those VMs so robust is that 1) they're normally disconnected from the internet, and 2) I have developed a habit of saving my work to a shared folder so that I can reset a machine's state to a few days previous at the slightest sign of trouble. For applications that require access to the internet, however, wine may be our last, best hope of opting out of the Cortana Empire.

Historical aside: Before VM usage took off Robert Shingledecker and friends followed that reset logic to an extreme with the Tiny Core Linux project -- every time you start your machine you load a known-good kernel and apps into RAM, use the machine, and then let anything other than your data derez at the end of the session. You can get pretty good performance with that approach on older hardware that can't support virtualization. The downside is that your application choices are limited and dated when compared to mainstream Linux distributions.</comment>


America's Largest Unions Are Calling on the FTC to Stop Amazon - <AUTHOR> https://www.vice.com/en_us/article/ep45jm/americas-largest-unions-are-calling-on-the-ftc-to-stop-amazon <comment><USER2> I don't agree that Amazon is taking advantage of the pandemic - people were making similar claims about Amazon before any of that happened.

Wal-mart could ship me products and I would be happy to buy from them, but since March everything at Walmart has been pickup only or doesn't ship to my zip code (NYC), so I order from Amazon.

Target is even worse off - it's not that items are pickup only or not shipping to my zip code, they are simply unavailable.

So my message to Wal-Mart and Target is evolve or become the next US Steel.

Amazon built a logistics pipeline that fits in well with the new normal. Walmart built a bunch of super-centers that don't.

Spoils to the victor.

</comment><comment><USER3> Economic rights are rights too. The right to bargain collectively is extremely important and should not be restricted to those holding large amounts of capital.

</comment><comment><USER4> Why wouldn't Amazon pass through the French tax to French sellers and therefore French customers? I don't expect Frenchmen to pay my American sales taxes. The French taxes make Amazon less competitive against smaller competitors, as intended.

</comment><comment><USER5> Rent-seekers rent-seeking, more at 11.

<comment><USER6> At least unions grift to build a strong blue collar middle class. That raises standard of living and creates a strong consumer economy.

<comment><USER7> My perception is that, at least lately, unions grift to build a powerful (and therefore wealthier) union official hierarchy. (There was a day when they actually were for the blue collar workers, in practice as well as in theory, but that day is long gone.)</comment></comment></comment>


Sennheiser received a bailout loan worth over $2M - <AUTHOR> https://www.theverge.com/2020/7/6/21314768/sennheiser-ppp-paycheck-protection-coronavirus-pandemic-loan <comment><USER2> So what. Let's not rush to vilify companies for using a government program designed to promote economic stability. Would we prefer that companies don't use the money and risk closing, firing employees or cutting spending? All of those actions will result in economic contraction which will feedback on itself.

If the argument is really that certain companies taking money deprived other, more deserving, companies from accessing the help they need then 1. Say that, 2. Fix the real issues which are lack of funds or effective distribution of funds to the businesses that are under served.

The government did a phenomenal job given the circumstances and short time for implementation. It's easy to criticize after the fact but the results don't lie. There has not been a financial panic or mass bankruptcy yet. By all means let's support more effective actions, especially where gaps for individuals or certain types of businesses exist but stop trying to find villains to scapegoat because that distracts from the work of implementing new helpful programs.</comment>


Attorney general: "technological advances" allow criminals to "avoid detection." - <AUTHOR> http://arstechnica.com/tech-policy/2014/10/us-top-cop-decries-encryption-demands-backdoors

<comment><USER2> It's entertaining how they always say that this is to help with finding child molesters.

<comment><USER3> I don't find it so; that's a small but genuinely horrific social problem where law enforcement is quite justifiable. Some people see the state as a discrete actor engaged in a zero-sum game with individual libertarians, but it can equally be viewed as the delegated agency in which a supermajority have voluntarily pooled a portion of their individual sovereignty in order to procure those safeties which are a practical precursor to liberty. The production and distribution of child pornography is such a drastic abrogration of the subjects' liberties that we should be very honest about the cost of facilitating it even when that procures a substantial social benefit.</comment></comment>


Dollar stores are thriving – but are they ripping off poor people? - <AUTHOR> https://www.theguardian.com/us-news/2018/jun/28/dollar-store-ripping-people-off-poverty-inequality <comment><USER2> Dollar stores are frequently warned against on /r/Frugal

For a lot of food and kitchen consumables like aluminum foil or trash bags, they're a horrible deal. Things that aren't consumable such as utensils are extremely low quality and can even get rusty.

That all said, they're the BEST place to go for party favors. Gift bags and cards are $3-10 at Walmart. You won't find a bag with a Disney character on it, but the kids don't even notice or care.

</comment><comment> shady-lady I don't think it's a genuine comparison to compare 8 * small item to 1 * big item. Even in the same bigger supermarket, there's always going to be a substantial saving when buying a gallon of milk vs 8 individual cartons.

For food & veg, people are much better off buying smaller portions when they need them - even if that means paying a premium over what they would have paid if bulk buying.</comment>


WhatsApp's CEO Is Suddenly Leaving Facebook. It Could Cost Him $1B - <AUTHOR> http://time.com/5261207/whatsapp-ceo-jay-koum-exit/ <comment><USER2> > Koum's decision may be made easier thanks to the $10.4 billion fortune he's > already accrued, according to the Bloomberg Billionaires Index. He's already > sold $8 billion worth of Facebook stock since 2015, according to data > compiled by Bloomberg.

What's the point of FU money if you never say FU? Good for him.

<comment><USER3> On the other hand: if he could hold his nose and hang on for another 7 months, he'd make $1B, which, if he donated to a cause, could _really_ change things.

<comment><USER4> Lots of successful exits recently, many new millionaires and billionaires. Not a lot of causes changing things, at least not that I've been seeing.

I did see a homeless encampment get bulldozed the other day. The day before that I watched a Vietnam Vet take a dump on the sidewalk, we made awkward eye contact.

Not sure where all those billions are going but the "cause" does not seem to be moving forward.

<comment><USER5> > I did see a homeless encampment get bulldozed the other day. The day before > that I watched a Vietnam Vet take a dump on the sidewalk, we made awkward > eye contact.

Dude what state do you live in? I must live in a bubble over here...

<comment><USER6> Given that we're on HN and SF has notorious homeless problems, I'd say odds are high that it's somewhere in the Bay Area.

</comment></comment></comment></comment></comment><comment><USER7> > _The Washington Post reported earlier that Koum is exiting the company after > clashing with Facebook over strategy_

I think it's a very important point to make that a large part of the strategy that was being debated was weakening the encryption. [0]

At least as far as I'm concerned, that is one of the more important parts of the story that I don't feel is being discussed enough, or in cases of articles like this, entirely glossed over.

[0] [https://arstechnica.com/information- technology/2018/04/hours...](https://arstechnica.com/information- technology/2018/04/hours-after-data-clash-report-whatsapp-founder-says-hes- leaving-facebook/)

</comment><comment><USER8> > The stock vests in increments until late 2018, with 1.9 million shares due > to vest in mid-May and mid-August, plus a final tranche of 2.1 million set > to be issued in November.

The guy could have collected $336M, if he had just stayed for _2 more weeks_. If it were me, I would have just grinded out those 2 weeks, and given the extra $300M to my favorite charity. I guess he must have really hated being at FB...

<comment><USER9> It's highly likely his choice was more complicated than that. His net worth is $10B, so $300M isn't exactly pocket change, but it's possible by exiting now he got to make a statement and disavow involvement in future decisions.

Is it possible this is his way of indicating a clear canary event?

<comment><USER10> Staying longer also has opportunity costs. The article says he will take "some time off to do things I enjoy", but perhaps one of the things he enjoys is a new $10B startup.

</comment></comment></comment><comment><USER11> He could spend 500k a day every single day for 50+ years and still not spend what he has. I think at some point the money doesn't matters.

<comment><USER12> There is a difference between buying a small island for fun and buying a small island and building your own fully staffed pleasure paradise with an airport. My imagination has no limit on how to use infinite ever increasing amounts of money.

</comment></comment><comment><USER13> I sometimes wonder what motivates obscenely rich people to continue working, particularly when that work is as controversial as Facebook. The values of these people are clearly different from mine. In Koum's shoes I'd probably make the same decision, he doesn't need to work another day in his life if he doesn't want to so he has no excuse to violate his personal beliefs.

</comment><comment><USER14> If you have 10 billion+ you maybe do not care anymore.

<comment><USER15> I hardly make 0.00001% of that per month. He got quite rich indeed.

</comment></comment><comment><USER16> With $10.4 billion, that would make it the annual return on his investments.

</comment><comment><USER17> Can someone give the link to Koum's Facebook post?

<comment><USER18> [https://www.facebook.com/jan.koum/posts/10156227307390011](https://www.facebook.com/jan.koum/posts/10156227307390011)</comment></comment>


Using Askgit – A SQL interface to your Git repository - <AUTHOR> https://willschenk.com/articles/2020/using_askgit/ <comment><USER2> What would be nice is to add to this a way to plug language specific semantic analysers. Then it could be possible to do queries like "which commits did changes to a specific function" and so on.

<comment><USER3> I have always wondered why GitHub doesn't add such functionality, its a no- brainer how much it would help to have a way to right-click a function and see how has it changed through history, it could use an interface where you scroll through time (eg the most you scroll the older versions you see, until you reach when it was created); same thing for files.

<comment><USER4> Presumably you've heard about git-blame, which is available on GitHub.

<comment><USER3> Yeah, I find it of little use due being syntax agnostic (e.g can't tell me about the changes on a function because it doesn't know what a function is). If you are taking about me asking the same for "files" I meant being able to see all the versions of a file in a single page (maybe using "infinite scroll" in case there are too many)

</comment></comment></comment></comment><comment><USER5> I'm an absolute fanboy of all the efforts to bolt on SQL interfaces to things. I love this. Kudos to the creator.

<comment><USER6> If you like this, check out OctoSQL[0], it bolts on SQL on json, CSV, Excel and Parquet files.

It also let's you join them with each other (and other databases).

[0]:[https://github.com/cube2222/octosql](https://github.com/cube2222/octosql)

<comment><USER7> There is also xsv [0] for CSV SQLing

[0] [https://github.com/BurntSushi/xsv](https://github.com/BurntSushi/xsv)

<comment><USER5> For this and the above +1 to you both and thanks.

</comment></comment></comment></comment><comment><USER8> It'd be interesting to see some examples of queries that operate on the graph structure of the repo.

mercurial offers a language where you can build expressions to select revsets:

E.g.

> Changesets mentioning "bug" or "issue" that are not in a tagged release:

hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())"

[https://hg.mozilla.org/mozilla- central/help/revsets](https://hg.mozilla.org/mozilla-central/help/revsets)

</comment><comment><USER9> What are good APIs to git, besides git itself? Something high level, ergonomic, and with write operations, not just querying?

<comment><USER10> libgit2[0] has a comprehensive API and bindings for dozens of languages.

I also like go-git[1] - a pure Go implementation with idiomatic Go API and cool features like in-memory filesystem.

[0] [https://libgit2.org/](https://libgit2.org/)

[1] [https://github.com/go-git/go-git](https://github.com/go-git/go-git)

</comment></comment><comment><USER11> This is really nice. I experimented converting natural language to git log commands this week ([https://twitter.com/danielbigham/status/1294461750251839489](https://twitter.com/danielbigham/status/1294461750251839489)), but mapping natural language to git sql might be better and more flexible in some cases.

</comment><comment><USER12> If adding a SQL interface makes a system easier to access, that says a lot about how convoluted the original interface is...

Next logical step : a kernel level SQL interpreter integrated in systemd.

<comment><USER13> Actually I think it says a lot about how expressive SQL is.

I get why a lot of developers take swipes at SQL - it is a bit different to other languages. But you cannot beat it for what it does.

Another 'great' language is XSLT - so far I've seen nothing else that comes close for transforming data. It's just a shame it's so closely tied to XML which has understandably fallen out of favour</comment></comment>


Homebrew: OS X's Missing Package Manager - <AUTHOR> http://www.engineyard.com/blog/2010/homebrew-os-xs-missing-package-manager/ <comment><USER2> What OS X really needs is a package manager (erm, "app store", yeah, that's it) for native GUI apps. Every program seems to want you to update it every time you open it, which is just silly when there is already Software Update for that purpose.

Also, installing software on OS X is really difficult. Going from saying "I want VLC" to actually having VLC is an annoying multi-step process on OS X. Google for VLC's website, find the download link, download, wait, mount dmg, drag-and-drop app to app folder, unmount dmg, remove files, empty trash, launch app. On Linux, I just say "apt-get install vlc", go get a cup of tea, and type "vlc" to run VLC. Much easier.

<comment><USER3> <http://metaquark.de/appfresh/>

</comment></comment><comment><USER4> First step:

      # Take ownership of /usr/local so you don't have to sudo
      sudo chown -R `whoami` /usr/local

Hell no, bad idea, do not want.

<comment><USER2> Yeah, now an attacker will be able to delete the binaries you downloaded from the Internet, in addition to all of your personal files.

If your single-user system is compromised to the point where it matters what files you can and can't write, you've already lost. And the "low hanging fruit" in this attack scenario was the files you actually cared about.

(Also, this is a dupe of the top-rated comment. Maybe read _one comment_ before replying?)

<comment><USER5> > single-user system

Am I missing something in the grand-parent that suggests that his is a single- user system?

Even if it is the case, then, as you pointed out elsewhere (<http://news.ycombinator.com/item?id=1096327>), the solution's still sub- optimal: better `~/bin` than `/usr/local` (right?).

</comment></comment></comment><comment><USER6> > MacPorts is an autarky -- you get a duplicate copy of zlib, OpenSSL, Python, > etc. Homebrew uses what is already there, and consequently, most stuff has > zero dependencies and builds faster.

MacPort's self-sufficiency is its strength. Apple's system is managed by Apple, via Software Update. Depending on and modifying that system is foolhardy. What happens when the next point upgrade of OS X updates a library to a non-compatible version? Or what if you need ruby 1.8.7, but Leopard's ruby is at 1.8.6 (1.8.7 was a large release)? Your package system doesn't talk to Apple. Apple's update either breaks you, or your updates break OS X.

In fact, MacPorts once linked to OS X's libraries, but they found out how brittle this was, and switched to the current system.

OS X is not a Linux distribution, and it is not organized and defined by its package management system. If you want the flexibility of an open source Unix package system in OS X, you have to build one separately from Apple's Emerald City. The thing is, you can, and it works pretty well.

The problem I see most people having with the MacPorts / OS X duality actually stems from improper management of their shell's PATH. One way to manage namespace collisions is this: place MacPorts bin directories below the system PATH:

        export PATH="/usr/local/bin:$PATH:/opt/local/bin:/opt/local/sbin"

and then create symlinks in /usr/local/bin to specific MacPorts executables that you would like to have on the top of the search stack. That way, you'll use Apple's binaries by default, and then you can cherry pick the MacPorts binaries that you would like to use in place of OS X's defaults. The inverse of this works quite well too.

> Dependency resolution and updates are basic or not working yet.

I'm sure this is in the works, but my feeling is that managing dependencies and updates are the raison d'être of a package management system. Without this, you just have an installation management system; a shortcut around `make' and `ln'.

</comment><comment><USER7> "Take ownership of /usr/local so you don't have to sudo"

Ouch!

<comment><USER2> Yeah, don't put stuff in /usr/local. Put it in ~/bin.

<comment><USER8> This works if you want it to be available for just you.

Say for instance you have a dev server, so security isn't _as_ big a deal* used by a team of people, all of whom would want access to the same basic packages. It seems that /usr/local/ or some other world-visible place would be the location for this stuff.

That you don't have to be root is the same way that you don't _necessarily_ have to be root to install programs in the usual MacOS way of running a GUI installer. If you are part of admin, you're already privileged to sudo anyway, so the protection you get is primarily psychological; you type 'sudo', and it triggers the part of your brain that pays much closer attention to what you put on the command-line.

But as I mentioned to rbanffy, it is very possible I am missing a key risk that makes this a very bad thing to do. I am open to enlightenment. ;-)

<comment><USER9> Say there's a hole in your web browser that lets an attacker run arbitrary code. That's bad news for your home directory, but at least if the binaries on your machine (under /usr/local or wherever) are owned by root, the browser is running as "you" so it can't overwrite them with malware.

Then again, making /usr/local writable by admins goes along with the OS X convention of giving admins write permission to /Applications but I'm not a fan of that either.

<comment><USER8> Hmm. Good point.

This becomes a much larger problem if something runs things from /usr/local with increased privileges -- something from launchd run as root, for instance.

I was originally thinking just from the perspective of the active user, but a lot of things get run without the logged in user's knowledge, and with a varying level of privilege.

Ok, yeah, I agree with the original poster of this thread: yikes, time to start chmodding things.

<comment><USER10> I think it's much more likely that something bad will happen during a build with "sudo brew install some-package" than someone successfully hijacking, say, my Safari session and then installing a trojan in my user-writable /usr/local directory. This _is_ Mac OS X we're talking about: if you've written an exploit like that, why would you bother attacking apps in a directory that doesn't even exist on the vast majority of Mac installs when you could just as easily modify something in /Applications instead, and exploit practically all of them?

Anyway, back to the dangers of using sudo with Homebrew or Macports. When you build software by hand, without a package manager, do you ever do it as root? I sure don't. But that's exactly what Macports does in its default configuration, and that's what Homebrew would require if you used it with a non-writeable /usr/local. It doesn't have to be a malicious attack, either: just a simple bug in the build system would suffice. For example, if a "clean" rule in a Makefile has a step that looks something like, god forbid, "rm -rf $(BUILD_ROOT)/" and you're running the make as root, you'd better hope that BUILD_ROOT is not defined to be "".

Ideally, all of these package managers would separate the step of _building_ from the step of _installing_ so that you would only need root privileges for the latter, a la Debian's sbuild and friends. Then using a traditional privileged /usr/local directory would be a no-brainer, for the theoretically smaller attack surface it would provide. But none of the Mac packaging systems work like that, to my knowledge. They go for the convenience of a single build+install command. Given that, I'll stick with my user-writable directory and risk the hijacking scenario.

<comment><USER11> ports does have the separation, you fetch/build as the local user and run install escalated.

running a fetch as root or blindly changing the permission structure of /usr/local should scare everybody.

<comment><USER10> > ports does have the separation, you fetch/build as the local user and run > install escalated.

I see from the Macports 1.8 release notes that privilege dropping is supported. That's good news, but is it the default? The release notes indicate that you need to pass command-line options to get this behavior. I assume that most people just "sudo port install foopkg".

> blindly changing the permission structure of /usr/local should scare > everybody.

On Mac OS X (as of Snow Leopard, anyway), there are no permissions to change, since /usr/local doesn't even exist until you create it. Nothing in the OS itself depends on it or anything that lives there. There's nothing special or privileged, neither by design nor by convention, about /usr/local on Mac OS X. Making it user-writable and using it with a package manager is no different than creating a 2nd home directory for that purpose. If you're running that rare bird that is a multi-user Mac and co-managing packages with other trusted users, then you can simply make it group-writable by those users. It's safer than giving them any sudo privileges.

<comment><USER11> $ port fetch wget

$ port build wget

$ sudo port install wget

> "is no different than creating a 2nd home directory for that purpose"

except that a million build scripts and make files out there assume /usr/local/ as a default location. setting up something like '/home/shared/' is not a problem, just don't mess with paths that are defaults

<comment><USER10> Thanks, I didn't know about fetch/build in Macports.

> except that a million build scripts and make files out there assume > /usr/local/ as a default location. setting up something like '/home/shared/' > is not a problem, just don't mess with paths that are defaults

Yet Macports puts everything in /opt/local and that doesn't cause any significant problems. I haven't run across a free software project in years that didn't have support for an install prefix.

Anyway, I should have been more specific: on a Mac, making /usr/local user- writable and using it with a package manager is no different than creating a 2nd home directory for that purpose, _from a security standpoint_. I agree that putting things in /usr/local is the most logical place to put compiled software (mainly for consistency with one's own scripts that run on multiple platforms), and that's one of the reasons I use /usr/local with Homebrew instead of something in my home directory.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Just because people never seem to mention it, I will also throw in a good word for Rudix. From their project page (<http://rudix.org/>):

 _Rudix features a world class collection of pre-compiled and ready to use Unix compatible software which are not available from a fresh installation of Mac OS X but are popular among other Unix environments. Here you can find utilities, programming languages, libraries and tools delivered as standard Mac OS X packages._

The packages are pre-compiled dmgs, easily downloaded and installed, or you can download the whole suite if you prefer.

The nice thing here is that if you _only_ want coreutils and you don't want to install Xcode to get gcc, you don't have to.

<comment><USER13> This may be slight, but the name is horrible. Maybe the originator doesn't speak english as a first language, but the word just sounds like someone is poking you in the eye.

</comment></comment><comment><USER14> I think the real genius of Homebrew is in integrating it with git & Github and in turn making it something social. In my experience, sometimes a formula wasn't available in the main repository and I could easily merge in another Github fork's changes.

</comment><comment><USER15> antonovka had some interesting comments on why macports does the things it does when homebrew was doing the rounds a few months back:

<http://news.ycombinator.com/item?id=872072>

It's worth a quick read, imo.

<comment><USER16> That is indeed a good read. Maybe MacPorts needs a better website where they explain this stuff. You gotta give it to Homebrew - the one page README is better then the "MacPorts Official Homepage" front page. (In fact, GitHub's one-page-README-intro is a terrific example of restraint producing better results).

I still like the git-recipe idea. Perhaps MacPorts should have a Git repository of 'rouge' community ports they can periodically review for merging and then inclusion.

<comment><USER15> I think Rails (or 37signals) taught developers that a little marketing savvy isn't a bad thing, and that thinking has in turn permeated the ruby community and shows itself in projects like Homebrew. Not smarmy marketing, it's just hackers asking themselves "how can I most simply show how powerful this is", more or less.

</comment></comment></comment><comment><USER17> This looks pretty interesting (and I particularly like the ability to have a package pointed at the bleeding edge), but I'm not sure how I feel about /usr/local being owned by an arbitrary user. What happens if there's more than one user on the machine?

<comment><USER18> You can have homebrew reside in any place you want on your hard drive. The Readme actually suggests to first install it into a directory "brew" in your home dir. You just need to adapt the $PATH in your bashrc accordingly.

From my own experience: beware with moving that directory after installing some formulae somewhere else. It caused quite some trouble for me and i wound up recompiling everything in the new directory.

</comment></comment><comment><USER19> _Installing packages is faster, too, because Homebrew also works hard to avoid package duplication. No more installing yet another version of Perl as a package dependency when you already have a working install of Perl built into OS X. Best of all, Homebrew has a basic philosophy that you shouldn't have to use sudo to install or manage software on your computer._

Finally! At last! I hope this takes off, because I've been manually ∂ownloading and compiling everything in order to avoid conflicting versions, redundancy, et. al. that come with Fink and MacPorts.

</comment><comment><USER12> I think the project overall is great, but I don't understand the dislike of sudo. There's simply nothing wrong with sudo (or su or entering your password in the GUI). OSX is a UNIX (a certified one, in fact), and it follows the principle that some actions require elevated privileges. Installing software system wide has historically required elevated privileges (I think for good reason), and so sudo is necessary to put software into /usr/local. There's nothing bad about using sudo for this.

<comment><USER20> I dislike sudo because I want my user-installed stuff to be installed in my damn home directory, not mixed in with system software. I want to me able to install things on a multi-user system without affecting anyone else.

Every other non-language-specific package manager blithely assumes that it's the only one on the system, so they assume that nothing is already present, and don't even think about the possibility of independent unprivileged use.

<comment><USER12> Fair enough, but there are two separate questions here:

        1. Where do you want the software?
        2. Are elevated privileges required to put the software where you want?

If you want to load all your software into $HOME/bin, then more power to you and no sudo is required. However, /usr/local serves an important and valid purpose (to provide packages system-wide), and it _should not_ be available without elevated privileges. (By the way, 'not mixed in with system software' is misleading, since OSX ships with an empty /usr/local. Nothing you put in /usr/local mixes with anything.)

Homebrew's official README suggests changing the ownership of /usr/local, and I think that's a terrible idea for multi-user machines. (Having said that, I suppose that many people have single-user machines, and in that case the issue is largely moot.)

Finally, a simple way to put software into your $HOME without ever needing sudo is available in most cases:

        ./configure --prefix=$HOME

<comment><USER20> And those two separate questions are both ones that no other package manager even bothers to ask!

/usr/local does start off empty on OS X, but it's where every random .pkg you download likes to put stuff. You'll get mixing unless every non-app you install comes from a package manager. On FreeBSD every package that didn't ship in the default install goes there. There's a reason that MacPorts uses /opt/local by default.

</comment></comment></comment></comment><comment><USER18> Articles like this is what Homebrew needs. I was already using it and doing my own Formulae, now I know how to contribute back. Nice!

(Had a lot of pain trying to install GTK through homebrew and finally gave up. If someone succeeds, please ping me :)

</comment><comment><USER21> I've been using brew for a while, and it's a nice, somewhat hack-ish solution to the problem. OS X already comes with a lot of software, so anything that you use in addition is basically a secondary system. So if it's a kludge, make it a small and fast one.

The wiki page has some interesting notes on integrating it somewhat with scripting language modules (cpan/easy_install/gem).

</comment><comment><USER22> I'm excited because package management has really sucked on OSX. Port usually works well enough for everything I need to do. But I always end up with dueling tool chains, the primary osx ones and Port's copies. Compiling in xcode is always odd since you don't which lib imports to use etc ..

</comment><comment><USER23> I just switched from macports to homebrew a few weeks ago, and I love it. Most definitely recommended.

<comment><USER24> What's better? Aside from the easier pkg generation, I don't yet see a difference from the handful of articles I've read.

Explain to me a pain point of Macports that homebrew solves.

<comment><USER23> Installation is faster. You can understand how the formulas work. You can make your own. You can find lots of them very easily. You can contribute more easily. It's on GitHub.

I dunno - there's probably more, but that's a quick list.

What really drove me to move was that I was having trouble with Snow Leopard not being supported very quickly by MacPorts. Even once everything I needed was working, I still had problems with CouchDB and couchdb-lucene. I'm not sure what the problem was, but I tried a few things that were suggested, and nothing worked.

So, I did the whole Scorched Earth thing and started fresh with Homebrew. Everything worked right away, and quickly. I found formulas were added very quickly. I found some that weren't in the main repo (I think couchdb-lucene was one of them) and they were all understandable and worked well.

All in all, I just had a much nicer experience with Homebrew than with MacPorts. I'm not hating on MacPorts, I'm just saying Homebrew hasn't caused me one moment of grief since I started using it. Well... maybe one, because I had to find and install the OS X package for Git to get started with installing everything else ;)

<comment><USER25> Cool. Not surprised that it went smoothly at first, but do let us know how that works out for you after a few OS X updates.

</comment></comment></comment></comment><comment><USER26> Sounds very promising. I've done OK over the years using MacPorts, but like the idea of not installing Yet Another Perl dist, etc.

<comment><USER27> I've used homebrew a bunch (and even contributed a few formulae) after I heard Al3x tweet about it.

There is so much less friction than using macports or fink that I dropped them immediately. Definitely check it out.

</comment></comment><comment><USER28> First question that should be answered by anyone trying to selling this:

Why is it better for me than MacPorts and why should I use it?

<comment><USER12> C'mon though - you need to meet people half way and read a little. From the Github README (<http://github.com/mxcl/homebrew/>):

Here's why you may prefer Homebrew to the alternatives:

Zero configuration installation

Copy the contents of this directory to /usr/local. Homebrew is now ready for use.

Or… install anywhere!

You can actually stick this directory anywhere. Like ~/.local or /opt or /lol if you like. You can even move this directory somewhere else later. Homebrew never changes any files outside of its prefix.

The GoboLinux approach

Packages are installed into their own prefix (eg. /usr/local/Cellar/wget) and then symlinked into the Homebrew prefix (eg. /usr/local).

This way the filesystem is the package database and packages can be managed with existing command line tools. For example, you can uninstall with rm -rf, list with find, query with du. It also means you can install multiple versions of software or libraries and switch on demand.

Of course, you don't have to do anything by hand, we also provide a convenient and fully-featured four-letter tool called brew.

You don't have to sudo

It's up to you.

Create new package descriptions in seconds

Package descriptions (formula) are simple Ruby scripts. Generate a template with:

        brew create http://foo.com/tarball-0.8.9.tgz

Or edit an existing formula:

        brew edit foo

Package descriptions not required

MacPorts doesn't support the beta version? Need an older version? Need custom compile flags? The Homebrew tool-chain is carefully segregated so you can build stuff by hand but still end up with package management.

Just install to the Cellar and then call brew link to symlink that installation into your PATH, eg.

        ./configure --prefix=/usr/local/Cellar/wget/1.10
        make install
        brew ln wget

Or Homebrew can figure out the prefix:

        ./configure `brew diy`
        cmake . `brew diy`

Optimization

We optimize for (Snow) Leopard Intel, binaries are stripped, compile flags are tuned to your exact Mac model. Slow software sucks.

Making the most of OS X

A touch of RubyCocoa, a cheeky sysctl query or two and a smattering of FSEvent monitoring. In these manic days of cross-platform development, it's can be a welcome relief to use something that is better because it isn't too generalized.

No duplication

MacPorts is an autarky -- you get a duplicate copy of zlib, OpenSSL, Python, etc. Homebrew uses what is already there, and consequently, most stuff has zero dependencies and builds faster.

We resist packaging stuff that is already packaged. So we have a wiki page that describes how best to use RubyGems, Pip (or easy_install) and CPAN with OS X and Homebrew.

Fork with Git

The formula are all on git, so just fork to add new packages, or add extra remotes to get packages from more exotic maintainers.

Surfing the cutting edge

If the package provides a git://, svn://, cvs:// or hg:// url you can choose to install that instead and then update as often as you like.

<comment><USER29> "MacPorts is an autarky -- you get a duplicate copy of zlib, OpenSSL, Python, etc. Homebrew uses what is already there, and consequently, most stuff has zero dependencies and builds faster."

MacPorts made the decision to package and version their own versions of everything for a reason. Conflicts can start to arise when you start compiling against Apple's default shipped libraries for X11, Python, etc. Especially if the default shipped versions don't provide what you need. E.g. the PHP install that shipped with Snow Leopard is missing several notable extensions.

It might be safe to ignore these issues now but as the app grows they will need to be addressed. (Or of course they can ignore it and just point to MacPorts as an alternative for some subset of packages).

</comment></comment></comment><comment><USER30> now all it needs is a gui. and the ability to buy commercial apps directly through it. you could call it a sort of... application store, or "app store" for short. people will love it!

</comment><comment><USER31> _Managing software packages on Unix has always been, to put it politely, a giant pain, and most Linux distributions are built around the different ways we've all been trying to alleviate that pain_

Ubuntu (Debian) seems to do this very well in my opinion.

      sudo aptitude update; sudo aptitude upgrade

And with 9.10, to add a repository you can just do

      ppa:$repository

To add Wine for example,

      ppa:ubuntu-wine/ppa

<comment><USER32> I actually came to OSX from Ubuntu and felt like I was in the dark ages without a package manager. The first time I tried to compile PHP ( 5.3.2 ) on an upgraded ( Leopard -> Snow Leopard ) machine, I had a million problems with the system's iconv and had to recompile a million packages. I then had to delete my iconv stuff, recompile it into /usr/local, then figure out exactly which binary from the original install to leave behind so that things would be detected properly with everything else. I think a lot of that has to do with php's build and search paths ( eg, it was finding headers in /usr/local, but trying to link to binaries in /usr ) but I can't help but feeling that with a proper package manager, that never would have happened. Macports can be pretty good, but I don't want to have to have so many things duplicated on my system.

EDIT: Grammar

</comment></comment><comment><USER33> Gah. It looks like it doesn't support removing packages. I won't call it a package manager if it can't remove packages.

<comment><USER34> brew remove <formula>

<comment><USER35> I've been using homebrew for a few months now and while I love it I still can't figure out how to 'brew remove' packages that have more than one version installed.

For example:

$ brew remove git Error: git has multiple installed versions

I've looked at the (very sparse) 'brew help' and the wiki and still haven't found a solution other than manually deleting the extra version directories.

Am I missing something obvious?

<comment><USER10> brew's documentation isn't fully baked, but this should do what you want:

      $ brew cleanup git
      Uninstalling /usr/local/Cellar/git/18.104.22.168...
      Uninstalling /usr/local/Cellar/git/184.108.40.206...
      Uninstalling /usr/local/Cellar/git/1.6.6...

Or just "brew cleanup" to clean everything. (That doesn't appear to work with projects built from version control repos, though, like emacs with Cocoa support.)

edit: Maybe you meant that you want to remove the whole thing, i.e., all versions, not just the unused ones. Looks like you have to "cleanup" first, then "remove". That seems like a bug to me.</comment></comment></comment></comment>


How Google Will Fix Cloud Computing - <AUTHOR> http://blog.wired.com/photos/uncategorized/2009/01/27/gdrive.jpg

<comment><USER2> Okay, that made me giggle! :D</comment>


Hate speech detection: Challenges and solutions - <AUTHOR> https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0221152 <comment><USER2> I wonder if these guys realize that this sort of research will be weaponised</comment>


Should You Pay For Tweetdeck? - <AUTHOR> http://www.alexwilhelm.com/alex_wilhelm/2009/02/should-you-pay-for-tweetdeck.html Is it ethical to donate? Or should people be forced to pay? I don't think anyone wants ads. <comment><USER2> I'm never opposed to paying for a service or product that I truly benefit from or have a real joy using, TweetDeck being one of them. I pay for Last.fm subscriber status, and it quickly pays for itself in worth.

However, what I think the web needs to realize, specifically those who want to put their goods out there is how to weigh in the expectations of people using your software if it's something built for convenience; there are twitter applications out there by the dozens, $10/year while yes incredibly cheap I don't think is realistic or fair. Some people barely keep up with their twitter accounts for a week, much less an entire year.

Paying for goods and services: yay. Poor payment implementation: nay.

</comment><comment><USER3> No.

I don't think it's "okay" for developers to release an application _for gracias_ and then charge _if_ it takes off.

Thats worse than selling the app from day one.

It's curious that he just got Angel Funding, and is now pondering how to make money out of it - go figure?

</comment><comment><AUTHOR> I would pay for increased Twitter API access though, thats for sure.</comment>


LastPass Vulnerability Exposes Account Details - mike-cardwell https://grepular.com/LastPass_Vulnerability_Exposes_Account_Details

<comment><AUTHOR> And I _just_ switched to LastPass. Great. At least it's unlikely that I was logged in the time in between, but what _else_ can they have missed?

I also feel a little discomfort knowing that LastPass didn't disclose the vulnerability to their users and customers.</comment>


Ask HN: What are good resources for learning Web Dev? - <AUTHOR> Hello,
I want to support my Husband and learn Web Dev. Is it right choice?
I find Python easier to learn.
Where and what resources can I use to learn Web Dev on fast paced? <comment><USER2> [https://www.w3schools.com](https://www.w3schools.com) will get you started on making a static html page that you can open in your web browser.

A web server responds to a web browsers request for a document at a url. Learn about HTTP.

Then, you can begin serving this file, but rather than serving it from Apache or some other webserver, you can begin exploring a backend application server environment of some kind, perhaps PHP or Node.js or Ruby "Sinatra" (you mentioned Python, so there's "flask") or something just to get you familiar with HTTP and it's request-response lifecycle. You will never leave this lifecycle, despite doing lots of fancy stuff in between the bookends of receiving a request and returning a response.

You can start with returning your static html page and move on to passing data back and forth.

You can then investigate persistence and how to store data and look it up via a database server that your applcation server can connect to, for now you can have them on the same machine.

There are a million directions you can take the general stuff I outlined above.</comment>


A Quantum Leap for the Web - <AUTHOR> https://medium.com/mozilla-tech/a-quantum-leap-for-the-web-a3b7174b3c12#.wgcqrdq94 <comment><USER2> Nice, so Firefox gradually becomes servo, as parts of that become ready.

On the meantime servo remains the testbed for very fast browser entirely written in rust.</comment>


India's Need for Sound Standards for Examining Rape Survivors (2010) - <AUTHOR> http://www.hrw.org/reports/2010/09/06/dignity-trial-0

<comment><USER2> Wow. Disgusting.

I can only assume this is deep rooted in chauvinism.

</comment><comment><USER3> Its a weird document to be put up on HN!</comment>


Ask.fm Acquires Foodily - <AUTHOR> http://techcrunch.com/2015/05/01/iac-owned-ask-fm-acquires-recipe-network-foodily/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29 <comment><USER2> This is not an acquisition, it's an acquihire which makes sense. Straight acquiring this company makes no sense.</comment>


9/14/14: Sold 500 edu copies of Air Display 2. 4/25/16: All 500 refunded - <AUTHOR> https://twitter.com/DSHowell/status/726443725795168256 <comment><USER2> In isolation, each of Apple's poor actions towards developers can be explained away. But in aggregate the collective paper cuts wear down a lot of the goodwill that Apple has with developers. There's a lot of hope riding on this WWDC turning stuff around, but I'm not too hopeful.

<comment><USER3> I tried to convince a non-developer (and Apple lover) about this a few months ago but got nowhere. Developers are like bellwethers: if they hate you, even if you're successful now, your product/service is doomed.

<comment><USER4> Salesforce -- successful business, hated by every programmer who has ever touched it.

<comment><USER5> My wife, who is a sales director, loves SalesForce. Maybe programmers aren't their target market?

<comment><USER6> Nope, but they are required if you want to do anything on it that's custom. And Apex as a platform is a nightmare to work with.

</comment></comment></comment></comment></comment><comment><USER7> It's long overdue that Apple allows installing software without their approval on iOS devices. It's appalling that there is no alternative to the App Store. The imbalance of power between developers and Apple is unacceptable.

It doesn't look like Apple will change without outside pressure; the time is now ready for government regulation. I really hope that the EU takes on this problem, and forces Apple to allow competing stores, just like they required Microsoft to let users choose alternative browsers.

<comment><USER8> I'm still genuinely confused as to why Apple hasn't been slammed with antitrust on multiple fronts. You can ignore the whole App Store fiasco and _still_ come up with several other anti-competitive and anti-consumer practices: as a paying Winamp customer, I can't access the iPhone. This isn't a silly little issue like a browser and they get away with it consistently.

<comment><USER9> Apple is not colluding with other companies to be anti-competitive so that aspect of antitrust law doesn't apply. Apple doesn't have a monopoly in the phone market so laws about abusing a monopolistic position doesn't apply. Anti-competitive and anti-consumer practices are not inherently illegal (they're arguably inherent to capitalism), they're only potentially illegal when practiced by a business that's potentially a monopoly. It's like you're complaining that Apple has a "monopoly" on deciding what's sold in their store. Every store has that right.

> as a paying Winamp customer, I can't access the iPhone

I don't know what this means. Has a law been broken when a program written for OS X on an x86 processor can't run on an Android phone with an ARM processor?

<comment><USER8> > as a paying Winamp customer, I can't access the iPhone

Microsoft was accused of anti-competitive behaviour by EU for bundling IE with Windows. Not only is iTunes bundled with iPhone, but alternatives _are locked out_ (unlike IE - which was always the Chrome download app).

<comment><USER9> But Microsoft could only be anti-competitive because they had an effective monopoly on the PC market. If you don't like iOS's policies, go buy an Android.

There are other music-playing apps in the iTunes store so there are alternatives to iOS's Music app but I'm not familiar with the parameters of what Apple does and does not allow.

I don't like many of Apple's iTunes Store policies, I just don't see how they could be called illegal.

<comment><USER8> > go buy an Android.

Exactly as I did. That doesn't stop me from sympathising with iPhone users. iTunes is a horrific piece of software, virtually every alternative is better.

</comment></comment></comment></comment></comment></comment><comment><USER10> The headline took so long to parse. Middle-endian dates remain very confusing to everyone outside the USA.

<comment><USER11> I use YYYY/MM/DD every where I can. My pointless, resolute insurrection to drag USA's calendaring into the 3rd millennium.

<comment><USER3> Stick with ISO 8601 ([https://en.wikipedia.org/wiki/ISO_8601](https://en.wikipedia.org/wiki/ISO_8601)): 2016-05-01.

<comment><USER12> Yes. It's unambiguous to everyone, and it sorts correctly without special treatment.

</comment></comment></comment></comment><comment><USER13> How is this legal? Surely after more than a full fiscal year, nobody could reasonably expect a refund? Although I suppose some consumer protection laws require many-year warranties. Is that comparable?

<comment><USER14> It's also against the t&c included in the Apple developer agreement.

[https://pbs.twimg.com/media/ChWM2h8W4AEKiBT.jpg:large](https://pbs.twimg.com/media/ChWM2h8W4AEKiBT.jpg:large)

</comment></comment><comment><USER15> This is crazy. I'm not in the App Store, how does this kind of refund even work? Surely the money had already been transferred to the developer's bank account.

Does Apple bill the developer for the value of the refund? Charge their credit card? Do they withhold future sales for that value?

<comment><USER16> From the follow-up comments, it sounds like it was simply deducted from his current month sales revenue.

Actually, I imagine this is just an oversight, and he's been caught in-between some automated cracks. If he raises the issue with Apple and it isn't resolved immediately, _then_ it's time to grumble.

<comment><USER17> _" If he raises the issue with Apple and it isn't resolved immediately, then it's time to grumble."_

Like the developer says in his own Tweets: for that, there would have to be an open channel between developers and Apple. There isn't, developers don't get to discuss with the Apple App Store representatives, it's a one way dialog in which they receive some automated or if they are lucky, semi-automated response from the App Store and that's it.

<comment><USER18> Generally any reasonably sized developer has an Apple assigned dev relation contact.

<comment><USER17> Ok, but this developer states in his tweets that's not his case at least.

<comment><USER19> As a former Apple employee, surely he can find someone to help him make the connection.

<comment><USER20> Are you beginning to see the problem here? A "normal" developer is screwed. You need to be pretty large ("reasonably sized") _and_ have good contacts at Apple (which is nowhere near as easy as you think it is, and basically impossible for most non-US developers) to even have a chance to have such things fixed.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Interestingly, the software is not very highly regarded:

[https://itunes.apple.com/us/app/air- display-2/id705578162?mt...](https://itunes.apple.com/us/app/air- display-2/id705578162?mt=8)

[https://play.google.com/store/apps/details?id=com.avatron.ai...](https://play.google.com/store/apps/details?id=com.avatron.airdisplay2&hl=en)

I wonder if apple decided to make a special case, and do a blanket refund?

<comment><USER22> Which is totally fair, if the refund is done on the allotted time (90 days)

</comment></comment><comment><USER23> "Well sharecropper, if you don't like working my land, go to somewhere else."

<comment><USER24> Actually, it's worse: sharecroppers really good go plant cotton somewhere else. But if you want to write iOS apps, you have the deal with Apple.

</comment></comment><comment><USER25> Is there a refund time limit in the store ToS? A year and a half or so seems excessively long for anything, let alone hardware.

<comment><USER26> 90 Days

[https://pbs.twimg.com/media/ChWM2h8W4AEKiBT.jpg](https://pbs.twimg.com/media/ChWM2h8W4AEKiBT.jpg)

</comment></comment><comment><USER27> This is absolutely appalling. Apple cannot possibly think they are in the right here, especially due to their own ToS. It seems this dude lives in the US, doesn't he have a legal case against Apple for theft?

</comment><comment><USER28> I'd suggest legal action, but unless a system like the UK small claims court is available this would probably cost more than could be recovered.

<comment><USER29> Wouldn't taking Apple to small claims court be a very fast way to get you booted out the App Store entirely? I don't think those 500 copies would ever be worth that.

<comment><USER28> Hmm, hadn't considered that; that drives home how unequal the system is and that income from the Apple store is entirely at the whim of Apple.

</comment></comment></comment><comment><USER30> I'd argue this is why you should distribute your app on the App Store, but don't rely on Apple to handle the payments. Make your app free, with a payment to your site directly, where you then provide an activation code or password, etc, to run the free iOS app. One additional perk is that you don't give Apple 30% when you do this.

For the App Store to approve your app, you provide a test username/password or authentication code in the notes to the reviewer. After the app is approved, you can then deactivate that test account.

This requires more development overhead from the developer, certainly. But the extra 30% you get in revenue and the comfort of being solely in control of your payment process can be worth it.

There are a few apps that do this, but not many.

<comment><USER31> This is also prohibited by the app store TOS.

<comment><USER30> The terms of service prevent you from soliciting payment via an outside source within your app. But I don't think there's anything against what I described, so long as you don't link to your site for payment. Is this not the case?

</comment></comment></comment><comment><USER32> It's ridiculous to be a slave of Apples good will for years without knowing when and how much revenue they might just take away from you again without even giving a reason. What if you invested it elsewhere a long time ago and your business is not doing that well anymore ?

<comment><USER33> I don't really see how different it is from a normal retailer situation. If you have a small store, sell someone a fridge, then 6 months later go under, and the fridge breaks down and can't be repaired in 11 months, the customer is still within the rights to ask you for a full refund(at least in the EU). It doesn't matter if you are doing well or not - as a business, you should plan for these situations.

The problem here is, that I don't think Apple says anywhere that they can issue refunds for your products 18(!!!!) months after purchase! normal refund time is 90 days.

<comment><USER32> yeah the problem is not the existence of refunds, the problem is the timeframe which is highly unreasonable for a $10 application. 3-6 months okay, but almost 2 years ?

</comment></comment></comment><comment><USER34> To be clear, he knows exactly that it's those 500 sold on 9/14/14, right?

</comment><comment><USER35> A thought here--suppose the original 500 sales turned out to somehow be a fraudulent transaction. In that case Apple would undo it no matter how long it had been.

</comment><comment><USER36> Appalling.

</comment><comment><USER37> tl;dr (I think)

Dave Howells appears to run Avatron.com (looks like a one man shop?). It sells "Air Display", a screen sharing app for iOS / android.

It seems he got a windfall of sales a year ago, and now has had that windfall refunded.

He had no idea where the good fortune came from, and he has again no idea where the bad fortune comes from (Aplle does not release purchaser details to the app maker)

Dave Howells assumption on Twitter is that his app was bundled with iPads for a school, that then returned everything.

His quote from the Twitter thread here is revealing :

"Basically Apple let them use my app for free for two whole school years without even asking my permission."

There are a _lot_ of misconceptions and misunderstanding here - a few are

\- the valid refund period on the App Store does seem excessive. That's nearly 18 mths

\- don't get upset at not knowing where bad fortune comes from if you don't know where the good comes from too

\- Apple should pass on some (anonymised?) feedback as to why the app was refunded.

\- this is all made worse by it being 500 at once.

\- but overall don't complain too much - Apple has built a global platform for small developers to sell onto that simply would not exist without Apple. It's incredible and also worrying but it's a ride you are along for, not a market as we know it.

<comment><USER38> Bottom line is that this could've just been a billing error from the outset that it took Apple two years to correct. Howells is making the assumption it was a school district with no evidence whatsoever. If it was Apple's policy to refund school district 3rd party app purchases regardless of time, we would be hearing this complaint constantly, not just from this one guy.

<comment><USER20> > Howells is making the assumption it was a school district with no evidence > whatsoever.

 _You_ are making an assumption that he has no evidence with no evidence whatsoever.

Apple provides educational discounts (if you allow it in your app's iTC settings). He could almost certainly tell the purchase was from a school simply by dividing the reported revenue by the number of sold copies and comparing it with their regular price in the (also visible in the report) country.</comment></comment></comment>


If the Robots Come for Our Jobs, What Should the Government Do? - <AUTHOR> https://www.nytimes.com/2018/06/12/upshot/if-the-robots-come-for-our-jobs-what-should-the-government-do.html <comment><USER2> The article features three views. 1. A paper from the Roosevelt Institute [1] 2. the McKinsey Global Institute and 3. Michael Strain, a scholar at the conservative American Enterprise Institute.

Summarized ideas introduced in the article:

        * Allowing for inflation to tackle unemployment (from 1.)
        * Less monopole granting intellectual property laws (from 1.)
        * Work-sharing programs (from 1.)
        * Publicly funded higher education and training (from 1.)
        * Subsidized education and training (from 2.)
        * Making job benefits like health insurance and retirement funds more "portable," (from 2.)
        * Expanding the earned-income tax credit (from 3.)

Interesting pre-assumption from [1] that might be dominant in economics but maybe not on the internet:

> This set of proposals is based on the idea that the emerging wave of digital > disruption won't result in a permanent loss of demand for workers, but > rather shifts in what types of work the economy needs.

[1] [http://rooseveltinstitute.org/dont-fear- robots/](http://rooseveltinstitute.org/dont-fear-robots/)

[2] [https://www.mckinsey.com/mgi/overview/2017-in- review/automat...](https://www.mckinsey.com/mgi/overview/2017-in- review/automation-and-the-future-of-work/a-future-that-works-automation- employment-and-productivity)

</comment><comment><USER3> The article talks about how globalization caused automation to replace millions of factory workers. Factory jobs, aren't the greatest, especially before the 1970s, and in many parts of the world, are still awful. Similarly, If we could replace every mining job with robots we'd remove a lot of human abuse in many parts of the world.

<comment><USER4> You'd also remove the way for lots of people to make a living.

The unemployed only know that making a living in a lousy industry is better than not making any living at all.

<comment><USER5> That's exactly the point. Humans rely on jobs, what happens when robots take over?

<comment><USER6> We don't actually rely on jobs, we just force one another to work to satisfy our principles of fairness. In theory we could agree on a different notion of fairness that doesn't require everybody to work, we just choose not to.

<comment><USER7> FWIW, I think you may be under-selling "We just choose not to."

Human principles of fairness are based very heavily on social constructs of tribe and group survival that predate civilization by 10^5 to 10^7 years. Human thought is extremely malleable, I think the human psychology jury is still out on precisely how malleable "fairness" is.

That having been said, it feels like if we could start by ratcheting most people from a 40-hour week to a 30-hour week without cutting their pay, that'd square with the gut feeling of fairness. ;)

<comment><USER8> I agree that fairness will pose some short-run concerns. But, consider that it probably didn't make sense to early hunter-gatherers to work themselves to an early death in order to accumulate or bequeath hoards of any of the materials (raw or processed) or tools at their disposal. It seems certain they still had a sense of fairness, which suggests the triggers of that gut feeling are themselves quite malleable.

One legacy of agricultural and industrial production has been the devaluing of just about all "non-productive" activity. A broad re-valuation of what we spend our time on might be a good place to start re-calibrating our sense of fairness.

</comment></comment></comment></comment></comment></comment><comment><USER9> Don't think of "employing" people, of making sure people have jobs. Instead, think of a society "spending" people.

We used to spend most of our people growing food. Then we got tractors and combines, and we could spend only 2% of our people growing food. We spent the newly-available people on factories - some to make tractors and combines, but more to make cars and dishwashers and tons of other things. It was an overall improvement to society - we could spend our people on more productive uses.

We need to do the same in this situation. We can automate factories. Great! We don't have to spend as many people making stuff. The trick is to find _better_ things to spend our people on. If we can, those new things, being more useful to society than factory work, should also pay better than factory work.

But what are those "better" things? Aye, there's the rub...

<comment><USER10> This is a great way of thinking about the problem. And it's not hard to think of better jobs for people. There are a lot of unsolved problems in fundamental research across all fields of science.

<comment><USER9> True. But unfortunately, not all people laid off from factories are qualified to do fundamental research...

</comment></comment></comment><comment><USER11> This problem is much deeper than just automation and has been spiraling out of control since at least the 1970s. [https://thecurrentmoment.files.wordpress.com/2011/08/product...](https://thecurrentmoment.files.wordpress.com/2011/08/productivity- and-real-wages.jpg)

Years of tax cuts for corporations and the rich combined with the destruction of Unions and workers ability to collectively bargain has created this problem. Start taxing wealth and corporate profits at post-ww2 levels, increase protections for workers. Encourage co-operatives, profit sharing, and other forms of worker control and ownership.

<comment><USER12> Except that this problem is strictly american problem that more/less requires nation-wide therapy from the red scare and acceptance of positive sides of socialism and how through grass-root pressure, trade unions and political activism, it actually shaped the western world for the better (an 8-hour workday was a blasphemy before socialism, as just one blatant example).

Automation OTOH, is a global problem that requires wider-reaching systemic changes. And while the western world will likely cope by inventing more white- collar bullshit make-believe jobs, people in developing world will likely be hit very hard.

</comment></comment><comment><USER13> The government's job should be to keep an eye that gains are shared broadly enough, and ensure increased productivity doesn't cause excess environmental harm. (If the government funds Robotics research, all citizens should share in the windfall)

<comment><USER14> Based on your comment I think you'll really enjoy this book - I'm about 75% through it. [https://www.penguin.co.uk/books/280466/the-value-of- everythi...](https://www.penguin.co.uk/books/280466/the-value-of-everything/) The Value of Everything by Mariana Mazzucato. One of the best economics books I've read in a very long time, well argued and not too heavy in Jargon.

The thrust of the argument is that we've misconstrued value and thus don't properly account for all the activity in the economy, overcounting things which aren't 'productive' in the historical economic sense (like finance, FB's ad market), while undercounting other activities, including those of govt - before everyone jumps on me, both Marx AND Smith agreed that finance didn't contribute to productivity, merely enabled it.

<comment><USER13> My understanding of economics is that capital and love are inputs to the productivity formula, but don't raise it.

There are lots of externalities (pollution) that are hard to measure.

</comment></comment></comment><comment><USER15> The simplest solution is an automation tax which is revenue neutral. Any time automation moves in to an industry, the tax's revenues can be used to help transition those workers into other work, or give them at least an automation relief stipend.

If we don't tax automation, what's to stop increasingly cheaper automation from replacing increasingly expensive first world workers? Especially when businesses are expected to increase salaries yearly, provide expensive benefits like healthcare - businesses would rather pay up-front for automation.

<comment><USER16> Another solution is to claw back mineral rights by taxing raw materials. You burn the sky, take the water, dig in the ground, that is something the citizens don't get to use. You owe them.

The thing I like about this (its not my model but it's my favorite) is that it happens at the input side so it codifies the idea of Reduce Reuse Recycle by setting a base cost where it's cheaper to recycle and purify than it is to use virgin materials.

<comment><USER17> I like this idea, as long as it extends to all land use. So, people renting from others are actually receiving a dividend from the landlord, for the utility of owning that land.

I've read that land/material-based taxes instead of income-based could raise enough to fund a GBI, and be sort of organized like Alaska's oil fund.

<comment><USER16> Property taxes are a thing already. It funds infrastructure which we all need more when we are employed, but we all need it anyway.

</comment></comment></comment></comment><comment><USER18> How are automaton owning plutocrats supposed to get rich if they don't sell their robot made wares to the plebs? It's silly to think that automation makes the poor poorer. It makes them richer. Only logical conclusion is that stuff will be cheap enough that real wages go up even if nominal ones dont.Look at any rich country, it's got an order of magnitude more automation than any poorer country and yet it's not the country with less automation that is better off. Why do barbers in rich countries earn more than those in poorer countries for essentially the exact skills? Baumol's disease anyone? Luddites need to think through this harder.

PS: if the evil robot owners produce stuff and keep it for themselves without selling them, the rest of the world still has needs that are unmet and we end up in exactly the world we have today

</comment><comment><USER5> Humans used to gather resources via hunter gathering, then Agriculture tech came along and automated that. Humans now gathered resources via farming. Then industrialization came along and automated Agriculture. Now we gather resources via 'jobs' instead of hunting gathering or agriculture.

How will humans gather resources after the 'job' method is automated?

Or will we even need to gather resources anymore and will be able to focus on art and scientific pursuits and advancing the human race?

</comment><comment><USER7> I've heard universal basic income may be a viable approach, but I think it's unclear how it scales up as of yet.

Regardless, I haven't seen better suggestions yet.

<comment><USER16> What sold me on BI was the concept that every decade the GDP per capita goes up. But we don't _need_ that product as much which leads to consumerism. If one guy can produce all the stuff for five people what's the point of the other four working? We could switch to an experience or service based economy, and/or we could give people a cushion that lets them try out a lot of different things.

Not everybody knows what they want to do at 9 years old like I did. I watch friends and family struggle their whole lives with this and recognize that I was very fortunate.

That said if I had health insurance and programmer culture was a bit different I would work 30 hours a week, get nearly as much done and have more time for family and hobbies.

</comment></comment><comment><USER5> Imagine how great society would be if humans could just focus on scientific and artistic endeavors instead of grinding it out for basic survival?

Think of how advanced the human race could get if no one was starving and people's attention could be focused on science and art and building cool new technology to better the human race.

One day people will look back at how we live as extremely primitive.

</comment><comment><USER19> Who owns the robots?

[http://calroc.blogspot.com/2012/12/blue-collar- coders.html](http://calroc.blogspot.com/2012/12/blue-collar-coders.html)

> In your lifetime the current economic paradigm will become as quaint and > bizarre as a Renaissance Faire.

> The handwriting is on the wall, plain to see for all. With the rapid sweep > and accelerating scope of technological development, most people will be > left behind. Just sitting there you are becoming relatively more ignorant as > a sort of inflation of the mind occurs all around you. There is no way you > can keep up with it all, so how is a normal person going to do it?

> These are the options for normal people:

        1 Exterminate them.
        2 Enslave them.
        3 Pay them to stay home and play video games.
        4 Trick them into make-work and drudgery.
        5 Something else...

<comment><USER20> I like this article a lot except the confusion about unions. Without some kind of organization of workers (you don't have to call it a union) the people with money will own the computers and they will use them to do plans 1-4. A union is a way to harness the political will get the future described in the article.

</comment></comment><comment><USER21> Do guaranteed minimum income. Give everybody a computer and lots of free time. If 0.001% of those people become hobbyist software developers it will pay for the program in a year. And we will probably get AI in two.

<comment><USER22> The total US tax revenue in 2017 was $3.422 trillion.

If you split that evenly among 300 million people, each would get $11,000, which is half of the poverty line of $22,000.

Even if you thought that little money was acceptable, to afford it you'd have to cut:

1\. all military programs

2\. all existing social security programs

3\. all government infrastructure projects

4\. all education programs

5\. ...

<comment><USER23> Is this an honest reply? The middle sees no real change in total income, the only the extremes see changes in total income.

<comment><USER22> My post is describing why minimum income would not result in everyone getting $50,000 a year.

<comment><USER23> Not that I would advocate for such extreme lack of incentives but US gdp per cap is over 50k. Doesnt this mean that you could in theory give everyone 50k?

</comment></comment></comment></comment></comment><comment><USER24> Invest heavily in retraining programs, tax concentrated wealth (of individuals and companies) more deeply, and prevent mergers of already huge companies - especially mergers from the same industry.

</comment><comment><USER18> Start from first principles, jobs are costs. We wanna reduce costs. Also, exports are costs, imports are the benefits. It is counterintuitive to most people, however

</comment><comment><USER25> Robots don't come for government jobs?

<comment><USER20> Solution: the government should hire everybody. They've already got a good start with about 2% of all workers directly employed and another 2% working for contractors. Add state and local government with another 8% of the working population and we're well on our way to full employment. I'm kind of joking but it's interesting to think of job creation projects like WPA taken to a further extreme.

</comment></comment><comment><USER26> And despite all of these concerns, the NYT frequently and consistently advocates for increases in low-skill immigrants, the very people who will the government will need to support when the 'robots come for [their] jobs'. The question is which of those 2 arguments are disingenuous?

<comment><USER27> That's not the case at all. It's very cost-ineffective to automate low-skill jobs because the human capital has historically been extremely cheap. There's a reason we don't broadly have robots cleaning our houses, landscaping our yards, providing in-home care, picking fresh produce, or providing general construction labor.

It's the precisely the lack of these low-skill workers that will drive the necessity of automation, because the cost of hiring people will become too expensive.

Quartz published a well-research article last year on the same topic: "Low- skill workers aren't actually the ones most threatened by robots" [https://qz.com/1010831/the-middle-skill-job-is- disappearing-...](https://qz.com/1010831/the-middle-skill-job-is-disappearing- in-rich-countries/)

</comment></comment><comment><USER28> Make robots pay the equivalent income tax as the people they displaced.

</comment><comment><USER29> Build a big, beautiful wall.

<comment><USER16> Robots are doing that too.

</comment></comment><comment><USER30> Raise everyone up a level to make sure they can perform jobs that robots can't do, like get an advanced degree or incorporate a business. Make it a requirement for citizenship.

<comment><USER20> You run into diminishing returns pretty quickly that way. Having an advanced degree doesn't prevent a robot from taking your job. Maybe we should let the robots do the work and find something cool to do with our time instead.

</comment></comment><comment><USER31> The government should do precisely NOTHING.

The jobs don't belong to workers, so the premise is entirely wrong to begin with.

<comment><USER3> This is correct. It's not the government's job to provide you a job, it's a personal responsibility to find one, if you want one. If you seek one, the government might provide some minor worker abuse and discrimination protections, but this in no way implies you have entitlement to a job or even income.

<comment><USER32> So you're saying that even though the government promised us that exalted "job creators" deserved tax cut to create jobs and increase wages; and even though those same corporations took those tax cuts and paid themselves and bought robots with it instead of meaningfully boosting wages (where is my $4k every worker was promised?); and even though most of that money stayed at the top; and even though we'll be paying off that money far into the future; and even though the government continues to erode worker's rights; and even though this system has created people who have more money than they could possibly spend in 10 million lifetimes while others are starving and homeless; you're telling me that despite all that, it's our own damn responsibility to find a job, and the government plays no role here in a future where the game was rigged the entire time so that capital owners could control everything?

</comment></comment></comment><comment><USER33> >If the Robots Come for Our Jobs, What Should the Government Do?

Nothing

<comment><USER34> Would you answer this question differently: If the Robots Come for Our Jobs, What Should Society Do?</comment></comment>


A Mindset Away from Success in a Toxic Work Environment - <AUTHOR> https://medium.com/swlh/a-mindset-away-from-success-in-a-toxic-work-environment-7e92aa681339 <comment><USER2> This is so incredebly backwards in every way.

>Delay, defer and help everyone cool down. Show your team what mediation looks like. Slowly, usher your team forward with a healthy dose of zen. You can do it. Remember, you've got grit.

The most common problem with managers is when they refuse to make clear decisions and take responsibility for them. This person clearly does not want to do that and thinks being a manager is about "mediating" discussion in her team instead of making its decisions.

I wish the author well, but she sounds incredibly overwhelmed and most of her advice seems to be vague platitudes about managing her own stress instead of how to give better direction to her team.

</comment><comment><USER3> Annoying medium login required.

<comment><USER4> Annoying medium upgrade to paid version required</comment></comment>