Linux Mint's Sobering Update: A Glimpse into the Personal Struggles Devs Face - <AUTHOR> https://www.forbes.com/sites/jasonevangelho/2019/04/08/linux-mint-sobering-update-developer-struggles-community/ <comment><USER3> Linux Mint seems to take a fairly regular beating from the Linux community at large, and I'm not sure why. It became fashionable after their ISO downloads were briefly compromised in 2016, and a popular LWN post became the script for people to reiterate every time Mint is mentioned in any capacity.[0]

I think it's a terrible shame. For all the stuff I wish it did better, it does so much _right_ that I still overwhelmingly consider it the best distro for converting friends and family away from Windows or OSX, even if I don't use it myself.

[0][https://lwn.net/Articles/676664/](https://lwn.net/Articles/676664/)

<comment><USER4> It was fashionable long before that. IIRC Mint had an embarrassing start being advertised as particularly secure (great for online banking!!) despite not really offering anything good in that department.

<comment><USER5> Mint was just weird back then. Ubuntu was so young and had so much things going on, and then came Mint sipping a bit of that energy away. Some users would end up in the Ubuntu support forum I was active at the time and mention they use Mint, and we were like "why would you do that?" In my bubble it felt like a diverging amateur approach (it felt, no idea about whether that was the case) right at the wrong moment with misleading advertisement. That was still very early days for Ubuntu, when users still had to be educated not to break their system with strange and insecure tweak bash scripts downloaded from other forums. And I'd argue it was also before one could understand why you'd want to fork Ubuntu, before there were controversial decisions - <USER2> not with "we make the desktop easier!", Ubuntu was already doing that.

Later on Mint developed its own profile, this was way before Cinnamon.

</comment></comment></comment><comment><USER6> To all Mint developers: THANK YOU!!!

I use Mint for over 5 years as my main OS and it allowed me to make a seamless transition from Windows/macOS to Linux for everyday tasks, on high-end hardware with multiple HiDPI monitors and including games with recent Steam updates (thanks to Ubuntu + Valve as well!). I can't imagine being stuck with Windows 10/macOS these days.

<comment><USER7> THANK YOU. I used it for 7 years, because I was sick of constantly tending to my Gentoo install. I used LM because it Just Worked. I never had to think about the OS, I could just focus on my work.

The biggest bug I had in 7 years of using it was my /boot partition filling up because new kernel installs wouldn't delete the old kernels/initrd.img. Other than that, it just worked. Thank you

<comment><USER8> What do you use now, looks like you don't use LM any more ;)

<comment><USER7> I use Arch. Kind of complex reasons, I guess. It wasn't that LM was deficient in any way, just figured it was time to really dig in and understand what my OS was doing. Arch has the best documentation, so I decided to switch to it.

<comment><USER9> > Arch has the best documentation, so I decided to switch to it.

Not an Arch user but their documentation is amazing (small sample[0]). I toyed with FreeBSD years ago and have never forgotten just how well documented the entire system was too[1].

Well-written documentation (with plenty of real world examples) is severely underappreciated in modern tech. It's not only empowering but it's just plain fun getting under the hood.

[0] [https://wiki.archlinux.org/index.php/List_of_applications](https://wiki.archlinux.org/index.php/List_of_applications)

[1] [https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/c...](https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/consoles.html)

<comment><USER10> > Well-written documentation (with plenty of real world examples) is severely > underappreciated in modern tech. It's not only empowering but it's just > plain fun getting under the hood.

This can't be said enough. Complete, well-written, well-maintained documentation is a key divide separating open- and closed-source. It's expensive and time-consuming to produce — and absolutely essential. Trying to understand how to access a critical setting that some UI wizard has hidden from view in Windows? GLWT.

</comment></comment></comment></comment></comment></comment><comment><USER11> > We can get demotivated, uncertain, depressed even by negative reactions or > interactions, and it can lead to developers stepping away from the project, > taking a break or even leaving for good.

It truly is a struggle. I have a couple of projects with moderate numbers of users, and between the "it doesn't work" private messages (not even mentioning which project) and some abusive and entitled users, I do wonder sometimes what would be the best way to protect ourselves as maintainers of open source projects.

There are of course sensible users whom I truly appreciate, though encouraging messages are easily drowned out by low quality support requests and negative interactions.

We may step away for a while or cut off communication channels in order to heal, but I don't see a real solution to this problem, other than to delegate tasks so that abuse is spread out evenly between a team of maintainers.

<comment><USER12> So, it seems like there is a potential way for a non-dev user to help out with open source, here. Basically, if a person volunteers to be an intermediary, reading the feedback and distilling it down to the relevant content (stripping out the unproductive negativity), that could be useful. It would also be emotionally easier to read harsh feedback, when it's not about _your_ work, just the work of a product you use. Many open source projects have plenty of non-dev users, who cannot really help out currently, but some of them might be willing to if shown a good entry point.

Again, they wouldn't be blocking the feedback, just distilling it down to the most relevant part (e.g. "your piece of sh*t update broke the f#$King feature I depend on for my work!" becomes "newest update caused a regression in this menu item").

Just an idea.

<comment><USER13> While the idea is good and kind, it's not as easy as it seems.

That's called a support line, and it requires good understanding of the project by non-dev support. That requires to educate someone about your project, and maintain their knowledge to be up to date.

That's not an easy task even in commercial projects with a team of several people, and ability to delegate, and requires a non-trivial skill of leadership.

In other words, the project is very lucky to have such people. And while it sometimes happen organically, it's hard to implement this intentionally.

<comment><USER14> They don't necessarily need full knowledge of the product or any such thing, they just need to be able to provide a sort of filter, remove anything uselessly abusive or congratulatory without value, open defects for obvious bugs with reproduction instructions and get users to dig in and provide useful details when asking questions.

Those questions can then be answered directly by them or forwarded off to a dev who will have more detail and be able to get answers faster without the drudge of dealing with the rest of it.

Personally while working at a small company and doing both support and development work, I found it helpful to simply tell customers we'd address issues "with the development team" even when that meant I was going to work on it. Drawing that line in the sand between support and development roles compartmentalize those activities and reduces the immediacy of demand from users.

</comment></comment></comment></comment><comment><USER15> > Beyond that, keep in mind that while donations keep Linux Mint and other > distributions afloat, the occasional message of appreciation can be > encouraging, and at times personally invaluable.

Exactly. This issue isn't just something that "maintainers deal with"; it's also something that "users can help with".

The next time you install a library that makes your life easier, write someone an email. Star the project on GitHub. Open up a "TODO: Keep Being Awesome" ticket where others can show their gratitude.

Even if you don't have the skills or bandwidth to contribute to a project's development, you can contribute to its morale.

<comment><USER16> Thanks for this. I'm not sure I've ever done it with devs I don't know, but I absolutely should - especially for small projects.

Come to think of it, there's one random package that quietly solved the most mindbending pdf issues I've ever faced... Sounds like a good first person to drop a thank you note to!

</comment></comment><comment><USER17> I wish people would realize that being kind gets you results 10x faster and better than being mean/critical.

In my own experience I've had people tell me certain projects on GitHub are complete garbage and criticized all the shortcomings of the tool compared to other tools. It made me feel bad and want to take it down.

On the other hand, I've had users praise other projects and excitedly request some missing features and that made me feel like a million bucks and I was filled with motivation to improve the tool.

<comment> m-p-3 This is where you can tell them to go fork themselves ;)

Thank you for taking your time and knowledge to provide some open-source tools! There's a lot of users out there that silently appreciate it.

</comment></comment><comment><USER18> I can't even imagine the stress from public comments that comes from working on an open source operating system.

I don't use Mint but I'm hugely sympathetic to the devs who have to deal with the backlash from, of all things, a logo and website design change that they likely had little to no involvement with.

<comment><USER19> Opensource anything...

It's not completely thankless, but the thanks seem to be mostly direct and private and then you face public ridicule for errors, bugs, missteps or just when people have different aesthetics or taste and don't like your project. There are so many "behind the scenes" sorts of projects too, stuff that matters and isn't quite as visible to the common end user.

I think of OpenSSL, the big security hole got more marketing and PR than the project ever did with "heart bleed." Then some of the comments during the libressl review were very harsh. They did their thing in anonymity for decades, got used by everything and then took a public beating; clearly it depends on where the developers' hearts are when that happened, maybe it wasn't so bad, it felt bad to watch.

With something like mint, just about everything is subjective. There are going to be a lot of haters just because of opinion.

<comment><USER20> Almost every python package that I've used seems to have Github "issues" opened where someone asks "Why even do this when there's [insert similar but different thing]". Who cares? Pip uninstall it if it isn't what you want? Fork it if you want something slightly different? Or contribute to a productive discussion about the direction of the project? Do SOMETHING positive.

</comment></comment></comment><comment><USER21> Linux Mint is my main desktop operating system now after abandoning Windows and MacOS. I tried Debian, Ubuntu, Open Suse, but settled on Mint because I was familiar with Ubuntu and Mint feels traditional and polished.

Every day I see sad examples of eternal September's march to the written abyss.

I had a dream of writing a significant open source project but the reality of entitled user disruption, lack of clear economic benefit, lack of even personal benefit makes me think its a terrible idea. I wrote a closed source software that sells on the Apple app store. Despite nearly a million Downloads, and thousands of reviews and some real money too, the level of serious entitled bitchyness found everywhere in the open source world is non existant with my product. I even sell it for $19.99 well above typical app store prices.

I love open source, I wish I could contribute but as of now there are more downs than ups.

<comment><USER22> I ran my own company for a few years just to make money to stop working so I could contribute to open source. By the time I finally made enough to not have to worry about money anymore, I had spent enough years working with open source to realize that big companies get great benefits (I was in meetings with HP, IBM, and Oracle VPs where open source was being supported to transfer responsibility and costs away from those companies.) At the same time, it is Software Developers and associated staffs which lose income. There is also less profit to invest in high quality documentation, training, support, and research (ever notice how most open source companies didn't actually develop the technology - they are just monetizing it through support or consulting?)

So I had the chance to live my dream - supporting our community through open source - but realized that it was ultimately the wrong dream for our society.

<comment><USER21> Thank you for the story!

</comment></comment></comment><comment><USER23> Now that I'm no longer super young, I am very much aware of the precious time every day where I can do valuable, creative work (outside work). From this subjective point of view I question if many open soure projects are truly worth it.

Valuable activities would 1\. improve relevant, marketable skills 2\. bring joy 3\. help improve the world 4\. make some money

It appears that many activities around maintaining a linux distro are mundane chores, compared to the learning process of, say, studying security issues deep inside the kernel. It certainly does not bring joy as reliable and immediate as, say, switching off the computer and going outside for some pickup basketball, and there are already plenty of linux distros out there, with marginal differences and little impact general progress. Nothing needs to be said regarding my #4.

So I will offer my unsolicited opintion: Life is short, focus your effort on things that are really worth it.

</comment><comment><USER24> This touches on something I've seen in (some, not all) large open source communities: the language used on a daily basis. The default tone is one devoid of empathy or understanding.

> This update is shit.

or

> [new build gets published, person's pet bug doesn't get addressed] > The > devs are lazy.

At what point did this sort of tone get normalized? I initially chalked it down to non-native English speakers using verbiage from forums and IRC channels, but over time I've observed that isn't the case.

<comment><USER25> While I'd like to blame this on gaming culture, this went on back in the Usenet days too.

<comment><USER26> Hell is other people.

</comment></comment></comment><comment><USER27> To the Mint guys: thanks! I don't use Mint, but I have in the past, and hundreds(thousands?) of people try it each day. Packaging open source software is a labor of love, and the community appreciates the work you are doing. No one ever says "good job!" when it works, but they raise hell when it doesn't.

Keep doing what you are doing, because while you may not get to perceive it often: people _really, really, really_ appreciate the fruits of your work!

</comment><comment><USER28> I would like to propose something that has long been simmering in my mind: zero tolerance to toxicity from the open source community at large. Too often I see entitled developers show up in these forums and just hurl abuse at the people who provide these wonderful tools free of charge. I propose that, if the request is anything less than respectful or if they, say DM a maintainer with abuse or what have you, they get banned. Shoot I'd say they not even be allowed to use the damn software anymore (although that would probably be difficult to manage). If what I am proposing sounds impractical, thats because it is but that doesn't mean we shouldn't start setting precedents. You don't like the new Mint logo? Fine. Tell them but do so nicely. Shoot maybe offer up something substantive and actionable. Whatever you do stop yelling things like "new logo is terrible change it back NOW". There's no excuse for going after someone to the point that THEY ARE CONSIDERING QUITTING MAKING THE SOFTWARE YOU CARE SO MUCH ABOUT. We all know how hard this job is. We should be lifting each other up and ejecting anyone with extreme prejudice who thinks that treating people in this manner is ok. </rant>

<comment><USER29> _> zero tolerance to toxicity_

That's a straightforward path into irrelevance. Every user and developer has a bad day or two; every user and developer has an obscure subject that riles them up well beyond what's reasonable. Zero tolerance here means they do go elsewhere, where quality of discussion is at maybe 90% instead of 100%, but at least they can partake in the discussion. Lastly, assholes make for effective leaders. Unfair? Maybe, but holds true through ages and cultures.

A perhaps contrived example, but here goes: email spam. We have complex solutions to it, blacklists, whitelists, heuristics, whatnot, spread between servers and mail clients. Some end-users may indeed be running zero-tolerance rules, but by and large the system as whole is elastic. If you ever end up on a spam shitlist, be it due to a mistake or actual malice, there's always a way back. If the system was indeed geared for zero tolerance, it would be close to useless, if for no other reason because it would be pretty easy to get unsuspecting victims on a shitlist, dealing them permanent harm.

Coming to think of it, no system in wider society is truly _zero tolerance_ , except the death penalty - and that one is usually very heavily protested, just as well as guarded against mistakes and abuses by several layers of interleaved protections.

<comment><USER28> I would respectfully ask you to re-read my comment. I did acknowledge that zero-tolerance would be impractical (perhaps not as clearly as I should have) but its the ideal to strive for. A sort of "shoot for the moon and hit the stars" type thing. I think that we need to deter abuse in OSS as a whole. Right now it's a way for developers to vent frustration into a faceless void which is part of where the vitriol comes from I think.

To your point, I think also that practicality dictates an escalating type of warning system such as we see in social networks. You mistreat developers in a forum you get a warning about it, next you can't comment for 30 days, finally you are just banned. If you send a direct message to a maintainer or the like with abuse, you get immediately banned. Something like that. The point is, it's not cool to abuse people who make you stuff for free that you use to earn a living. Just a giant hell no.

And lastly, I would like to tell you that you are dead wrong about assholes being effective leaders. Effective leaders are people who are right more often than they are wrong. Effective leaders have vision. Effective leaders inspire people to be better than themselves. If they also happen to be an asshole that is in SPITE of their success. Not because of it.

</comment></comment></comment><comment><USER30> > Remember that these folks are pouring all of their energy into a free > product, and remember that they're sensitive to how you perceive it.

I hope I live to see the day when the internet stops bringing out the worst in us. The Linux community might not be as vitriolic as cesspools like gaming, but some days it really isn't that far off.

<comment><USER31> As someone who has published a free app for fun, I've learned that due to any mix of entitlement and ignorance, anything you put out there can make some people emotionally angry. I'm still learning how to move on and accept that this is OK, for them and for me.

<comment><USER32> Sorry you had to go through that!

I tend to ignore the negative feedback, and reply to the postive feedback (with a simple thank you or something of the likes).

If you did something for fun, it doesn't really matter what people think. Just keep doing stuff for fun, and kudos for putting it out there for others to enjoy! Even if you get some people who don't like it, remember you did not do it for them :-)

<comment><USER31> Thank you! Overall it has been a positive experience :) This is my first time dealing with 'the public' and I'm likely overdue for the lesson that one can never (and shouldn't) make everybody happy.

</comment></comment></comment></comment><comment><USER33> The actual update can be viewed here: [https://blog.linuxmint.com/?p=3736](https://blog.linuxmint.com/?p=3736)

</comment><comment><USER34> The donation graph is misleading IMO, it doesn't start at 0 on the y axis.

</comment><comment><USER35> Linux Mint MATE is awesome and runs really, really well on older laptops. I have installed it for many newcomers to Linux and it has served these people well.

<comment><USER36> MATE is the supreme DE but the old i5 4Gb Vaio laptop I'm using runs Lubuntu (both LXDE and LXQt versions) better.

</comment></comment><comment><USER37> I've been juggling the idea of switching _back_ to Linux Mint after running Ubuntu on my dev machine for the past year. I used Mint on my main PC a few years back and it was simply terrific - ultra fast and did everything as needed.

Sometimes a change of scenery is great, in this case, this mean mention of Mint makes me want to go back.

</comment><comment><USER38> If you like Mint -- and I do -- please consider supporting the devs through a one-time donation or a Patreon monthly commitment: [https://www.patreon.com/linux_mint/overview](https://www.patreon.com/linux_mint/overview)

</comment><comment><USER39> Mint Mate. It's spartan, but it just works.

</comment><comment><USER40> As much as I think that Linux Mint is a distribution with great potential, I don't want to support something that blatantly states that they don't want my help or the help of anyone who supports Israel.

[http://abriefhistory.org/?p=774](http://abriefhistory.org/?p=774)

<comment><USER41> which is fine I think. you are entitled to your own opinion/views, as they are too.

</comment></comment><comment><USER42> Love Mint.</comment>


Zombies Must Be Dualists - <AUTHOR> http://nautil.us/issue/37/currents/zombies-must-be-dualists <comment><USER2> I once took a philosophy of mind course, and I discovered that most philosophers are arguing over the definition of consciousness (and in many cases, of the word "is"). What was really insane to me was philosophers arguing that the mind doesn't exist. My general opinion of philosophers dropped pretty hard after that.

<comment><USER3> Existence is not a predicate. An ontological argument for the mind is no better or worse than an ontological argument for god in Kant's day. Philosophy has a history and the language and terminology _evolves_ to intersect with current ways of thinking. There isn't really progress, just better and worse philosophers, Kant is among the former. _Critique of Pure Reason_ is highly regarded for a reason and worth the effort it takes to read for someone interested in how we got to where we are today in regards to psychology (which wasn't even a science 130 years ago when the pragmaticist philosopher William James cooked up _Principles of Psychology_ ).

One of my favorite books is Julian Jane's _Origins of Consciousness in the Breakdown of the BiCameral Mind_. It's a fun read and not particularly academic. One of my favorite ideas and one that stuck with me from my Philosophy of Mind class is John McCarthy's (yes that one) statement that thermostats have beliefs. It is mentioned in Searle's _Minds Brains and Logic_ (both McCarthy and Searle were out in the bay area, Searle at Cal, McCarthy at Stanford). _Minds Brains and Logic_ is where Searle lays out the 'Chinese Room' problem with artificial intelligence in particular and the ordinary way of reconciling the mind body problem with physicalism in general.

McCarthy's approach comes closer to the radically more honest take on physicalism: minds are an ordinary property of matter.</comment></comment>


Swift String Cheat Sheet - <AUTHOR> http://useyourloaf.com/blog/swift-string-cheat-sheet.html <comment><USER2>
      > Swift is Unicode correct so the equality operator ("==") checks
      > for Unicode canonical equivalence.

I think this is what this implies, but does Swift do grapheme canonicalization/normalization here? And which one? It might be worth adding the "Noël problem" here.

<comment><USER3> Yes, I believe so. From here: [https://developer.apple.com/library/ios/documentation/Swift/...](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html)

"Every instance of Swift's Character type represents a single extended grapheme cluster. An extended grapheme cluster is a sequence of one or more Unicode scalars that (when combined) produce a single human-readable character."

And then later:

"For example, LATIN SMALL LETTER E WITH ACUTE (U+00E9) is canonically equivalent to LATIN SMALL LETTER E (U+0065) followed by COMBINING ACUTE ACCENT (U+0301). Both of these extended grapheme clusters are valid ways to represent the character é, and so they are considered to be canonically equivalent"

<comment><USER2> Nice, thank you for the reference.

</comment></comment></comment><comment><USER4> According to my (admittedly limited) understamding of Unicode, they did almost everything correctly. The only issue I see is with the 'uppercase'/'lowercase' functions, which use algorithms that depend on locale; I wonder which locale Swift assumes (hopefully not some global one...).

<comment><USER5> You can use the lowercaseStringWithLocale/uppercaseStringWithLocale methods to explicitly specify which locale to use: [https://developer.apple.com/library/ios/documentation/Cocoa/...](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/instm/NSString/uppercaseStringWithLocale):

</comment></comment><comment><USER6> A couple missing useful things to know how to do are split, join, and trim, which I have on a page:

[http://www.h4labs.com/dev/ios/swift_cookbook.html?topic=stri...](http://www.h4labs.com/dev/ios/swift_cookbook.html?topic=strings)

Something that's not on either page but if you use SQLite, it's important to be able to convert a C string:

let str:String = String.fromCString(UnsafePointer<CChar>(sqlite3_column_text(statement, columnCtr)))!

Make sure you don't have NULL columns.</comment>


4 FCC commissioners support open Internet rule - <AUTHOR> http://www.reuters.com/article/regulatoryNewsConsumerGoodsAndRetail/idUSN2237873320091022 <comment><USER2> Regulation is helpful when a resource must be rationed e.g. airwaves, right- of-way for roads, water power, clean air. But the Internet is essentially limitless, bandwidth grows to exceed the ability to fill it (keep on innovating folks!) Regulation should be in the law-enforcement arena, not content nor access.</comment>


Why do U.S. coins seem to be in short supply? - <AUTHOR> https://www.federalreserve.gov/faqs/why-do-us-coins-seem-to-be-in-short-supply-coin-shortage.htm <comment><USER2> If the Fed would put Coinstar type machines in Post Offices without charging a fee or taking a cut, I think they would find a lot more people who are willing to get their coins back into circulation.

It would have to be cheaper on an ongoing basis than constantly minting coins.

Wrapping coins and exchanging them at a bank is just too tedious and time consuming.

<comment><USER3> A large number of banks have coin machines inside that will take unrolled coins and deposit them into your account for free. Coinstar unfortunately largely targets people that don't have bank accounts.

<comment><USER4> Pro tip: Coinstar wont take a cut if you get it as a gift card. The times I've used them I just opt for an Amazon Gift card or one for the local grocery chain that I'm already going to be spending money at.

<comment><USER5> That's, uh, taking a cut, albeit a smaller one. You'll lose the cashback or other rewards that you would've gotten for using a credit card. Gift cards can also commonly be obtained for under face value.

<comment><USER6> Where does Coinstar's cut come from then? Wouldn't they be giving back the same amount you put in?

<comment><USER7> Giftcards are typically sold to retailers at a discount (i.e. Amazon sells $100 gift cards for $95 or something).

</comment></comment></comment></comment></comment></comment><comment><USER8> My mom took change into her metro area bank last week because they were giving 10% over face value for change. She got an extra $9.

Nobody keeps change as an investment, but compared to interest rates the bank was offering on savings accounts, this was an incredible return. I'm curious if anybody with accounts at other banks tried withdrawing change to deposit in this bank?

<comment><USER9> Yup. Father in-law had this quarter collection. For whatever reason he spent decades collections quarters from each of the states and had well over $500 worth of quarters. None of us wanted his quarters. He was able to sell them at 3 quarters per dollar, a 25% profit!

<comment><USER10> That's a 33% profit. Anyhow, considering inflation, he still lost money.

<comment><USER11> Most hobbies cost money and have almost zero return.

</comment></comment></comment></comment><comment><USER12> Don't expect any help from the govt fixing this, it's a win/win from their perspective.

No coins means more businesses forcing credit/debit use. More credit/debit use means it's harder to hide cash transactions and therefore means more tax revenue for the govt. As an added benefit, it creates permanent paper trails that can be utilized when convenient.

I go out of my way to pay cash, now just need to make sure I bring enough change.

<comment><USER13> This argument always confuses me, as if "it makes it easier to not pay our taxes" is a legitimate argument for using cash

<comment><USER14> Here in the UK, this practice is so common it has a name: "paying cash in hand". Its literal meaning is just paying cash for something, but its implied meaning is that the recipient won't declare it to the tax authority (HMRC), and you often get a discount for paying cash in hand (so I've heard, I've never actually been offered this myself). Of course we're talking about individual tradesmen here, like plumbers or handimen, not big or even medium businesses.

<comment><USER15> Being paid cash in hand is usually how most teenagers get their first job too. If govt. clamped down on this then you'd see a lot of youngsters struggling to get onto the market, and I believe that's why they let it slide.

<comment><USER13> I'm not sure I totally buy this argument - the logic being that teenagers are only employed because employers can get away with paying them less due to lack of tax. But there are already lower minimum wages for these ages, so it'd still be cheaper than hiring older employees. Plus a lot of these jobs would be part time, so could potentially result in an income lower than the personal allowance (currently £12.5k) and be tax-free anyway

</comment></comment></comment></comment></comment><comment><USER16> It's my opinion that the web page is a non-answer.

It's unclear to me from the page how the supply of coins is disrupted by the pandemic. Perhaps it's because the mint is shut down, but they don't say that.

If coinage isn't an 'essential' business, that seems odd.

<comment><USER17> The first of the related links has the full answer

"The primary issue with coin is a dramatic deceleration of coin circulation through the supply chain. As of April 2020, the U.S. Treasury estimates that the total value of coin in circulation is $47.8 billion, up from $47.4 billion as of April 2019. While there is adequate coin in the economy, the slowed pace of circulation has meant that sufficient quantities of coin are not readily available where needed. With establishments like retail shops, bank branches, transit authorities and laundromats closed, the typical places where coin enters our society have slowed or even stopped the normal circulation of coin. The coin supply chain includes many participants, from the U.S. Mint who produces new coin, to the Federal Reserve who distributes coin on the U.S. Mint's behalf, to armored carriers, banks, retailers and consumers, all of whom have a role to play in helping to resolve this issue."

[https://frbservices.org/news/communications/063020-federal-r...](https://frbservices.org/news/communications/063020-federal- reserve-convenes-us-coin-task-force.html)

</comment></comment><comment><USER18> What does a shortage of coins look like today? Difficulty paying for a parking space or a gumball? Is it just difficulty giving change in a cash transaction? Wouldn't stores have access to banks that arent closed to be able to give change? What's the role that coins play today that would be noticeable?

<comment><USER19> There's some businesses like laundromats serving areas where many folks don't have washer/dryer in unit that are still coin operated. It's a real impact for those since people now need to go further to wash/dry or find friends or family who will help out.

<comment><USER20> A lot of apartment complexes also have on-site laundromats that are coin operated.

I've never understood why the cost of that isn't included in the rent, landlords can't be taking that much of a cut from it.

<comment><USER21> Many pay-to-use(coin or card) laundry rooms in apartment complexes are entirely contracted out to a third party company that handles everything; payment collection, machine leasing, service/repairs, etc. On the whole I think it's easier for them this way.

[https://www.wash.com/360-laundry-room- solution/](https://www.wash.com/360-laundry-room-solution/)

[https://www.coinomatic.com/multi-housing-coin-laundry- soluti...](https://www.coinomatic.com/multi-housing-coin-laundry-solutions/)

<comment><USER22> The small apartment building I live in is set up this way. I don't really mind, but I wish they would find a way to accept cards (credit and/or reloadable) rather than only coins because as it stands right now, I have to go to the bank and get $50 worth of "laundry tokens" (quarters) every few months, since I don't spend enough cash day-to-day to naturally collect enough change for the laundry.

<comment><USER23> I just did this 2 weeks ago at a chase in SF. Usually I get $50 but I was restricted to only $20. Didn't really this shortage was the reason

<comment><USER24> I complained when they would only give me twenty last week in Chicago since I always got fifty before and was told this was the reason

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Is this a uniquely US issue, and if so, why? Other countries have enacted similar lockdowns, wouldn't a coin shortage show up elsewhere given similar circumstances?

<comment><USER26> In Europe it is generally cheaper as a merchant to take credit vs cash, because they have low credit processing fees. Because of this they take credit for pretty much any transaction.

In the US, it's not uncommon to see places only take credit for purchases over $20, especially restaurants.

<comment><USER27> Have you been to Germany? Good luck with getting any cards accepted. And I think you misuse credit for debit - in UK many online retailers only accept debit cards and until the lockdown many mom and pops still really seemed to hate getting out that card machine.

<comment><USER28> I lived in the UK for decades, and I don't recall a place that only accepted debit cards. The fees are slightly lower for debit vs credit cards, but they're low for both types of card.

Plenty of places in Europe don't accept AmEx, it still has high fees.

It's true that Germans prefer cash, but that's not necessarily because of the cost of processing cards. Most supermarkets accept cards, but the average German uses a card slightly more than once a week.

[https://www.euro-area-statistics.org/classic/payment- statist...](https://www.euro-area-statistics.org/classic/payment- statistics?lg=en)

</comment></comment></comment></comment><comment><USER29> My first thought at the headline was that as people head home to isolation, the coins in their pockets stay home with them. Which is probably true.

But the article talks about closing businesses, and _those_ coins leaving circulation until those processes work through.

<comment><USER30> >[https://www.nationalgeographic.com/history/2020/07/black- own...](https://www.nationalgeographic.com/history/2020/07/black-owned- businesses-may-not-survive-covid-19/)

The numbers are kind of all over the place depending on the source, and I'd imagine the ~40 million people on unemployment would be holding on to hard currency pretty tightly too.

</comment></comment><comment><USER31> So I went to this store yesterday. The cashier asked me if I wanted to donate the change to the Childrens' Hospital. By either brilliance or great timing, they started doing this about the time the coin shortage started.

</comment><comment><USER32> Obviously the federal government should've paid the stimulus money in dimes

</comment><comment><USER33> It's odd how the article dances around the true problem: when push comes to shove, there's not enough supply to go around.

On the one hand, it's a pattern that's played out over and over again this year. Toilet Paper. Paper Towels. Meat. Canned goods. Flour. Even yeast.

On the other hand, the Fed is the sole agency in charge of US currency. It swears up and down that there is plenty of physical currency to satisfy all needs. And it can't deliver on the simple promise of supplying coins.

Trouble ahead.

</comment><comment><USER34> For the past 4 weeks I was in North West Florida and it was almost impossible to get coins. I went to 3 grocery stores and they all denied me. Gas stations even had signs warning customers to use exact change. The credit unions in my network wouldn't give anything out either.

Thankfully Loomis dropped a bunch off at my condo's property management office. Most places told me they were only accepting new coins from the cash delivery companies due to COVID.

</comment><comment><USER35> Will this hasten the, presumably, eventual move to a 100% digital economy? I'd like to see statistics on how often people use analog money. Is there correlation by certain socio economic classes? I imagine drug dealers are 100% analog while CEOs are 100% digital. Where does everyone in between land?

<comment><USER36> CEOs are counterparties in the drug trade, too.

Everyone uses cash for some transactions, mostly because it affords privacy.

<comment><USER35> Not everyone. I personally have not touched cash in 15 years or so. I really haven't had any need to. In all that time I haven't had a single experience where card was not accepted.

<comment><USER36> Either you live in Scandinavia, or you aren't sufficiently tipping coat check, valet, bellhops, delivery runners, et c.

Cash is also essential for grease/bribes.

<comment><USER37> > Cash is also essential for grease/bribes.

Am I not bribing enough people? I've never had to.

<comment><USER36> I once had a friend who was bleeding from a head wound from getting attacked on the street. Not life threatening, but messy.

The complication was that it was 1am, new year's day (NYE night, an hour after midnight), on Union Square in NYC, and it was raining.

Not ideal conditions in the pre-Uber world.

Had I not had $400 in cash to flag down a limo(!) and dissuade him from his scheduled appointment, she would have spent the next 3 hours bleeding either on the subway or on foot as we walked back to Brooklyn.

Another time, I got stopped on the highway to the Cancun airport driving back from Tulum. The cop kept saying something about how he would have to write me a ticket, over and over again. Eventually it clicked, and I asked "is it okay if I just pay the fine here?"

Sometimes, cash saves the fuckin' day.

</comment></comment></comment></comment></comment></comment><comment><USER38> I think it might be worth it to consider what coins we use nowadays. When the half-penny was abolished, it had more purchasing power than a dime. [1] Could we get rid of at least the penny so there is less waste?

[1] [https://www.nytimes.com/roomfordebate/2012/04/04/bringing- do...](https://www.nytimes.com/roomfordebate/2012/04/04/bringing-dollars-and- cents-into-this-century/please-finally-end-the-penny)

</comment><comment><USER39> Why are coins more impacted than bills? Shouldn't a slowdown in the movement of cash throughout the economy affect both coins and bills roughly equally?

<comment><USER40> My guess:

Tha article states that closure of bank premises is driving the shortage. You can get new coins at banks. You can't get coins from ATMs or grocery store cash-back.

</comment></comment><comment><USER41> Hopefully this would prompt the U.S. to finally deprecate the penny

</comment><comment><USER42> My bank told me the reason is the feds are capacity limited on coin decontamination. Bills they just burn and print more, but coins cost too much to re-smelt.

<comment><USER43> Ha, b.s. you can warm coins moderately to denature the virus...

<comment><USER44> you could also let them sit in a box for a few days.

</comment></comment></comment><comment><USER45> Any bank I've been to won't even take coins unless they're counted and wrapped. It's hard to keep them useful.

</comment><comment><USER46> A quarter today is worth less than a penny in 1900. Maybe this is a good time to get rid of all coins except maybe the quarter. It is frankly ridiculous to be dealing with pennies, nickels, and dimes, worthless coins.

</comment><comment><USER47> when is the last time someone used a coin to pay for something that wasn't a coin operated machine. Just get rid of them, or make coins that are worth >= $1

<comment><USER40> Paying for parking without having to involve my phone or credit card is pretty nice.

<comment><USER48> I like paying for parking with my phone. It lets me extend when the time is about to run out and cancel the remainder when I leave early.

<comment><USER49> Does cancelling refund the extra to your card? I assumed most systems would just eat it so I may as well leave it for the next guy.

<comment><USER48> Canceling refunds the extra amount to my balance. The app only charges the balance once a month.

You can't leave it for the next guy, because it's not a parking spot that's paid for. Instead, you pay to park a certain car in any spot in a larger parking zone.

</comment></comment></comment></comment></comment><comment><USER50> Seigniorage for coins is at or near 0. Inflation did this

</comment><comment><USER51> Personally I see this as a good thing. The less availability means the less usage. Hopefully this can eventually usher in an era of no coins what so ever.

</comment><comment><USER52> I feel like a smart country would take this opportunity to develop electronic, no-fee payment wallets, not just bring up a coin task force...

<comment><USER53> This sounds like a problem with immediate impact which will eventually (1-2 years?) go away. Creating a new payment system, deploying it widely, getting people to use it, all takes way longer than that time period.

<comment><USER52> Sure. I'm not saying they should not solve the short term problem. Just that there's a bigger opportunity.

</comment></comment></comment><comment><USER54> Nobody uses them.

<comment><USER55> There's millions of Americans using coin operated laundry machines, and that's just one example

<comment><USER56> Judging from this rando laundromat youtuber I saw a few months back, that's basically a closed circular coin economy: you put bills in the money changer, then coins in the washers and dryers. The owner then takes the coins out of the machines and puts them back in the money changer. In that scenario, bills are what enter and leave the laundromat.

But in a regional coin shortage, someone with spare time might just choose to loot the coin machine, and gum up the internal coin economy. Banks are apparently offering an extra 5 percent on coins: [https://www.kctv5.com/a-bank-is-paying-people-to-bring-in- th...](https://www.kctv5.com/a-bank-is-paying-people-to-bring-in-their-spare- change-to-help-local-businesses/article_38745cd0-582b-5e58-bece- dce966cc5a68.html)

This does remind me of the stories a few years back about credit card churners buying coins from the us mint in bulk for the cash back, then depositing at the bank before the bills came due.

<comment><USER57> In laundromats, sure. But many smaller apartment complexes might have one or two sets of coin operated washers and dryers. I've never seen places like that have change machines available.

</comment></comment></comment></comment><comment><USER58> The obvious solution is to make everything digital, but that impacts people who aren't digital. Never mind the anonymity aspect.

The other solution could be to get rid of cents all together.

This is what Vietnam has done and it is fantastic not having to deal with small metal change. Although, this created a new problem, they need to lose a few 0's. Being a dong millionaire (largest bill is 500k) means you've got about $45 in your pocket. Heh.

<comment><USER59> The anonymity aspect is a huge deal.

<comment><USER58> I wasn't discounting it being a huge deal, which is why I mentioned it. But we don't need metal change for that when we can use 'paper' bills (airquotes because in Vietnam they use plastic bills).

</comment></comment></comment><comment><USER60> There's a phenomenal amount of double-think going on in this sentence.

"While there is an adequate overall amount of coins in the economy, the slowed pace of circulation has reduced available inventories in some areas of the country."

Literally the second clause contradicts the claim of the first.

<comment><USER61> How so? The first is speaking broadly, the second refers to specific localities.

Some areas face a shortage because there is an oversupply in others, with a total supply that is adequate. Were they circulating more, the concentrations would presumably level out (or so the argument reads to me).

<comment><USER60> The economy isn't a concept that can be separated from the rate of circulation. If there are shortages, there aren't enough coins. If there were enough, the problem could be solved by booking a couple of lorries to move them around.</comment></comment></comment>


Should I do freelance of my skills on weekends or learn new things? - <AUTHOR> <comment><USER2> I've had several opportunities to do work as a side gig, and I can tell you that it is very difficult to do. Complex tasks as part-time work does not work well. I am not exactly sure why, it could be that humans only have so much bandwidth for problem solving.

</comment><comment><USER3> We don't know enough about your circumstances to advise specifically but here are some of the factors I would consider.

Are you more concerned about short-term income or long-term earning potential? freelance if short-term income is priority.

Where are you at on your competence curve? If you are early the rate of learning and improvement is usually pretty steep. This means investing some time in learning will rapidly improve your skills. Once you are more mature in your core skills the curve usually flattens out and the value of each increment of learning is less.

How good are you with client/customer relations? Marketing and selling yourself? If those areas are currently lacking you should do freelancing as much for the opportunity to learn these people and business skills as for the the opportunity to make money. In the long run good customer service, negotiating and selling are master skills that will greatly enhance your career.

</comment><comment><USER4> Why not both? The more side work you do, the more extra income you can earn. The more you learn, the more marketable skills you'll have to offer your clients?

I don't think it's an either/or proposition. I think it's a both/and...

This has proven to work _very_ well for me.

I had a day job. I also had side work. One of my side customers asked me to come on with their org as a full-time employee. Instead, I started a company - and they are my biggest customer.

</comment><comment><USER5> In my opinion learning new things will benefit in long run.</comment>


Let's Be Honest in Interviews - <AUTHOR> http://dandonahue.net/professional/2016/01/15/lets-be-honest-in-interviews.html <comment><USER2> This post really resonated with me. In a past life I was involved in most of the hiring for a large functional group in the ad agency world. Ad agencies are notorious for their poor work/life balance, and this shop was no different. As I was often the last person to interview (once they'd made it through everyone else), I'd typically ask some question to the extent of "has anyone discussed the workload and typical hours with you?" People with a couple years experience would often say "no, but I expect they are typical for agencies" indicating they knew what the game was. Entry-level candidates needed it spelled out though, which I did.

The ones that accepted the offers inevitably all told me at some point down the line that they appreciated that I didn't sugar coat things in the interview. I also found that it helped them be happier in the role because the job better aligned with their expectations for it.

What candidates did not see were the battles I fought behind the scenes to get more resources, push for SOWs that were actually reasonable based on the team allocations, etc. That said, the fact that there's really no changing that in a low-margin service-based industry was a large part of why I decided to go to a a healthy product-based company that didn't react negatively when I stated one of my top requirements for a company is a healthy work/life balance.

That's just one example, but there have been other hiring situations I've experienced throughout my career where I wish I could have been very candid about things like:

"You would be filling a hole in a team with constant churn because of poor management"

"The client you will be on is a real asshole who yells at everyone and has unrealistic demands"

"We typically pay below market because everyone wants to work on our clients and we know you'll be gone in 1-2 years anyway"

The list goes on. I've also been on the receiving end of some of this when looking for a job. I'm fortunate that I'm accomplished enough in my career to have the luxury of being pickier in where I work, so I'm able to ask some pretty blunt questions that others might frown on to get to the root of these, and the answers are always enlightening, and I avoid situations that almost certainly would have been miserable. But I also get the hiring manager's perspective...if you are resource starved and drowning, sugar-coating things is more likely to get people accepting the offer and being there at least in the short term. It can be really hard to put the long-term health of the company ahead of your personal pain when you are just an overwhelmed cog in the machine. Being honest and upfront about these things takes bravery, and will inevitably grow your team with people whose expectations match the reality.</comment>


OOP practiced backwards is "POO" - <AUTHOR> http://github.com/raganwald/homoiconic/blob/master/2010/12/oop.md <comment><USER2> Previous discussion: <http://news.ycombinator.com/item?id=1993129>

</comment><comment><USER3> "Let's talk about Cats being Animals. For starters, there is no such thing as "Cat" and especially no such thing as "Animal." There is this cat and that cat and this dog and that elephant. "Cat" and "Animal" are abstract concepts we derive from observations of concrete, real instances."

Someone stepped into deep philosophical water without being able to swim.

<comment><USER4> If you want attention in the fashionable inheritance bashing crowd, you need some hyperbole to stand out.

Simply saying "inheritance has its uses, but should be used in moderation" isn't going to score too many points.</comment></comment>


Hacking the Yak: Reverse Engineering the Yik Yak Android App and API - <AUTHOR> https://medium.com/@kylestev/the-yak-is-a-hack-bcf1616f1195

<comment><USER2> Nice work! A few months ago I did the same and built a small tool to reverse- geocode the coordinates to see a) if all of its doable and b) how accurate it was ([https://github.com/mileszim/yaktrak](https://github.com/mileszim/yaktrak))

I'm impressed with how far you were able to go; for a such a simple app, Yik Yak has many questionable areas in its implementation</comment>


Turning vim into an IDE through vim plugins - <AUTHOR> https://www.safaribooksonline.com/blog/2014/11/23/way-vim-ide/ <comment><USER2> While I would never sell it as "turning vim into an IDE", I use most of these plugins. ctrl-P is great, but I would probably switch to fzf if I was bothering to update my vimrc and plugins lately.

Fundamentally, I think people trying to sell emacs/vim with plugins as "turn X into an IDE" are sort of not getting what people see and get from IDEs, though. There's quite a bit more integration that goes into IDEs and what you're making is a pretty barebones/poor IDE with these plugins.

Most languages, though, don't need an actual IDE for them to be great. You need the auto-completion, automatic compilation/error checking, jump to definition, easy-to-reach documentation, etc., for them to instantly be super productive while coding.

Spacemacs with Haskell plugins is one of the best coding experiences I've had and it even taught me some patterns that I didn't know about. Another highlight is OCaml tooling that works really great with both Emacs and vim.

<comment><USER3> And what exactly is it that you're getting from an IDE?

You get refactoring, jump to def, auto completion, linting, code snippets, documentation, depending on the languages you use. For Java there are more lightweight alternatives which lack refactoring features that IntelliJ has, but there has been eclim for ages. But that's using eclipse in the background you say? Well, at some point you're bound to use a language native component to use reflection.

What about Omnisharp? How was Monosharp an IDE and vim with Omnisharp integration, which was based on the same components wasn't?

I feel like the discussion has degraded to peoples perceptions of what an IDE should be. And for most people that perception is: "It should look like IntelliJ" or "It should look like Visual Studio".

Maybe what you really mean is:

It should have refactoring.

It should have auto completion.

It should do performance instrumentation.

It should allow debugger integration.

And then there's the question of how far each feature has to be integrated. For most IDEs performance instrumentation is really just a seperate tool that you can launch form the IDEs toolbar.

<comment><USER4> _debugger integration ... performance instrumentation ... really just a separate tool that you can launch from the IDEs toolbar._

Which is actually awfully close in usability terms to <hotkey to next terminal> \+ <full featured shell> # just sayin'

</comment></comment></comment><comment><USER5> Having seen this article when I first started using vim seriously, I'd recommend fzf.vim in place of ctrl-p and ALE in place of Syntastic. The former I find is much more performant, and the latter takes advantage of Vim8 / neovim's asynchronous features. Plus, fzf.vim comes with Ag, which effectively replaces Ack.vim (albeit, with a little bit of tweaking).

<comment><USER6> That is the reason I chose neomake, because syntastic was dragging vim down. I'm curious, how does ALE compare to neomake?

<comment><USER7> Using ALE right now. By design: Syntastic runs synchronously on save, Neomake runs asynchronously on save, ALE runs asynchronously as you type. Neomake is good but I see no reason to go back from ALE which works brilliantly.

<comment><USER8> Neomake can do that too: [https://github.com/neomake/neomake#setup](https://github.com/neomake/neomake#setup)

</comment></comment></comment></comment><comment><USER9> I tried very hard to get used to Vim. I just feel compared to something like Visual Studio Code it's still very clunky.

I can understand why people who have used it for a decade prefer Vim over other text editors. They already know how to use it and how to integrate it into their workflow. For a newcomer this task, it seems, is nigh insurmountable.

Are there people who recently got into it and think it's the superior way to code and why?

For me, it was a lot of wasted time trying to learn Vim and finding out that other editors that I already use are as good or better.

<comment><USER10> > Are there people who recently got into it and think it's the superior way to > code and why?

I started coding with Visual Studio, and then later Eclipse. I like both IDEs. I only learned about vi/vim about a year after I started programming, and it looked intimidating.

2 years after that, I decided, fuck it, let's see if I can do this. It took me one day to learn how to comfortably navigate with the hjkl keys, as well as how to copy/paste and save/exit. Which was all I needed at first. Over the next two weeks I learned a few more things that you could do, and I never looked back.

It wasn't difficult at all to learn vim. The only thing that I can think of that would make it difficult to learn, is if you don't know how to touch type.

As for why I think it is superior:

The . (repeat) action is so insanely useful and saves you so much time.

Most actions are blazingly fast compared to a gui text editor. e.g. To delete a whole line just press dd instead of home + shift + end + delete

Memorizing all these shortcuts is easy, becuase they are based on a 'grammar' that makes new command combinaitons easy to guess.

There hasn't been one feature that and IDE has that I used, which can't be achieved in vim (or via a plugin)

vim doesn't take up crazy resources, and is installed on most systems by default anyway. And the startup time is almost instant.

<comment><USER11> > Most actions are blazingly fast compared to a gui text editor. e.g. To > delete a whole line just press dd instead of home + shift + end + delete

Ctrl + X works on most 'gui text editors'

> There hasn't been one feature that and IDE has that I used, which can't be > achieved in vim (or via a plugin)

How does "find references" work in vim? If i want to find all usages of a method called "getName", does it know how to differentiate between calls on an object of the class I'm searching from, or usages from all classes that have a "getName" method (aka dumb text search)?

<comment><USER10> > Ctrl + X works on most 'gui text editors'

Really? Even if you haven't selected the line? Because if you haven't selected the line then you'll have to use your mouse first or do the home + shift + end + Ctrl + X to delete the line.

I remember Ctrl + D does this (without needing to select the line) in Eclipse. But it's still faster to type dd than Ctrl + D

> How does "find references" work in vim?

[https://stackoverflow.com/a/9616315](https://stackoverflow.com/a/9616315)

<comment><USER12> Ctrl + D is delete the line on some editors, duplicate the line on some editors. Prepare to be surprised when trying to to use it across environments.

Ctrl + X is the shortcut for cut (as in cut then paste). It cuts the current selection. It doesn't auto select the line if there is no selection.

<comment><USER13> Every editor is different, including vim. In Sublime Text 3, it's Shift+Delete to delete a line, and whether it goes to your clipboard or not depends on a config setting. There's a shortcut to duplicate a line too, but I don't remember the default because I've customized it.

</comment></comment></comment></comment></comment></comment><comment><USER14> Surprised they recommend a single colorscheme (jellybeans) at bottom of article.

Moving between machines and terminals different colorschemes seem to work better than others. This has like a million colorschemes (OK, slight exaggeration but it does have more than I've been able to review. Usually pick from 5 or 6 favorites commented out in .vimrc).

[https://github.com/flazz/vim-colorschemes](https://github.com/flazz/vim- colorschemes)

Also they recommend [https://github.com/Shougo/neocomplcache.vim](https://github.com/Shougo/neocomplcache.vim) (which I've used for years). Reviewing some vim plugins the other day I noticed that github hasn't been updated in 3 years and recommends another plugin now. (Don't plan on switching until it breaks though).

Guessing this article may be a few years old?

<edit>Yes, it says 2014 at top

<comment><USER15> Might be good if the date could be mentioned in the title:-)

</comment></comment><comment><USER16> This is from [2014] and contains outdated information. Can someone update the headline?

As posted elsewhere, we now have vim 8, ALE instead of Syntastic, fzf/fzy instead of ctrl-p, and more.

</comment><comment><USER17> That article seems somewhat out of date now.

For a more up to date approach I'd suggest Drew Neil's Modern Vim book (still in beta)[1] and using async language server plugins[2]

[1] [https://pragprog.com/book/modvim/modern- vim](https://pragprog.com/book/modvim/modern-vim)

[2] [https://langserver.org/](https://langserver.org/)

</comment><comment><USER18> "NERDTree satisfies this need of mine, replacing vim's built-in netrw file navigator with a nicer-looking, less buggy, more fully featured alternative."

Wait, what's wrong with the built-in netrw? I actually started with NERDTree before I knew netrw existed. After discovering netrw, I switched to it instead. I think it looks just fine and prefer it to the more complex NERDTree.

<comment><USER19> I agree, it's better to work with the internal tools if possible. I did install Tim Pope's vinegar plugin [0] as it adds some nice tweaks to netrw.

But I've since switched to using FZF [1] and hardly use netrw anymore.

[0]: [https://github.com/tpope/vim-vinegar](https://github.com/tpope/vim- vinegar) [1]: [https://github.com/junegunn/fzf/blob/master/README.md#as- vim...](https://github.com/junegunn/fzf/blob/master/README.md#as-vim-plugin)

<comment><USER18> Cool, thanks for the recommendations. I've tried ctrlp for fuzzy finding, and it works ok. Might give FZF a try though.

</comment></comment></comment><comment><USER18> I'm surprised the author didn't mention vim's sessions feature. The ability to close the editor/IDE and pick up right where you left off can save a lot of time when working with multiple large projects. It's easy enough to use on its own, but I have a small wrapper plugin that adds a few features for ease of use: [https://github.com/bgrohman/vim-bg- sessions](https://github.com/bgrohman/vim-bg-sessions).

<comment><USER19> For which Tim Pope's Obsession plugin [0] is fantastic. It solved a whole bunch of weird conflicts that I had with plugins.

[0]: [https://github.com/tpope/vim-obsession](https://github.com/tpope/vim- obsession)

<comment><USER18> Cool, I haven't used that one. I'm sure it's great coming from Tim Pope. Mine's working fine for me at the moment, though.

</comment></comment></comment><comment><USER20> Good list! Also, if you work with databases (particularly PostgreSQL) and want to work with them from Vim, check out dbext: [http://jonathansacramento.com/posts/20160122-improve- postgre...](http://jonathansacramento.com/posts/20160122-improve-postgresql- workflow-vim-dbext.html)

Link to dbext here: [https://github.com/vim- scripts/dbext.vim](https://github.com/vim-scripts/dbext.vim)

</comment><comment><USER21> I'll add one more suggestion:

[https://github.com/airblade/vim-gitgutter](https://github.com/airblade/vim- gitgutter)

"A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks."

<comment><USER22> Thats a cool plugin but I had performance problems with it once a file gets above about 1k lines of code so I had to uninstall it :(

</comment></comment><comment><USER23> I recommend vim-workspace for IDE-like tabs. Helped me a lot in working with Vim buffers.

[https://github.com/bagrat/vim-workspace](https://github.com/bagrat/vim- workspace)

</comment><comment><USER24> I'll be honest, the only time I try to tweak my VIM setup to be close to an IDE is when I have no other options (developing on a remote box). It's always a pretty frustrating experience IMO.

</comment><comment><USER25> Why not just use an IDE if that's what you need with a Vim mode plugin rather than shoe horning Vim into something it is not really meant to be. Virtually every major IDE has a Vim mode.

<comment><USER26> Speaking for myself:

* Vim mode in IDEs often only implement the most basic vim commands

* I'm able to work remotely over a slow/spotty connection

* I really hate waiting 10-30 seconds for my editor to start. Often I want to peek at code, then change my mind and want to edit it. I can remotely login and start my editor in less time than most IDEs take to load.

* I like dropping to my shell (not just a shell)

Who says what vim is meant to be? A lot of example vim setups I see are too much for me (too much to set up, too fickle to maintain, too slow in practice)...many of those apply to IDEs for me. But it's nice to see what's out there and how other people fit the pieces together.

</comment></comment><comment><USER27> There'll always be a part of me that wants to learn vim better and set something like this up. Then there's the other part of me, that just uses Sublime instead.

<comment><USER28> The learning curve is steep but learning Vim is worth it.

<comment><USER29> Subjectively I think it's worth it because vim feels more comfortable to me but I'd be surprised if Textmate/Sublime/Atom are any less productive. They're all pretty good editors.

</comment></comment></comment><comment><USER30> This should be only an experiment at best. Please don't waste so much time trying to turn a tool into something that it is explicitely not.

If you just want an IDE experience use one that already exists. If you want to build your own out of plugins, use something like Emacs that has something like that as a core feature.

If you really want to learn vim though, then please learn the IDE that it is already integrated in: Linux. Linux based OSes are the most extensive IDEs because in the past nobody thought there would be a difference between a programmer and a computer user. So it's the most complete system that you can find. And additionally to solving all your programmer problems you also learn an OS and its components on the way.</comment>


Programming Books to Read During the Covid-19 Lockdown - <AUTHOR> https://startingcode.org/posts/programming-books-to-read-during-covid/ <comment><USER2> Just another copy of zeroequalsfalse affiliate links with a new wrapper (tag=zeroequalsfalse-20).

</comment><comment><USER3> Can recommend "The UNIX Programming Environment"

<comment><USER4> I've read this while I was a student messing up with gnu/linux and sometimes writing shell scripts and after having worked as gnu/linux sysadmin reading and writing shell scripts for a living.

It's amazing to see how many shell pearls and tricks these pages are interspersed with.</comment></comment>


Strapdown.js - Instant and elegant Markdown documents - <AUTHOR> http://strapdownjs.com/

<comment><USER2> This is an awesome feature. Is bootstrap using the newest version?</comment>


Show HN: Securefs, a better transparent encryption filesystem - <AUTHOR> https://github.com/netheril96/securefs

<comment><USER2> This is something I wish I implemented as a hobby project but never found the time to do it. Congrats! I see you implement a directory as a file containing a b-tree. Could you provide more info on this?

<comment><AUTHOR> The file is divided into 4KiB blocks, where each block is either used or unused. If it is used, it contains a B-tree node, with the directory entries and block number of child nodes. If it is unused, it is chained into a doubly linked free list so that new nodes can be allocated. Basically memory management and B-tree are handled simultaneously in the I/O process.</comment></comment>


Inventor claims crop yield increases in excess of 200% with new crop agent - <AUTHOR> https://translate.google.com/translate?sl=no&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fwww.tv2.no%2Fnyheter%2F7996033%2F&edit-text= <comment><USER2> Look like nonsense. From the article:

> _Johnsen 's measurements show that the incidence of protons in the air > increased with contamination beyond the 80s and 90s. When the air is > positively charged "steal" the electrons from the sun's rays - and this is > electrons that plants need to grow._

Is something about this invention published in a reputable source, preferably a peer review journal. (I've seen a lot of miracle water and miracle cures in mainstream newspaper, so they are very low n my reputable ranking.)</comment>


Telecommunications Breakdown: How Russian Telco Infrastructure Was Exposed - <AUTHOR> https://www.upguard.com/breaches/mts-nokia-telecom-inventory-data-exposure#/security-lapse-russia/ <comment><USER2> That's a dupe. The other one posted by me is at [https://news.ycombinator.com/item?id=21005707](https://news.ycombinator.com/item?id=21005707)</comment>


Law and disorder – Judge OKs warrant to reveal who searched a name on Google - <AUTHOR> https://arstechnica.com/tech-policy/2017/03/judge-oks-warrant-to-reveal-who-searched-a-fraud-victims-name-on-google/ <comment><AUTHOR> Copy of the warrant is here: [https://www.documentcloud.org/documents/3519211-Edina- Police...](https://www.documentcloud.org/documents/3519211-Edina-Police- Google-Search-Warrant-Redacted.html)</comment>


Operating System Interface Design Between 1981 and 2009 - <AUTHOR> http://www.webdesignerdepot.com/2009/03/operating-system-interface-design-between-1981-2009/

<comment><USER2> What's amazing is there has been no 'crazy revolutionary interface breakthrough' since the early 1980s. I mean, the UI looks pretty much the same and contains the same basic metaphors, doesn't it?

<comment><USER3> "Intuitive user interfaces often use metaphor as an effective 'vehicle of exploration', according to David Siegel in Creating Killer Websites. His examples of metaphors include: 'galleries, TV remote controls, magazines, tabloids, store environments, museums, postcard racks, amusement pars, going inside things (computers, human body, buildings, ant farm, and so on), safaris, cities, and cupboards."

-David Whitbread in The Design Manual

Also... check out Microsoft Bob.

</comment></comment><comment><USER4> Wow, IRIX 3 looks _nice_.

</comment><comment><USER5> One ongoing and disturbing trend is having a literal clock included in the interface. It seems like a terribly inelegant and kitschy way to display essentially a few numbers, a colon, and a single letter.

<comment><USER6> It seems like the analog clock widget is the perennial "Hello World" of slightly more advanced GUI applications. Anyone can implement it (no spec required), it's somewhat fun to write, and it works as a test for some of the more essential APIs in a GUI operating system such as vector graphics and timer events.

I think there's also a psychological aspect involved. The analog clock may be popular precisely because it's inefficient in the ways you described. Including it in a computer operating system may be an attempt to communicate that the system's designers want to respect traditional GUI values like user- centric design and real-world metaphors; that it's the kind of system where they don't mind spending CPU cycles on an inefficient information element as long as it breaks the monotony of text-based interfaces and offers a small tinge of familiarity. (The analog clock is something that you wouldn't find on a 1984 IBM system.)

<comment><USER7> Thanks for the psychological aspect, Pavlov.

</comment></comment></comment><comment><USER8> i find lack of ubuntu disturbing...

<comment><USER3> Ubuntu didn't do anything too incredible (GUI-wise). They just themed gnome. It's pretty, but there are so many more notable GUIs for linux.</comment></comment>


For Pinterest, Revenue Would Turn Copyright Questions Into Problems - <AUTHOR> http://techcrunch.com/2012/03/22/for-pinterest-revenue-will-turn-copyright-questions-into-problems/

<comment><AUTHOR> To be honest, I'm a bit confused about this issue: How is this different from a user sharing copyrighted images (ie: memes) on Facebook or Twitter? Or even just plain ol' sites dedicated to memes?

Are they getting targeted because of their popularity? But what about FB? Is it because Pinterest is open doors where FB is (somewhat) closed?

Would Pinterest avoid all these issues by simply linking the images instead of storing it?</comment>


Anyone going to Leedshack this weekend? - <AUTHOR>

Myself and a few friends are going to Leedshack[1] this weekend and I wonder if anyone else from HN will be there?<p>We don't have a fixed plan but we'd like to explore mass interaction with games. Things like letting many users work in a sort of 'democracy' to control the character/game, or having many players all working towards a collaborative goal. The large group of geeks at Leedshack will hopefully let us test out our theories of the sort of emergent behaviour that will evolve with these sort of systems. The technical challenges should be fun as well.<p>[1] www.leedshack.com <comment><USER2> Clickable: <http://www.leedshack.com></comment>


Ask HN: Any HTML5 dabblers? - <AUTHOR>

OK this site (http://mrdoob.com) has finally convinced me that I can have a pretty good time in HTML5. I've just now decided that now is a good time for me to start getting acquainted with what it (and JavaScript) can do.<p>Where did you start? I'm gonna assume here (http://dev.w3.org/html5/spec-author-view/, http://diveintohtml5.org/); suggestions, examples, blogs, resources, insights, blah, blah are appreciated as always. <comment><USER2> Reference

<http://www.w3schools.com/html5/default.asp>

<http://www.html5rocks.com/>

<http://simon.html5.org/dump/html5-canvas-cheat-sheet.html>

<http://diveintohtml5.org/peeks-pokes-and-pointers.html>

Tutorials

<http://diveintohtml5.org/>

<http://slides.html5rocks.com>

<http://www.html5rocks.com/tutorials/>

<https://developer.mozilla.org/en/Canvas_tutorial>

Demos

<http://html5demos.com/>

<http://studio.html5rocks.com/>

<http://lab.simurai.com/css/buttons/>

Sandboxes

<http://css3please.com/>

<http://playground.html5rocks.com/>

Tools

<http://www.modernizr.com/>

<http://www.contrast.ie/blog/speeding-up-with-modernizr/>

<http://css-tricks.com/examples/ButtonMaker/>

<http://labs.thecssninja.com/font_dragr/>

<http://www.fontsquirrel.com/fontface/generator>

[http://github.com/Modernizr/Modernizr/wiki/HTML5-Cross- brows...](http://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser- Polyfills)

Compatibility

<http://caniuse.com/>

<http://html5readiness.com/>

<http://www.quirksmode.org/compatibility.html>

Detecting HTML5 Support

<http://diveintohtml5.org/detect.html>

<http://www.modernizr.com/>

<comment><USER3> Great list! I laughed because many of those links are already marked as visited.

I also like <http://jsfiddle.net/> as a sandbox.

</comment></comment><comment><USER4> Learn the JavaScript language and browser/DOM programming first, then the actual HTML5 stuff is a few simple additions. Dive Into HTML5 seems pretty good.

* "JavaScript: The Good Parts" by Crockford

* "JavaScript: The Definitive Guide" by David Flanagan

* MDC's "A Re-introduction to JavaScript": [https://developer.mozilla.org/en/A_re-introduction_to_JavaSc...](https://developer.mozilla.org/en/A_re-introduction_to_JavaScript)

* Resig's "Learning Advanced JavaScript": <http://ejohn.org/apps/learn/>

* MDC: <https://developer.mozilla.org/en-US/>

* Crockford's website: <http://javascript.crockford.com/>

* YUI Theater (especially Crockford's JavaScript talks): <http://developer.yahoo.com/yui/theater/>

</comment><comment><USER5> One of my first screen casts was an HTML5 primer (<http://nobulb.com/2009/11/html-5-primer/>). I also found a really good slideshow on what's new in HTML5 (<http://slides.html5rocks.com/>).

(Not certain that the quality of information in my screen cast is nearly on par with the other info presented here, but it was a crowning achievement and something I'm proud of. Let me know if this is bad form, I'll remove this comment.)

</comment><comment><USER6> Don't forget webGL. The best place is here <http://learningwebgl.com/blog/>

</comment><comment><USER7> Just start playing around, The last few weeks I have been browsing a load of sites like <http://html5tutorial.net/> just mess around with bits and pieces then consult Google and Stack Overflow if you get stuck. I recommend getting stuck into some CSS3 first though, its surprising how much you can do in the style sheet.

Also its worth checking <http://ie.microsoft.com/testdrive/> MS have some interesting sandboxes you can play with there. Learn your way around.

</comment><comment><USER8> I'd suggest checking out <http://html5doctor.com>

The authors do a pretty thorough job of reviewing the semantics of new (or updated) HTML5 elements.

</comment><comment><USER9> I helped develop <http://adbubbles.oneriot.com> as an IE9 Beta Launch demo, with much inspiration from mrdoob. The site is now broken since OneRiot just changed their business model away from real time search and shut off their API. I worked a lot with canvas especially. diveintohtml5 was really helpful as was the mozilla developer reference.

</comment><comment><USER10> To be fair, <http://mrdoob.com> has a lot of flash in the examples. You can learn <http://processing.org/> and export to canvas if you want to do things like the stuff on that page.

On the other hand, js rocks...</comment>


Ask HN: Best debugging war stories? - <AUTHOR>

I just finished spending two days with the Eclipse debugger and WireShark to fix a crash that would happen every 100th Spring RPC call I made. Fix turned out to be removing a single line of code.<p>This got me to thinking that HN probably has a good trove of debugging war stories. What are your favorites? Bonus points if they happened to you. <comment><USER2> Sysadmin debugging: Many years ago I had the responsibility of maintaing a qmail setup for SMTP. We had around 1500 accounts and a mail-feed of some 80-90k mails a day. We were happily chewing off a 400mhz P-II with some 256Mb of RAM. Suddenly, the performance of the system began dropping. We only served 2 mails every 2-5 seconds. Tuning up the number of sending qmail processes did not help anything.

At this point, your mail spool begins to fill quickly. You can't process mails and get rid of them in the spool and with 80-90k mails a day combined with qmails primitive handling of bodies, your disk is going low quickly.

The key observation was that the qmail disk-log service used plenty of CPU- time. Restarting it didn't help. At this point, the next key observation is that most of the time is spent in the kernel. strace(1)! We are using blocking disk-writes to sync log changes to disk. Hmmm. It turned out that the log file was so big that many indirections in the inodes were needed. Qmail logs an insane number of lines per mail, so this combined with a hefty disk fragmentation killed the system. _rotating_ the log file made the system jump to 20 processes sending again and we cleared the some 400k mails in the queue in a matter of 80 minutes.

</comment><comment><USER3> Not my bug, but my favorite story is the Mars Pathfinder bug caused by priority inversion:

[http://research.microsoft.com/~mbj/Mars_Pathfinder/Mars_Path...](http://research.microsoft.com/~mbj/Mars_Pathfinder/Mars_Pathfinder.html)

</comment><comment><USER4> [http://www.google.com/search?hl=en&q=debugging+site%3Afo...](http://www.google.com/search?hl=en&q=debugging+site%3Afolklore.org&btnG=Google+Search&aq=f&oq=)

</comment><comment><USER5> <http://catb.org/jargon/html/magic-story.html></comment>


Now You Can Code Without Knowing Code - <AUTHOR> http://www.businessinsider.com/application-craft-a-new-tool-for-corporate-web-apps-2010-9

<comment><USER2> Lots of companies have tried to go this route. Lots of failed, and there are lots still trying. The problem is that you always have to code, otherwise you are just installing something (no different from what we have already had for quite some time.) Having to code and learn the interface is still a burden.

Even if you can build something without really having to know how to code, businesses will still seek developers to build their needed apps. The CEO knows how to mop the floor, but that doesn't mean he will do it himself (though he might if he's the only employee.) Once you are paying a developer, then you probably give that developer the choice of tools to use to build that app. The developer probably wouldn't be choosing this platform.</comment>