Microsoft Offers Windows 7 Extended Update Support to SMBs - <AUTHOR> https://borncity.com/win/2019/10/02/microsoft-offers-windows-7-extended-update-support-to-smbs/ <comment><USER2> "ESUs ranges from $25 per device for Windows Enterprise users in the first year to $100 per device in the third. For per-user users, the ESU price ranges from $50 per device in the first year to $200 per device in the third year."

Not outrageously expensive. I imagine quite a few businesses will pay.

<comment><USER3> _I imagine quite a few businesses will pay._

We'll certainly be at least reading up on this. Small business environment, running 7 Pro on most of our desktops, zero interest in Windows 10, zero interest in getting involved with enterprise-level administrative mess, but still stuck on Windows for at least some of those machines because of a few business-critical software packages and therefore still interested in getting security updates for those machines.

That said, given Microsoft's recent track record, half of me is expecting the other shoe to drop here. In particular, if it turns out that the updates offered are like the full monthly roll-ups and bundle in things like ambiguous telemetry and other user-hostile changes, our interest will immediately drop to zero in this as well. That sort of junk is part of the reason we're avoiding 10 in the first place.

<comment><USER4> I hope you are not the IT decision maker. It seems all of your knowledge of Windows is based from experience with their Home edition.

Unlike Home/Pro Edition, telemetry in Windows 10 Enterprise can be disabled with a single group policy option.[1] With GPO = Secure not more data is sent to MS than your Windows 7. You also have full control updates through the group policy(Also found in Pro).

Windows 10 Enterprise is the true successor or Windows 7/8 Pro. If telemetry is really such a big deal to you, I'm surprised you didn't spend 2 min. on Google to learn this. I've seen in deployed in several small businesses that care are concerned with privacy/telemetry implications.

[1] [https://docs.microsoft.com/en- us/windows/privacy/configure-w...](https://docs.microsoft.com/en- us/windows/privacy/configure-windows-diagnostic-data-in-your-organization)

<comment><USER5> If an IT decision maker researches this, the first thing they'll find is Microsoft's description here[0], which describes Windows Professional Edition as being designed for the SMB. It goes onto describe Enterprise as for "medium and large" businesses, a language they use elsewhere to describe business with 5,000 desktops or more. I get the view this isn't the space the above poster is in.

If you buy a business computer, it will come with Windows Professional Edition - it's pointed out in this link that Enterprise Edition is only available to a Volume Licensing customer (noting there are purchase costs beyond what people are used to paying).

I don't disagree with you in principle that a conscious person should look in this direction, but Enterprise is beyond the reach of many users. It's beyond the reach of a home user, it's beyond the reach of a business small enough that it doesn't want to buy into a bulk program and it's beyond the reach of a large enterprise that feels they've already spend enough on Microsoft licensing by buying "Professional" systems.

They noted they had "zero interest in getting involved with enterprise-level", I have no reason to believe two minutes on Google would change anything for them.

[0] [https://blogs.windows.com/windowsexperience/2015/05/13/intro...](https://blogs.windows.com/windowsexperience/2015/05/13/introducing- windows-10-editions/#gKtrdwWscfCqDytx.97)

</comment></comment></comment></comment><comment><USER6> I often wonder how much of a practical threat the exploits which updates fix really are; it seems like the majority of them are either local privilege escalation or exploit a listening service, all of which won't much affect the typical situation of a single-user PC behind a NAT with no forwarded ports and a user who won't be downloading and running random binaries from strangers (a bad idea regardless of how many updates you install...) Fortunately, the truly scary scenario of an attacker taking control over the Internet of a machine that is just left on and with no action needed on the part of the user seems quite rare; in fact, something like that would be very memorable, yet I don't remember any in at least the decade. The closest to that would be Heartbleed, and that wasn't specific to Windows.

IMHO Microsoft really alienated users starting with Win8's horrible UI changes, and the incessant "telemetry" spyware that grew profusely in the versions after that certainly did not help at all to restore any trust. Using security updates as an excuse to bundle other unwanted changes is also aggravating.

<comment><USER7> > _it seems like the majority of them are either local privilege escalation or > exploit a listening service, all of which won 't much affect the typical > situation of a single-user PC behind a NAT with no forwarded ports and a > user who won't be downloading and running random binaries from strangers_

Browser exploit chains often end up attacking the kernel or local services as part of escaping the sandbox, so it's important to patch these vulnerabilities.

> _Fortunately, the truly scary scenario of an attacker taking control over > the Internet of a machine that is just left on and with no action needed on > the part of the user seems quite rare; in fact, something like that would be > very memorable, yet I don 't remember any in at least the decade._

EternalBlue, which exploited a vulnerability in SMB, is probably the most prominent example in recent times. BlueKeep, an RDP exploit, was another serious threat from earlier this year.

<comment><USER6> Yes, browser exploits are always worrisome, which is partly the reason I have JS off by default.

RDP and SMB aren't exploitable from the Internet if you're behind a NAT

<comment><USER7> > _Yes, browser exploits are always worrisome, which is partly the reason I > have JS off by default._

That is your personal preference of course, but it's highly atypical for any user to have JavaScript disabled. I was just pointing out that the attack surface isn't limited to downloading and running random binaries.

> _RDP and SMB aren 't exploitable from the Internet if you're behind a NAT_

Unless they've forwarded the ports. But either way there are millions of hosts with RDP and SMB exposed (e.g. Shodan reports 5 million of the former and 1.5 million of the latter).

<comment><USER6> Exploits or not, exposing those services to the Internet is a bad idea. If it weren't for NAT that number would probably be much higher...

<comment><USER8> If you are a developer, make sure you make your app secure by default, eg. not listening on a public IP using a standard password. Don't fall in the trap of insecurity by convenience. Too many developers expect users to have NAT, that's why we can never adopt IPv6 for end users, and IoT will never take off until we get our shit together and make our software secure.

</comment></comment></comment></comment></comment></comment><comment><USER9> Seems like there's a company offering those patches to individuals: [https://blog.0patch.com/2019/09/keeping-windows-7-and- window...](https://blog.0patch.com/2019/09/keeping-windows-7-and-windows- server.html)

As a Windows 7 user myself (on a personal computer) for whom upgrading seems clearly net negative, I'm tempted. Has anyone here used their stuff?

<comment><USER10> The minor hassle involved in making Windows 10 a far superior option to Windows 7 can be completed in about the same amount of time as it would take to manually install one of these third party "security" updates. It's just turning off a bunch of ad tracking settings if you're bothered by them, and uninstalling a bit of preloaded rubbish and you aren't relying on a third party to inspect code and port patches as best they are able.

<comment><USER11> This is assuming that the ads and tracking are the things holding people back. Windows 10 has plenty of other issues compared to 7 - UI sluggishness and visual glitches being one that I've experienced.

<comment><USER12> From my experience it isn't even true for "just" the ads and tracking. Considering that you have to redo it again after a major patch to be sure it gets even worse.

</comment></comment></comment></comment><comment><USER13> Putting on my MSFT stockholder hat for a moment: I'm glad to see that they're capitalizing on this market. I don't know how significant the revenue stream will be, but it's better than leaving money on the table.

</comment><comment><USER14> There's some key part of this equation I'm missing.

The premise is that Microsoft wants to focus on Windows 10 but developing security fixes for Windows 7 isn't any cheaper now than it was when Windows 7 was 90% of the userbase, therefore Microsoft wants to stop developing W7 security fixes. But they'll let you pay them to keep developing security fixes for your devices and only your devices. If W7 security fix development is so expensive, how can these fees cover it? Once the fixes exist, why couldn't they be applied to everyone else's Windows 7 PCs? Would it take only a single person with access to the new post-sunset security fixes to distribute them to the rest of the internet in a form of piracy?

<comment><USER3> Assuming this is a genuine offer from Microsoft, the strategy could be as simple as assuming there are going to be very many small businesses reluctant to move from 7 to 10 by January because of the well-documented concerns about 10, but still wanting to keep a responsible level of security updates applied on their machines. Businesses in that position seem unlikely to resort to dubious sources for their security updates. It's just not worth the risk, or frankly even the time, assuming the costs for getting the updates legitimately as quoted in the article are accurate.</comment></comment>


Coasting in Neutral Does Not Save Gas - <AUTHOR> http://www.popularmechanics.com/cars/alternative-fuel/news/coasting-in-neutral-fuel-economy <comment><USER2> To be clear, coasting while in gear still saves gas.

</comment><comment><USER3> I've heard this before, and I understand how cutting the fuel supply to zero would save gas, but there are a couple of things that I don't understand:

Wouldn't this mean that coasting down a long hill in gear would cool the engine and in particular the catalytic converter, potentially causing some operating hiccups and a big emissions spike when eventually reaching the bottom?

Why would built-in mileage computers, with direct access to actual fuel injection figures, compute gas mileage from some other measurement that's only theoretically related under some circumstances? Isn't that sort of going out of the way for worse results?

<comment><USER4> > Wouldn't this mean that coasting down a long hill in gear would cool the > engine and in particular the catalytic converter, potentially causing some > operating hiccups and a big emissions spike when eventually reaching the > bottom?

I have observed precisely that. I have coasted down a hill in gear and have noticed the engine temperature (in my diesel engined car) begin to drop, which worried me a little at the time. This surprised me a little at the time because it happened in a matter of minutes, which I hadn't been expecting.

<comment><USER3> Perhaps a diesel engine is even more prone to the cooling effect, since (it is my understanding) diesels don't have throttles to limit the amount of air pumped through the engine on each rotation.

</comment></comment></comment><comment><USER5> I've been seeing a bit of this type of article lately, perhaps due to the fuel prices rising, and have wondered; if this is true, why do I continue to hear exhaust noise when coasting in gear?

Exhaust noise is purely the sound of detonation, which requires fuel. So why do I hear it if there is no fuel being used?

I'm open to the possibility of my brain faking me out and I'm NOT actually hearing it, too. But I'm pretty sure I am. (NB: My car is a 1995 model, but it is fuel injected.)

</comment><comment><USER6> what worries me is that the title of the article is 'neutral does not save gas' and not 'neutral is exceptionally dangerous because you are not in full control of your car'. if something jumped out at you and you suddenly needed to gas your car, you just lost 1-2 important seconds (if you're very good at remembering what gear to hop into for a given speed/rpm). the next stupid thing you could do is "I'm coasting so I might as well turn my car off". now you lost power steering.

no, neutral does not save gas. your fuel pump has a idling injection setting (lets say keeping the engine at 950rpm). when you're in neutral, the injection mechanism switches to that rate, and you slow down by friction (bearings, wheels, transmission, weight, etc). whereas if you're coasting in gear, the engine switches into engine braking, and eventually slows you down without using fuel. in gasoline engines that works by creating vacuum in the engine (which slows the movement). in diesel engines that vacuum is not created, so the exhaust is somehow blocked (again, slowing the movement).

HUGELY oversimplified explanation, I realize. with apologies to actual mechanics. I'm just a nerd who hammers at his car :)

</comment><comment><USER7> I think this idea comes from when most vehicles had carburetors rather than fuel injectors. If fuel consumption were driven by airflow into the engine rather than electronically controlled, I imagine there would be some benefit to coasting in neutral.</comment>


Wolfram Co-Founder On Why Wolfram Alpha Doesn't Need to Kill Google - <AUTHOR> http://www.popsci.com/scitech/article/2009-05/gray-versus-grouse

<comment><USER2> It just reeks of phoniness. Look, here's the query he wrote in the article:

[http://www64.wolframalpha.com/input/?i=how+many+calories+in+...](http://www64.wolframalpha.com/input/?i=how+many+calories+in+one+ounce+sugar+and+one+cup+butter+and+one+milky+way+bar)

Sure enough, it works. So modify it oh-so-gently:

[http://www64.wolframalpha.com/input/?i=how+many+calories+in+...](http://www64.wolframalpha.com/input/?i=how+many+calories+in+one+ounce+sugar+and+one+ounce+sugar)

And it's utterly confused. It's the same frickin' thing, but simpler. Oh, but it helpfully suggests this:

[http://www64.wolframalpha.com/input/?i=calories+in+one+ounce...](http://www64.wolframalpha.com/input/?i=calories+in+one+ounce+sugar+and+one+ounce+sugar)

Which also confuses it. Why suggest something that you're going to fail on?

</comment><comment><USER3> I don't see a product like Alpha succeeding all by itself. As he says alpha is made to answer questions that involve all kinds of 'primitive' calculations (I call them primitive because it can only use data that it already has in its DB). And out of the many queries that I use Google for every day how many are such? Close to 0.

Its still a nice product but its not much more useful than Mathematica right now. In my opinion their biggest competitor, True Knowledge, is moving in the right direction. They have a new Firefox addon which will add data obtained from True Knowledge to the results page of your Google searches. Thats whats going to succeed. A hybrid of a search engine and an answer engine. And maybe one day once answer engines get smart (not any time soon- <http://en.wikipedia.org/wiki/Question_answering#Issues> ) we will be able to replace most of our Google searches with Alpha queries.

<comment><USER4> So maybe WA will be Google's next big acquisition.

</comment></comment><comment><USER5> Are we still talking about this? Providing a similar service does not mean they are competitors.

</comment><comment><USER6> WA had links to Google queries. So I knew they are not against Google.</comment>


The Liberator Pistol files removed by US DoD Trade Controls - <AUTHOR> http://defcad.org/

<comment><USER2> The DoD in the title stands for "Directorate of Defence". It seems the text in the red banner at the top is incorrect.

DODTC deals with imports/exports of weapons/munitions. I guess it is technically "exporting munitions" if someone in another country downloads one of these files.

<http://www.pmddtc.state.gov/index.html></comment>


Introduction to Category Theory - <AUTHOR> http://www.cs.nott.ac.uk/~gmh/cat.html <comment><USER2> I learned a little bit about Category Theory a few years ago. My favorite book on the subject was this one:

[http://www.amazon.com/Category-Computer-Scientists- Foundatio...](http://www.amazon.com/Category-Computer-Scientists-Foundations- Computing/dp/0262660717)

Concise and clear, with examples that should speak to computer scientists.

However, I've always failed to see the practical interest of categories. It's nice to see how various things can be described or defined in a categorical framework. It may shade new light on some concepts, but I didn't see any useful theorems you could apply (like in vector spaces for instance). Probably I didn't go deep enough.

<comment><USER3> You don't need to go deep. Types and functions (ignoring non-termination) form a category. Functional programming (Haskell programmers in particular) uses many results from it. e.g. building any "container" type (collections, options, futures,etc..) is the mapping of objects of an (endo) functor, the mapping of functions is given by fmap/map As an example, just from the functor laws you get map (f.g) = map f . map g

Natural transformations between functors gives you parametricity and "theorems for free"

Another result that's used directly is the CoYonneda lemma (but I'm still trying to understand it :) )

The point is: category theory in spite of being totally abstract offers many interesting results that can be applied to day-to-day coding :)

<comment><USER4> > Natural transformations between functors gives you parametricity and > "theorems for free"

Could you elaborate? This is something everyone always talks about but I've never really seen a proof/precise statement.

<comment><USER3> The "Theorems for free" paper is here: [http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf](http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf) ( I guess is the most precise you can get :) )

</comment></comment></comment></comment><comment><USER5> When I was in a freshman math course, a professor started the semester with a warning: "Trying to learn math without solving exercises is like trying to teach a toddler to walk from physiology textbooks". Yet, I haven't found a good source of exercises for introductory category theory - is it the case that exercises for this subject are hard to come by? Or maybe it's a relatively advanced subject, so there are few books, and as always most books don't include exercises for some strange reason? Anyway, would love to hear where I can find exercises on the subject, if anyone knows. (BTW, I don't mean sprinkling an exercises or 3-4 here and there like in the OP, I mean like 10-15 exercises per lecture, which was the standard when I was a freshman)

<comment><USER6> If I remember correctly, Awodey[0] has exercises like that.

[0] [http://www.amazon.com/Category-Theory-Oxford-Logic- Guides/dp...](http://www.amazon.com/Category-Theory-Oxford-Logic- Guides/dp/0199237182)

<comment><USER7> Awodey's does not have answers to the exercises, so it makes it hard to find out if I'm getting close or just scribbling things down...

</comment></comment></comment><comment><USER8> Oh nice. This is actually a nice survey of the basics and doesn't assume I have a M.S. or PhD in Mathematics already. I took a quick look through and anybody who's at least learned about working-level Set Theory and can follow various logic notations (basically any CS major) can probably work through this without too much fuss.

</comment><comment><USER9> It would be awesome if youtube's computerphile did a series on this subject. Most professors for this channel are from University of Nottingham.

[https://www.youtube.com/user/Computerphile](https://www.youtube.com/user/Computerphile)

<comment><USER3> If you can stand my thick accent , I did an attempt to introduce the very basics at PNWScala 2014 [http://www.confreaks.com/videos/4864-PNWS2014-what- every-sca...](http://www.confreaks.com/videos/4864-PNWS2014-what-every-scala- programmer-should-know-about-category-theory) (mind you, I'm just learning the stuff)

</comment></comment><comment><USER10> This is _incredibly_ naive because I'm a total layman when it comes to both, but is there a relationship between category theory and semiotics? It seems like indexes and symbols are similar to categories and morphisms. Again, I really don't know what I'm talking about as I've barely scratched the surface of either but it would be awesome to hear from someone who does so they can tell me that I'm misunderstanding both things (and if I'm lucky, _how_ I'm misunderstanding them).

<comment><USER11> Not a Mathematician and one should chime in.

The relationship you're sensing appears very general, in the sense that "is there a relationship between Category Theory and Linguistics?" I definitely think there's a relationship because that's how the human intellect operates, everything is a relationship, but I do not think there is an _intrinsic and meaningful relationship outside the context of general cognition_.

I think Semiotics is important and the study of what the symbols in Category Theory are or why they are used is a meaningful study (and would enable a deeper understanding) but I don't think it's a prerequisite for comprehending Category Theory itself.

<comment><USER10> I figured that semiotics wouldn't at all be required to understand category theory (or vice versa). More that the general language of sign/signified and so forth feels similar in some vague way. But again, you're probably right in that the brain likes to find patterns even when they aren't really there.

</comment></comment></comment><comment><USER12> Nice, but why do mathematicians always overload their symbols? For example, on page 2, the right-arrow already has two meanings!

This isn't making things much clearer.

<comment><AUTHOR> Two things.

Firstly, there simply aren't enough symbols. In programming, naming functions and variables is hard, really hard, and in math you don't have the luxury of giving long names to every separate concept. Part of the value of the notation is its compactness.

Secondly, symbols that are overloaded usually have related meanings, and much of the value in the notation is the abuse of notation that you get from it. You may think it just makes everything confusing and harder, but in truth, learning how to work with the notation is incredibly valuable, and leads to a deeper understanding of what things really are, and how they work.

The overloading is a feature, not a bug.

<comment><USER12> There are lots of things a mathematician can do to avoid overloading.

Use colors, use boldface, use special markers to make the symbols slightly different. Or, using computers, provide mouse-over information.

I agree that sometimes overloading can be useful, but imho when learning new stuff, it complicates matters more than necessary.

<comment><AUTHOR> That depends. Disambiguating these things makes them easier to read, easier to _think_ you understand what's going on. However, in my experience the mental effort involved in working out what the symbols mean in their different contexts is essential to actually internalize and understand.

Yes, if you just want to read it without actually gaining any deep understanding or skill, use boldface, colors, words, mouse-over pop-ups. But if you want to learn something and be able to do it, you need to struggle with it. Only by doing the work do you gain the skill.

As in programming, simply reading programs gains you little, if anything. If you want to grow in skill, you need to work through the detail of programs you read, and do some programming yourself.

<comment><USER12> > As in programming, simply reading programs gains you little, if anything.

But at least in programming, I can do a "grep" for the symbols I want to understand :)

<comment><AUTHOR> Ever tried grepping for an overloaded "+" in C++?

<comment><USER12> This is exactly why I never overload such symbols, or at least I try to keep it at a minimum.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> This is a useful resource:

[http://plato.stanford.edu/entries/category- theory](http://plato.stanford.edu/entries/category-theory)</comment>


Ask HN: What do you use for big data? - <AUTHOR>

I'm curious, what's your library of choice?<p>Hadoop? With HBase? Or something else? How do you query it? <comment><AUTHOR> GitHub has a great list of big data stuff: [https://github.com/onurakpolat/awesome- bigdata](https://github.com/onurakpolat/awesome-bigdata)</comment>


Sublime Text 3 now has font ligature support - <AUTHOR> https://forum.sublimetext.com/t/dev-build-3145/32340 <comment><USER2> Honest question: Why would you want ligatures in plaintext? Especially in code, wouldn't that be weird as some people tend to manually align their code? Like,

      modular_raft = 10
      spam         = 20

The "ft" in modular_raft should convert to a ligature so (I assume) it will then take one character, instead of two. Then developers viewing that source would have different alignments, depending on whether they use Sublime 3 or not.

(EDIT: Formatting.)

<comment><USER3> Besides fancy programming fonts (which I have mixed feelings about), ligatures and other complex text shaping features can also be necessary for legibly rendering string literals in some non-Latin scripts, like Arabic script. Even if your code is all in Latin letters, you might have test data, UI text, etc., that's in something else.

<comment><USER4> Thank you for providing this insight -- I'm one of the seemingly rare few who hates ligatures in my Latin-script fonts, and when I saw this submission my brain leapt to "augh, why!?" \-- you've given at least one very clear use-case where ligature support is valuable, which I was totally unaware of.

<comment><USER5> I've been using Fira Code for a while and having ligatures does make code a bit easier for me to read. I certainly could live without the feature, but if it's there, I'm going to turn it on.

Which, ultimately, is what matters. You actually have to turn it on in Jetbrain's editors.

It's a decent "no harm, no foul" feature.

<comment><USER6> I tried to get ligatures to work in gvim for so long because Fira Code looks wonderful with ligatures. Could not make it work :(

</comment></comment></comment></comment></comment><comment><USER7> Yes!!!!!!!!!!!!!! I nearly quit sublime after using an editor that supported this feature for a month. While sublime is vastly superior in my mind to most other editors (spacemacs and Vim in my book not withstanding) I make a lot of use of icons in the Nerd Fonts for custom icons so this is a huge plus for me.

In my haste: forgot to link to the nerd fonts page! [https://github.com/ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd- fonts)

For what it's worth, I may be a tad OCD about how my desktop looks and feels :P

<comment><USER8> Could you expand on what exactly you use Nerd Fonts for?

I downloaded a few fonts and was expecting using an icon code + a ligature supporting editor to result in the icon magically appearing in my editor but that does not seem to be the case.

<comment><USER7> I extract the icons and make my own folders and theme stuffs. It unfortunately only magically works in Vim with nerdtree or in SpaceMacs with their tree plugin. However I enjoy making my own folders and icons so I don't mind. I should really publish this, there may be a hidden demand here I was unaware of

</comment></comment></comment><comment><USER9> I love the idea of ligatures, but I don't find Fira Code very comfortable. Any other recommendations?

EDIT: Some fonts I like are Courier New and Droid Sans Mono.

<comment><USER10> If you like Operator Mono, I created a project that will add ligatures to the font.

[https://github.com/kiliman/operator-mono- lig](https://github.com/kiliman/operator-mono-lig)

<comment><USER11> Awesome, was just looking for something like that!

Now that sublime supports it, is there a way to use this font with it?

</comment></comment></comment><comment><USER12> It seems to work but it does render certain ligatures incorrectly on OS X for me. For example, <* is rendered as the <> ligature and <\- is rendered as </. Since it's a dev build, I'm sure it will take some ironing out before it hits the stable version but this is really promising!

<comment><USER13> I believe this has now been fixed, although I've noticed a few other issues but the forum is down.

<comment><USER12> I can verify that the issue I saw has been fixed. Now that's the kind of turn around time that I like to see!

</comment></comment></comment><comment><USER14> Tangent: Any good resources to read up on typography? I feel like of all design related issues thats the one I have zero knowledge or insight on.

<comment><USER15> I enjoyed this one: [https://practicaltypography.com/](https://practicaltypography.com/)

<comment><USER16> Great link. Just finished reading through it and I feel more educated on typography. At the very least I now have a better feel of the lingo and vocabulary which surrounds typography. Thanks.

</comment></comment></comment><comment><USER17> Yay!

Now if only the TypeScript plugin were more reliable. Ligatures and TS support were the things making me consider switching. The TS plugin for Sublime is disappointingly buggy.

<comment><USER18> I've been using Language Server to learn rust while coming back to ST after using VSCode extensively. Have you tried using a LSP extension instead of a TypeScript one?

<comment><USER17> No, but maybe I should. Thanks for the tip!

One of the things I hate about the native TS extension is that it disables tab-completion in TS files. I wonder if LSP fixes that.

</comment></comment></comment><comment><USER19> Can i use operator mono with Fira code ligature?

<comment><USER20> From what I know, you could patch your `Operator Mono` or `Operator Mono SSm` fonts. Check out this [https://github.com/kiliman/operator-mono- lig](https://github.com/kiliman/operator-mono-lig).

<comment><USER19> Thank you!

</comment></comment></comment><comment><USER21> Tangential, that site hijacks my CMD-F shortcut preventing me from searching in page.

I hate that.

</comment><comment><USER22> Excited about this for the increased support for non-Latin languages and the code ligatures, but sad that it is pegging 2 cores at nearly 100%. Will look forward to when this is fully stable.

<comment><AUTHOR> probably your projects are just being reindexed due to the syntax definition improvements? unless it's the famous Material Theme increased CPU usage problem or something lol

</comment></comment><comment><USER23> Can confirm Fira Code works fine, although the update has broken the interface a little bit, at least for me.

<comment><AUTHOR> make sure you report it on the forum post with details like OS, screen resolution and theme, and it might get a quick fix - I've seen it happen before for other dev build bugs :)

<comment><USER23> Came home and checked for updates - they have fixed the issue (that was quick!).

</comment></comment></comment><comment><USER24> Great! Time to update versions.

</comment><comment><USER25> I'd rather they integrated SFTP/SCP natively into the editor instead of having to mock with third party extensions.

<comment><USER26> What does that have to do with ligatures?

<comment><USER27> He thinks the developers shouldn't waste time on this feature, and instead waste time on another feature that already has multiple solutions in the plugin library.

Since I don't think you would be able to do this kind of work in a plugin at all, and can clearly implement his feature in a plugin I feel like he can pound sand.

I think he just doesn't want to pay the pittance the developer of the best scp plugin wants for his work.

<comment><USER25> I have used editors that aren't as polished but handler file I/O better.

</comment></comment></comment></comment><comment><USER28> I think Sublime Text is very good but has fallen behind in terms of version control. I think Atom and VS Code are winning the war right now. Especially because the latter are free.

<comment><USER29> Why do people need git support in an editor so much? Using git from the terminal is easy and you always know what is executed because you do it manually.

<comment><USER30> I'm in the same boat as you (I'm also doing "git diff"manually from the command line before each commit).

And to answer your question, probably for the same reason why people have moved on from Assembler to C to managed memory languages to JS and to today's JS frameworks, they want to avoid the "rough" parts by adding another layer of abstraction. For some people constantly going back to the terminal looks "rough", I guess.

<comment><USER31> > they want to avoid the "rough" parts by adding another layer of abstraction.

They've also become thousands of times more productive.

<comment><USER32> Thousands of times more productive, WOW! So we can replace companies entire dev departments with 1 person!

<comment><USER31> > So we can replace companies entire dev departments with 1 person!

Do entire dev departments use ASM for shitting out crappy electron apps? If it wasn't for all those abstractions, a large amount of today's developers wouldn't work in software development. Show some respect for those whose shoulders you sit upon.</comment></comment></comment></comment></comment></comment>


Black Tech Game Changers - <AUTHOR> http://www.npr.org/2013/11/27/247168494/-nprblacksintech

<comment><USER2> Great post. I'm excited to see this discussion happening more and more at the elementary, middle and secondary level. Beyond a 'pipeline' issue, its also an interest and awareness issue among our minority youth.

</comment><comment><USER3> \- Nice post.</comment>


Tesla opens the Model 3 reservation floodgates - <AUTHOR> https://techcrunch.com/2018/06/28/tesla-opens-model-3-reservations/ <comment><USER3> Last I read, Tesla is holding $985MM in customer deposits. [1] Now they are asking for, I'm assuming, full payment for cars starting at $48,000. However, the soonest one can be delivered is in "two to four months" and that's only for the trim that starts at $64,000. Plus there are now quite a few options costing in the thousands.

For every 10,000 customers that place an order of the, likely, several hundred thousand current deposit holders, that's somewhere around $600 MM in additional customer money that Tesla would be holding. For every 10,000 customers. But that money won't deliver a physical product for months.

Is this a play to make billions more in deposit money? Is this how they plan to take no more investment/debt this year?

Is there anyone on the list looking to buy one that can confirm if this requires full payment?

EDIT: Apparently, the ask is for an additional $2,500. [2] That would make $25MM per 10,000 customers that place an order.

Putting forth the additional $2,500 also removes the ability for you receive a refund of the original $1,000 deposit if you do not cancel within three days.

[1] [https://www.bloomberg.com/graphics/2018-tesla-burns- cash/](https://www.bloomberg.com/graphics/2018-tesla-burns-cash/)

[2] [https://www.cnbc.com/2018/06/28/tesla-model-3-orders- cost-25...](https://www.cnbc.com/2018/06/28/tesla-model-3-orders- cost-2500-more.html)

<comment><USER4> They say that cars will be delivered in 2 to 4 months. Also ordering costs $2500.

I thought it is common to pay full amount upfront upon ordering cars, then wait a month or two for actual delivery.

<comment><USER5> It is, with the proviso that it's rare for Americans to order a car before it's made -- we mostly buy them "off the lot". Tesla is unusual in that regard.

<comment><USER3> As a former car salesperson, I can tell you that, in the state of Virginia, car sales contracts are not valid until the customer has physically taken possession of the vehicle. As a result, we were always very reticent to sell a car "off the truck". Customers would swear up and down that they'll definitely follow through but, most of the time, they'd just never come to pick up the vehicle and we'd be stuck trying to unwind a contract. I'm sure this is common in a lot of states.

</comment></comment></comment></comment><comment><USER6> The way I see it, logistics aside, Tesla has awesome cars that are loved by those that manage to get one delivered, customers are actually lining up to buy them to the extent of paying just to get in line for that years ahead of time, and they are pretty much guaranteed to sell anything they ship for the foreseeable future.

Better still most of their would be competitors are either not shipping at all right now, years away from shipping at scale, just plain not even bothering to compete, or shipping limited volumes of not so great products, and generally being vague about timelines, volumes, etc. On top of that they and are struggling with over production of vehicles based on legacy petrol/diesel technology.

E.g. the Germans are doing a lot of hand waving around maybe shipping some electric cars in the next decade while the likes of BMW continue to ship seriously underwhelming electric cars. Ford just discontinued a lot of their petrol sedans. And diesel gate continues to impact most manufacturers involved with basically anything Diesel based.

The way I see it, Tesla will be essentially unchallenged for the next 2-3 years. That's a lot of time to get on top of some simple logistics. And that's assuming the existing car manufacturers actually get their act together. IMHO, most of them are at far bigger risk of bankruptcy than Tesla since they'll be bogged down in demand issues, layoffs, and restructurings for the next few decades.

I don't see the logistical situation as something that can't be resolved by Tesla. Kind of silly to short Tesla under the assumption that this won't be solved; cannot be solved; and that Tesla will perpetually be unable to solve this. The argument seems to be that it is simply impossible to produce the vehicles for Tesla.

If the latest rumors are to be believed, they are pretty much close to the promised rate of 5K cars/week. At 50K price (conservative) that means 250M per week in revenue, or 1 Billion per month. That sounds like a decent business to me. I'm assuming they are not stopping at 5K per week.

<comment><USER7> Tesla lost ~$2B last year, owes ~$10B in debt, and owes >$400M in interest payments per year alone.

Moody's downgraded Tesla's bond rating because Tesla will need to raise more money this year, at least $2B (which is an extremely conservative figure), to avoid Chapter 11 bankruptcy.

Elon Musk also owes >$600M in personal debt that he financed using Tesla stock as collateral. This means that if Tesla stock dips below around $233/share, Musk would face a margin call (sell Tesla stock, driving stock prices lower), or put down more Tesla stock as collateral to fund his debt.

By the way, 90% of the Boring company's funds come from Elon Musk himself, possibly funded by this personal debt.

Other red flags are that shareholders sued Tesla board members for breaching their fiduciary duties by allowing Tesla to acquire Solar City, assuming an extra ~$3B in debt; and Tesla's CFO Jason Wheeler left Tesla in 2017 with over half of his stock left to vest.

The reason people are shorting Tesla is that beyond Elon Musk's cult of personality, the numbers don't add up. Tesla will need to raise more money this year to survive.

Feel free to fact check all of this.

<comment><USER8> OK, all of this is true, and concerning to me, despite that I would never buy a Tesla (when there are perfectly good used Nissan Leafs out there!). This is part of the reason I never invest in individual stocks: I have no tolerance for the risk, and no confidence that I can interpret all these facts to come up with a coherent estimate of whether the price will go up or down.

I guess my question right now is: if the situation is so dire, and the facts are all out there, why is TSLA not priced lower? Is it that there's enough dumb money holding/buying it propping up the price? Or are investors confident in Musk's ability to raise money and eventually turn the corner? Or something else entirely?

<comment><USER9> If perfectly good means ugly :). Not that non EVs are much better though.

Model 3 is honestly the best looking car I have ever seen.

<comment><USER10> Remember that car attractiveness is an opinion. Plenty of people (including me) feel the exact opposite, ie that the Model 3 is really derpy and dumb looking

</comment></comment></comment></comment></comment><comment><USER11> Someone tweeted this video[1] of the tent production line a over a week ago. It looks a lot less clean than the picture Elon tweeted thats in the article.

I don't know if I would purchase a 35K+ car that was assembled outside in the open. Also it appears quite chaotic with chassis being transported around also in the open.

[1] [https://twitter.com/IspyTsla/status/1009134913881190400?s=19](https://twitter.com/IspyTsla/status/1009134913881190400?s=19)

<comment><USER12> I have nothing to compare against, so if I was in the market for a $35k car [1] I'd probably be fine with this.

[1] I'd prefer to invest most of the money and have a cheaper second hand car, and if I had enough spare that $35k was pocket change, I'd be more interested in a tiny aircraft or a small liveaboard boat.

<comment><USER13> > _I 'd prefer to invest most of the money_

Is "I don't own a car" the new "I don't own a TV" virtue signalling?

Seriously, you are offering up your opinion on a product you admittedly have no knowledge of,and no interest in owning.

<comment><USER12> Everything humans do, including asking questions about virtue signalling, is virtue signaling.

That said, although I don't own a car, I didn't actually say that in my previous post. I'm _lucky_ that where I live, I don't need to. That situation is likely to change, and I have no intention to build an identity of, or make a virtue out of, _either_ having _or_ not having a car. If that seems contradictory, consider it virtue signaling "flexibility".

<comment><USER14> >Everything humans do, including asking questions about virtue signalling, is virtue signaling.

Do you not believe in the existence of true dialectics?

<comment><USER12> I had to look up the word dialectics. Rarely, is my answer to the definition I saw, and to my memory thus far only in the context that the tripartite definition of knowledge is horribly flawed because nobody can be 100% certain that what they call knowledge is really true, that instead all we have is the belief — an opinion, in one sense of the word — that the thing we are claiming to know is in fact true.

</comment></comment></comment></comment></comment></comment><comment><USER15> I know then tent is getting a lot of criticism from the public but it is a smart move. The tent gives extra space to add more individual steps to the assembly line and humans are best suited for tasks that are rapidly changing.

I think someone finally realized that you can have as many steps in the assembly line as you want so long as no single step exceeds your quota divided by the time per day. (i.e. need to make 1000 cars per day, no single step in your production process can last longer than 86.4 seconds; but you can have as many steps as you want) In order to make 5,000 cars a week you need to keep your slowest step in your manufacturing process to around 2 minutes. This should be doable.

<comment><USER16> They probably made 1000 bets on how to do things and won 99% of them - <USER2> remaining 10 steps turned out to be manufacturing nightmares. If they knew beforehand what wouldn't work (and you never know that beforehand but afterwards it's easy to point out) they would have designed their manufacturing line differently. Now they lose a lot of time, need more space and workforce but probably will get there anyways if money doesn't run out in the meantime.

</comment></comment><comment><USER17> Tesla has had an extremely difficult time ramping up production of the Model 3.

Hopefully they to to 700 cars a day this week.

However, getting to the 10,000 cars a week (another doubling) seems impossible unless they add another factory.

<comment><USER18> I wouldn't want to make that assumption without further information.

If you are right, a lot of highly trained and paid people have made a grave mistake in their throughput estimates and might still be lying about it.

On the other hand there could be bottlenecks they know how to solve but are waiting for the tooling to be done.

<comment><USER19> Within last 1.5 years highly trained and paid people have made something like 5-7 large mistakes in their Model 3 throughput estimates in a row already. Few more is not that surprising.

They are constantly facing bottlenecks that take them by surprise while they are learning to mass manufacture. Tesla is small volume luxury car maker that attempts to transfer into mass manufacturer with NIH attitude.

<comment><USER20> Tesla has had an insane learning curve to climb. Making a car... just think of how many different subsystems exist. A lot of them could be offloaded to contractors but they chose to do as much in house as possible( which also aligns with Musk's character).

<comment><USER21> Tesla's only been making cars for a decade before they started on the Model 3. So it's understandable that they totally need to learn how to make a car, it's just so hard...

</comment></comment></comment></comment></comment><comment><USER22> This is interesting. Lot of people complain when Tesla bad news are reported. The refrain being - this is clickbait and will media make a news out of this if it was another company or ICE car.

But in this thread I see no complains about why this also not clickbait. How often do we see another companies car launches - electric, ICE or otherwise getting so much attention on HN?

So, for Tesla fans I can only say this - you will live the sword you die by the sword. Tesla gets coverage irrespective of bad, good or neutral. So, next time there is a negative news let's try and have a healthy debate about Tesla issue rather than about "biased media".

<comment><USER23> But do you see how all of the comments spin this to be bad news? "Tesla needs money, that's why they're opening the floodgates, they're hemorrhaging money!"

<comment><USER24> Are you arguing that Tesla is not losing money? Just a couple weeks ago they had a 9% workforce reduction to "reduce costs and become profitable". The company has only had 2 profitable quarters in its history, and had record losses in its most recent quarter.

</comment></comment></comment><comment><USER25> In the electric space it seems like it's going to be Tesla and GM for the foreseeable future. None of Tesla's other competitors are putting out anything remotely close to the Volt and Bolt.

<comment><USER26> What about Nissan? The Leaf seems to be doing well even though it gets ignored in these conversations.

<comment><USER27> Leaf owner here...

The Leaf is mostly ignored because unlike the Model 3 and Bolt, it is a compromise due to it's limited range and it is not a true replacement for an ICE car. For normal usage it's fine but exceptions like mid-day doctor appointments or spontaneous errands after work are sometimes impossible.

The first generation Leafs had a 24kWh battery with an EPA MPGe range rating of 84 miles. The second generation 2018 model has a 40kWh battery with an EPA MPGe rage rating of 151 miles.

The first generation base models of the Tesla Model 3 and Chevy Bolt have EPA MPGe ranges of 220 and 238 miles respectively.

That might not seem like a big deal and an 84 mile range should be fine for most people most of the time. The problem is that the 84 mile range is not entirely accurate.

My Leaf typically reports my range as 90+ miles and my 25 mile commute can use anywhere from 28-42 miles of that reported range. So if I drive to work and back without charging in between then my remaining range is 8-34 miles. That's ok unless I get home from work and my kid needs to go to the music store 5 miles away to buy a replacement reed for their oboe.

Additionally Nissan recommends not charging above 80% or letting the battery fall below 20% to increase the longevity of the battery as over/under charging can degrade the Lithium Ion Cells. So basically they're telling you not to charge your car past 80% and to stop driving when you hit 20% which means they recommend you only ever use 60% of your battery (50 miles).

In comparison, Chevy and Tesla both have built-in buffer capacity in their batteries that's unavailable to you. This buffer prevents you from over/under charging your battery. Because of this buffer you're able to utilize the full advertised range of the vehicles without fear of battery degradation.

</comment></comment></comment><comment><USER28> I don't really care if Tesla's account balance is ok, as long as it's selling something big and new, it's an improvement.

Making electric cars is not just a business, money and accounting doesn't matter at this point. The money side for large projects like this, is an abstraction you cannot focus on. Negative account books will always exist where innovation happens.

Forget the money, and try to think what gets made. That's all that matters.

<comment><USER24> Tesla is a public company. Accounting is very much an important thing, or are you suggesting it's OK for them to cook the books as long as they do it for a good cause?

<comment><USER27> I believe he's saying it's ok to operate at a loss as long as you are demonstrably making progress. In this case by building and selling new vehicles in volume.

</comment></comment></comment><comment><USER29> It will be interesting to see how this plays out.

If nothing else, Tesla customers are buying (or attempting to buy) a piece of history.

</comment><comment><USER30> In the meanwhile, Chinese electric cars have long broke the $30k barrier.

<comment><USER31> Oh yes? How are their crash safety ratings?

<comment><USER30> There are no mandatory crashworthiness rating requirements in China

</comment></comment></comment><comment><USER16> Will my money be safe if they go bankrupt between payment and delivery?

<comment><USER32> No, in that case you'll be lining up with the rest of the creditors and I'd assume you will get back nothing at all or pennies on the dollar at best.

You're playing bank. Hot tip: don't buy cars that are not in front of you and that you can walk around, only buy cars from manufacturers with long term stability to ensure that the vehicle you've bought will function during its economic life in your hands.

<comment><USER33> Technically speaking, aren't Tesla and Ford the only two American car companies, who haven't ever gone bankrupt? :)

<comment><USER10> That's a kind of meaningless assertion though, since Tesla is significantly younger than Ford and others

</comment></comment></comment></comment><comment><USER34> Too bad that as an european reader I just get redirected to some oath.com page instead of the article. If you can't show me the page without tracking me, then no thank you.

<comment><USER28> What I often do with ublock origin, is right clicking on greyed background or div that hide the article, and keep adding rules until I can read the article.

I use firefox containers, I disabled 3rd party cookies, and all of my cookies are cleared when I exit firefox.

Not sure if doing this really escapes tracking though. I'm still wondering what the firefox tracking protection is really doing.

</comment></comment><comment><USER35> So the BFR won't be to save humanity from catastrophy but simply to save Elon from (catastrophic) debt.

</comment><comment><USER36> I think Tesla should offer a public bond on some kind of block chain that can earn interest and go towards a car automatically in 2-3 years. Effectively using an ICO for something with actual value. The point being you can sell your place in the queue (should your circumstances change) and also provide you with a secure saving scheme. Just a thought!

<comment><USER37> What would the blockchain offer that you can't do actually ?

AFAIK, you can buy bonds, buy a Tesla reservation, and sell this reservation without the blockchain.

<comment><USER36> Maybe you're correct - it's closer to a valid use of the technology than most other uses though. Maybe the reason to use this technology would be to decrease transaction costs and to allow people who want it now to pay a premium for someone else's space. Didn't realise you could sell the reservation so probably you're right centralisation is probably always better than blockchain.

<comment><USER38> > decrease transaction costs

How so? If you a decentralised system like that, you need some sort of consensus mechanism, and that is costly, especially when using like PoW. All this would do is to replace robust established mechanisms with expensive and fragile technological overkill that offers no advantage for the user.</comment></comment></comment></comment>


Ask HN: How do I download "saved stories"? - <AUTHOR>

Hello HNers,
I am looking for a link or API to download all of my saved stories or atleast display them on single page (I dont want to press next button every 30 links). Has anyone developed something to accomplish this task?
thanks! <comment><USER2> I might write a python script, but in the mean time if you want them all on the same page, just install AutoPager (available for Firefox and Chrome) and this rule: <http://ap.teesoft.info/view?id=2665>

It works on the Saved Stories page.

</comment><comment><USER3> I know of no way to do this. Last time I wanted something similar I wrote a Python script to do it. It's not hard. I don't still have the script, probably lots of people have done something similar and one of them may still have it.</comment>


Ask HN: What to do about my erronious medical bill? - <AUTHOR>

A year ago my wife an I went for our annual physical. It should have been free under our insurance. Mine was, but she got a bill for $214. I have called, written, emailed repeatedly both my insurance and the clinic. This is the story each tells me.
Insurance: "We only charge because of how it was billed. You'll have to get the clinic to change the billing codes"
Clinic: We don't guarantee anything will be covered. Call your insurgence.
I've looked at the codes. They are the same. With this information I was finally able to get someone on the phone with the insurance company who knew what he was talking about. It went something like this:
"Hi this is Ted how can I help you?"
"The same codes were used for my wife and me, how come she is billed an I am not?"
"Hold on let me get my boss"
"Hi this is Tom how can I help you?"
"The same codes were used for my wife and for me. Why is she getting billed and I am not?"
"hold on let me get my boss"
"Hi this is Mike how can I help you"
"The same codes were used for my wife and for me. Why is she getting billed and I am not?"
"Let me look"
"Oh, she was billed as diagnostic, and you were billed as preventative. You'll have to get the clinic to change that"
So I call the clinic and they say of course, they will resubmit right away
Now, A month later, I get a note saying the bill is being sent to collections.
So here is the deal: Insurance refuses to do anything. The clinic always says they will take care of it but never does. From what I can tell the fault is with the clinic.
How can I make them do something. Is there some sort of formal notice I can send? Should I get a lawyer? What kind of lawyer?
Should I ask this question on some other forum? or Reddit maybe? Help my out gentlemen. <comment><USER2> For $214 there is no rational upside in sending a lawyer.

You seem to be doing a lot of phone calls. _You should stop speaking on the phone about this._ Send a letter, on dead tree, "return receipt requested" to Accounts Receivable at the clinic. Say that you talked to A, B, and C on X, Y, and Z dates, that their staff has accepted that this is a data problem on their end, and that they should promptly re-code this and re-submit to insurance. Tell them that, if they fail to do this and instead send this to collections in error, you will explore your remedies under the Fair Credit Reporting Act and other avenues which are available in your state.

<comment><AUTHOR> Yes, I felt this was correct but I could not find anything to cite. Vague threats did not seem the correct way to go.

I just read about the Fair Credit Reporting Act and that seems to be exactly what I was looking for.

Thanks a bunch.

<comment><USER2> Truth be known it is a bit of a stretch, but it will achieve the desired result (escalation internally).</comment></comment></comment>


Sometimes YC gets it wrong Paul Biggar (NewsTilt) - <AUTHOR> http://blog.paulbiggar.com/archive/why-we-shut-newstilt-down/#disqus_thread

<comment><AUTHOR> Its weird, I read this post over and over again to remind me of -i-dont-know- exactly-what-

I guess it reminds me of: 1) Dont be arrogant 2) People that believe in you could be wrong too 3) You dont know it all 4) Apologies need to be sincere 5) Man up!

Im sure it reminds me of other things; but I cant think of it right now.

<comment><USER2> I guess you're re-reading in the bad ("what a moron") sense?

I'd love if you expanded on your points. I don't really know what to make of them. Am I (we?) being criticized? If so, I'd love the opportunity to reply; if you could provide your reasoning I'd give it a go.

<comment><AUTHOR> oh, let me clarify. I dont think of you or your writing; or this episode of NewsTilt to be "what-a-moron-sense". Clearly, you are a very smart guy -(and thats just based on your writing) You've clearly outlined why NewsTilt didnt work. And its not right to call someone a Moron for failing.

To expand my sentiments:

1) Dont be arrogant. <\-- Your post is a good piece that reminds me not to be arrogant. ~You are a smart guy and very articulate -but your post came off as very arrogant. there were people commenting on your post and your response to their replys came off _defensive_.

2) People that believe in you could be wrong too. <-YC got it wrong this time with backing NewsTilt. Smart guys get it wrong too. _and, thats ok._ we move on and get better*

3) You dont know it all <\-- Thats pretty clear! Cuz people dont know it all; and when people commented on your post, it felt/read like you were trying to convince people how smart you are. _we already know you are smart_

4) Apologies need to be sincere <\-- I enjoyed your post because it was clearly written and gave glimpse to the thought processes and circumstances that led to the closure of NewsTilt. However, it felt like it was an apology post without the apology. I felt like the post should have words -sorry- in quotations. Just felt insincere _heck- even your apology to Matt of Wordpress about wordpress was lackluster- you even footnooted that wordpress sucks at the very end (very funny btw)

5) Man up! <\-- sometimes, I guys just gotta say: "Whoa, guys- I screwed up!". You placed blame everywhere from the honeymoon, to choosing the wrong platform. --You couldve just said "I screwed up" at the end of the post.

_hey, but Im not here to flog you; or belabor the point. _it was a good post and I read it frequently. Lastly, the ONE THING that IS important to note about why you guys failed is:_ You gave up* Three months is a very short amount of time. ( _and when I say "you" i mean NewsTilt and not_ You* personally) Everything else is just noise; the bottom line is: Never give up.

<comment><USER2> Thanks for clarifying. I'm glad that you got so much from my post that you re- read it, even if not everything you got from it is positive.

1) I didn't intend the post to come off as arrogant, nor the replies to be defensive. I guess it's very hard to know what impression you give to people.

3) I think I mostly wrote it as some kind of therapy (I certainly felt better after writing it). The other part I think was to explain my side of the story; the internet can be harsh and people made wild and inaccurate guesses in the absence of an "official" version. And I think I wanted to help people learn from my experience a little bit too, though since it's so hard to know what people will learn, I took the focus off that early on while writing it.

4) I never intended to apologize in this post. I did apologize to the people affected (YC, investors, co-founder, journalists) separately, but this wasn't about that. I think there's a feeling that we should also apologize to some community at large, which I didn't do, since I confess I don't understand the sentiment behind it.

5) I don't really believe in assigning blame in life, just in figuring out why something happened and taking steps to fix it and make sure it doesn't happen again. Lots of people prefer to find the culprit or scapegoat, as if that helps anything. So that's why I didn't do that.

RE "Never give up": I think this is a matter of perspective. I wouldn't use the term "giving up". Rather, we balanced all of our options and took the best one for everyone involved. "Pivoting" or continuing in some fashion would have been worse for everyone.

I think you've fallen into a fallacy I see a lot on HN: that making the startup work is more important than anything else.

<comment><AUTHOR> Well let me first start of by saying I respect you and what you have done so far.

\--but your response itself is symptomatic of what you have demonstrated on my post and the sentiment I have initially outlined.

1) You said: I didn't intend the post to come off as arrogant, nor the replies to be defensive. _I guess it's very hard to know what impression you give to people._

Reply: This is the same notion you expressed about how people/press have perceived you. Has it ever occurred to you that the way you are interpreted is because thats how you portray yourself. The impression you give people are at least 50% your responsibility and waving the flag of ignorance doesnt absolve you from that responsibility.

Hey dont get me wrong. I love guys like you, because your confidence/arrogance makes me sleep at night, cuz hiring guys like you is what its all about!

3) I agree with you on this. And I think its ok and great that you vented. But you must at least concede that there was an undercurrent of emotion(such as guilt) that motivated the post -and it eventually permeated thru the carefully chosen words. _but yeah... sucks!

4) Maybe an apology enmasse would be good for therapy -maybe cathartic

5) But, you did assign blame. At least thats how it read. And I can only assume that is what you intended, since you have demonstrated your effectiveness with words.

_you did give up. you were three month in to it. you basically decided to do something else than NewsTilt. And I think that is by definition giving up. Theres no other perspective to it. there is no other way to interpret it. You start to do something, and three months in to -you stop; thats giving up.

 __I think you've fallen into a fallacy I see a lot on HN: that making the startup work is more important than anything else. __

\-- now, thats just condescending and disrespectful _though, im sure you are very wise in your grey old age. -but; Family, friends, life and love are ALL important. And yes, Startups too. Actually, theres a bit of irony that you comment on the fallacy of "startup work is more important than anything else".. because/// on your post.. you get chastised and you defend yourself for saying:_ "...but startups need that kind of work ethic from very early employees–exactly the reason that intrinsic motivation is so important. If your first employee doesn't love what you do, doesn't wake up each morning dying to work on HIS product, you have likely chosen poorly, and that's exactly what we did." *

Anyway...

<comment><USER2> > Has it ever occurred to you that the way you are interpreted is because > thats how you portray yourself.

Yes, of course. What I'm saying is that I don't deliberately portray myself like that. It's very difficult to get tone right in internet communication in general, and I don't have that solved, and nor do most people.

3) Sure, there was lots of guilt at the time. We lost $25K that belonged to small-time investors, as well as spending the $20K YC gave us. As well as that, we promised lots of things to lots of people, which we didn't deliver. I'm not sure it's what motivated the post though. The post certainly wasn't targeted at the people we felt we had failed.

4) But who would we be apologizing to, and why?

5) I really wasn't trying to assign blame. I was rather trying to be as forthright as possible about the causes of our failure. Assigning blame would be ridiculously difficult anyway. Who would be to blame for the breakdown in relationship between my co-founder and I? Both of us? Neither of us? Just him, just me? None of those are really satisfactory answers, and even if they were, there's nothing to be gained from them.

> you did give up. you were three month in to it.

We were about 8 months into it, but I think this doesn't affect your point. What I'm trying to say is that you're trying to assign a pejorative label ("giving up") to something which doesn't merit one.

> \-- now, thats just condescending and disrespectful though

It must be possible point out stuff like this without the assumption that I'm being condescending, which I'm not (at least not deliberately, see above).

> Actually, theres a bit of irony that you comment on the fallacy of "startup > work is more important than anything else"

I didn't love what I did anymore, I was waking up dreading the days work, so this seems to be exactly on point.</comment></comment></comment></comment></comment></comment>


I did the worst design of my life within GNOME. - <AUTHOR> http://blogs.gnome.org/seth/2010/02/23/i-did-the-worst-design-of-my-life-within-gnome/ <comment><USER2> >your conscious executor is simply way way way too stupid to handle this depth of problem by reasoning it out, you have to offload 95% of the processing off to your subconscious before you can actually program

There's a lot of truth to that. Whenever I encounter a problem I can't easily figure out, I take a brisk walk and give my subconscious a chance to tackle it. If that's not enough, I then have to pull out my (so far) foolproof heavy- hitter: a good night's sleep.

<comment><USER3> That can be wise, but not entirely practical when you think to yourself all day, "I can't solve this problem. I'm going to sleep."

</comment></comment><comment><USER4> >Articulating why a design is good is substantially harder than coming up with a good design.

Yes, and slower. Trust is good, though in a professional environment one will be expected to motivate their choices with a rational argument... unless they want to play the card of the artistic licence, tough one when someone is trying to sustain a business.</comment>


Overestimated effects of violent games (2010) [pdf] - <AUTHOR> https://github.com/Joe-Hilgard/Anderson-meta/blob/master/meta_ms.pdf <comment><USER2> Anyone get reminded of Jack Thompson?

[https://en.wikipedia.org/wiki/Jack_Thompson_(activist)](https://en.wikipedia.org/wiki/Jack_Thompson_\(activist\))

He was active in the 1980's campaigning against obscenity and violence in video games and movies. He got disbarred for lying about things... and it turns out that pretty much everything he said was disproven.

i.e. there's no correlation between fake violence and real violence.

Anyone else reminded of the current hysteria around "sexist games are making us sexist?" Which has a similar level of scientific support. i.e. none.

<comment><USER3> I don't think any serious person is arguing that sexist games are making people sexist who wouldn't be otherwise. Certainly nobody is arguing that sexism is mostly caused by video games.

Sexist games are a problem because they are a space in our culture where women are inferior, or are only sex objects, etc.

In a similar way, there was a time in America when a white person could safely make derogatory jokes about black people to his white friends with little risk of social blowback. Thankfully, anti-racism eventually took that cultural space away. It's not that those conversations were directly doing black people harm, but rather they were part and parcel of a culture in which it was okay to do black people harm in general, a culture that is hopefully being further eroded.

Similarly, I would expect to see the amount of sexist games reduced over time because I hope we are eroding the culture in which it is acceptable to see and treat women the way they are portrayed in these games. That's why speaking out against sexism in games is important--because it is part of the project to make sexist attitudes in general unacceptable in our society, something I hope we all agree is desirable and necessary.

<comment><USER4> Is it wrong to have female characters in games which are e.g. damsels in distress, vapid, submissive, or simply eye candy in the same way that the game "Ethnic Cleansing" by Resistance Records is wrong?

Frankly most game characters - male or female - seem to fall into blatant gendered stereotypes. I think "sexism" is assumed to only be in regards to stereotypes about women though.

<comment><USER3> For what it's worth, I think games which portray men as unemotional automatons who are only capable of the grunt work, or portray men as mostly machismo- fueled bro types who constantly degrade women, also reflect sexist attitudes. Sexism stifles and limits men and encourages men to be toxic--as a result it harms men, and these portrayals are a part of that.

<comment><USER2> > Sexism stifles and limits men and encourages men to be toxic-

It's weird... sexism against women hurts women. Sexism against men makes men hurt others. (i.e. be toxic)

It's almost like the normal use of sexism is, itself, sexist.

<comment><USER5> Of course it is, because women have historically been oppressed by men and not vice versa.

<comment><USER2> That just isn't true. There is zero reason to believe that men _as a class_ have oppressed women _as a class_.

Your ideology is just rebranded communism. Which is itself a lie.

<comment><USER5> I didn't say anything about classes, so I'm not sure where you're getting that from. There is, obviously, a long history of men oppressing women. Men used to own their wives and have the legal right to beat and rape them. Not every claim about one group having done something to another group rests on some kind of Marxist ideology. There are any number of uncontroversial historical statements along the lines "group X did Y to group Z" which would be assented to by people of all ideological stripes.

<comment><USER2> I'm saying "men oppressing women" is the same BS as "the bourgoise oppress the proletariat"

> Not every claim about one group having done something to another group rests > on some kind of Marxist ideology

Of course it doesn't.

What I _am_ saying is that I find parallels in many, many, ideologies. If the only difference between the ideologies is the names of the "bad" and "good" people, then I call the ideologies the same.

<comment><USER5> As far as I can tell, you're saying that it's not true that men have historically oppressed women because it's not true that the bourgeoisie (note spelling) oppress the proletariat. That's clearly a non sequitur.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> This is a 2017 pre-print of a re-analysis of a previous study done in 2010 so I don't think the (2010) is correct as this is current.

</comment><comment><USER7> The one type of game that worries me is the realistic driver's-point-of-view car-racing game.

The risk of someone training themself to drive more dangerously seems much more direct than the "priming aggressive thoughts" stuff.

</comment><comment><USER8> Interesting. If I'm reading this right, they're saying that the 2010 report was full of bias and bad practice right?

</comment><comment><USER9> So you are telling me, those 30 seconds ads on tv dont have any effect at all?

<comment><USER10> Is the purpose of those video games to compell you to commit violence in real life? Games and ads have completely different goals.</comment></comment>


Show HN: A programmable tooltip on Mac OS - <AUTHOR> https://tanin.nanakorn.com/main/2020/04/19/use-tooltip-to-speed-up-your-workflow.html <comment><USER2> > Copying a millisecond-from-epoch number, visiting a website that can convert > it to human-readable date, pasting the number, and hitting enter

I use the builtin `date` utility for this specific task, instead of querying another webpage to translate it.

        $ date -r 1577733633
        Mon Dec 30 20:20:33 CET 2019

<comment><USER3>
        date -r 1577733633
        date: 1577733633: No such file or directory

...

       -r, --reference=FILE
              display the last modification time of FILE

...

Is OSX's date command different from Linux?

<comment><USER3> Found it, for GNU it's `date -d @1577733633`

</comment></comment></comment><comment><USER4> Looks somewhat similar to Popclip[0], but is less intrusive(user needs to be explicit) and more visual(result is shown below).

Very interesting solution for text manipulation. (A bit off topic but...) Seeing these tools which primary interaction happens with the clipboard make me think that the GUI equivalent of UNIX pipes is the clipboard — it allows programs to interoperate in an unstructured fashion.

[0]: [https://pilotmoon.com/popclip/](https://pilotmoon.com/popclip/)

[edit]: fixed typo & changed some words to convey my meaning better.

<comment><AUTHOR> Yes, it's quite similar to PopClip!

Tip is less intrusive and targets programmers (because your provide the script). PopClip is more out-of-the-box and more automatic (I assume PopClip monitors mouse events, but not sure).

I wanted to build Tip for Ubuntu as well but I couldnt find a good mechanism. Mac OS's system-wide service is such a beautiful mechanism. Slick and offer the right level of privacy.

Quick note on text manipulation. Mac's system-wide service can modify text as well!... But sadly I couldn't make it work in a slick way. I might need to attempt at it again

<comment><USER5> > I wanted to build Tip for Ubuntu as well but I couldnt find a good > mechanism.

The selected text would already be on the 'PRIMARY' uh.. clipboard (I hesitate because that's not the 'CLIPBOARD' one and I'm not sure of the genetic term). I would then use dmenu (or equivalent, e.g. rofi) to show the options generated by the script running on the selection.

That wouldn't be a tooltip, (unless there are dmenu-like programs that can be configured to appear at the pointer, I'm not sure) but is probably how most Linux users would expect/want it to appear.

To be honest though, since the target user is already supplying the script to generate it, I think you've given the value you can in the idea, and they're best placed to know how to integrate it into their existing tools most effectively.

For example, using i3 & dmenu:

        bindsym <shortcut keys> exec xsel | thescript.sh | dmenu

If the user's writing the script anyway, they can write that, and the details vary according to the window manager (or other tool used to bind keys) and the dmenu-like used to display them. Some may also prefer a different/better integration with their clipboard manager.

My basic point is that Linux systems are too 'fragmented' and this is too easy for you to a better job once for everybody than they can each do once for themselves.

It's a great idea though, I'm certainly going to bear it in mind and see what I do that could benefit from it, thanks!

<comment><AUTHOR> Ah, yes, now I remember the clipboard on Ubuntu. A selected text is immediately copied to clipboard, and we can use the middle mouse button to paste

The idea is very interesting. Basically, I only build the part where Tip takes the text and invokes a script. User then renders the tooltip themselves.

Thank you!

</comment></comment></comment></comment><comment><USER6> You can do similar stuff with Alfred, which happens to already be quite useful for frequent tasks. At least with Alfred 2, dunno about new versions. Create a workflow, put in a single hotkey trigger block and choose for it to pop up Alfred's window with the selection and the cursor in the beginning. I'm using alt-shift-space as the key. Now you can select text, mash the hotkey and run any of the other workflows that have a 'keyword' assigned, plus have 'script filters' populate the result/tip list before anything is run. I'm using this to invoke search engines or to add notes in Org-mode, without bothering with the clipboard.

While I'm on this topic, let me add that Lua is way faster than Python or even JS, so it enhances the responsiveness if used for workflow scripts or 'script filters'.

I'm also using the Automate app on Android to very similar ends: it can have your workflows invoked via the text selection menu or through sharing (no addons with more payment and embedded ads code necessary, like with Tasker).

<comment><USER7> Thank you for this. Been using Alfred for years and didn't know text selection could be fed to workflows.

<comment><USER6> Same here, actually: used Alfred for a long time, finally got fed up with juggling the clipboard just a couple months ago.

</comment></comment></comment><comment><USER8> This looks like it might help me do something I do multiple times a day. I work with multiple AWS accounts and have to sign in to several different ones each day.

Currently, I have to: \- sign in to AWS SSO \- choose an account \- copy the ENV VARs to my clipboard \- select an iTerm2 tab \- paste ENV VARs into the tab

Using 'tip' I think I could automated the last 3 steps. It's a small win, but when you do it multiple times a day it adds up.

<comment><USER9> Can you use the profiles in ~/.aws/credentials? This is my lifeblood as a freelancer working with many clients and switching AWS accounts all day.

<comment><USER10> Yep. AWS commands take the --profile argument to choose one of the items from the credentials file.

<comment><USER11> You can also use the following bash/zsh function to quickly set the current default profile (requires ruby):

        function aws_switch () {
            local env="$1"
            local region="$2"
            export AWS_DEFAULT_PROFILE="$env"
            export AWS_ENV="$env"
            export KITCHEN_ENV="$env"
            export AWS_ACCESS_KEY_ID=$(/usr/bin/env ruby -e "require 'inifile'; puts IniFile.load(File.join(File.expand_path('~'), '.aws', 'credentials'))[ENV['AWS_DEFAULT_PROFILE']]['aws_access_key_id']")
            export AWS_SECRET_ACCESS_KEY=$(/usr/bin/env ruby -e "require 'inifile'; puts IniFile.load(File.join(File.expand_path('~'), '.aws', 'credentials'))[ENV['AWS_DEFAULT_PROFILE']]['aws_secret_access_key']")
            if [ -z "$region" ]
            then
                export AWS_REGION=$(/usr/bin/env ruby -e "require 'inifile'; puts IniFile.load(File.join(File.expand_path('~'), '.aws', 'config'))['profile ' + ENV['AWS_DEFAULT_PROFILE']]['region']")
            else
                export AWS_REGION="$region"
            fi
            export AWS_DEFAULT_REGION=$AWS_REGION
        }

</comment></comment></comment></comment><comment><USER12> Awesome. Exactly what the all-but-abandoned "services" concept was supposed to do in MacOS (replaced by the all-but-abandoned extensions).

<comment><USER13> To me this is one of the great mysteries of computers: Why don't people use these features more? I have tons of Services that I use all day, for me they're one of the most important features of the OS (archiving text, opening all selected URLs, and converting the selection to title case are some examples). Yet Services don't seem popular, why is that? People seem to customize their shells (e.g., write Bash scripts, make aliases, and customize their prompts), and even non-programmers seem to be able to accomplish complex automation in Excel, or with a tool like Zapier. So why don't people customize their OS similarly? I find the gains to be greater, because if I customize at the OS-level, my customizations are useful in any app, and forever, instead of being tied to a particular app or project.

<comment><AUTHOR> Services is hard to google. The term is overloaded.

I think it's called (or was called at some point) "system-wide services". But official doc doesn't use this term.

I was simply fortunate to stumble upon it. Initially, I was thinking about building Tip on clipboard (or pasteboard), which would have been inferior.

</comment></comment></comment><comment><USER14> The title doesn't do it justice once I saw it.

These aren't simply tool tips. They are actions.

<comment><AUTHOR> You're right. I'm finding a way to explain it better.

Tip shows related actions that can be performed on a piece of text.

A suggestion is very welcome here.

</comment></comment><comment><USER6> Btw, if you want to be even lazier and not involve the other hand—services can be run from the context menu (which is a bit busy but at least it's available).

Also, regarding Swift, the language is pretty simple: I did't know either ObjC or Swift but was able to make a small program in it. The most annoying thing is that Swift's APIs and types constantly change between versions, so you have to translate between the docs and your version of OSX.

<comment><AUTHOR> > Btw, if you want to be even lazier and not involve the other hand—services > can be run from the context menu (which is a bit busy but at least it's > available).

Yes, Right clicking and selecting the menu manually works as well. Thank you for mentioning it.

My setting is that my mouse has an extra button, so I configure the extra mouse button to emit Cmd+F3 (which triggers Tip). It's a one-hand one-click operation!

</comment></comment><comment><USER15> This is neat, reminds me a little of Apple Data Detectors, a text selection parsing thing that Apple shipped around System 8 or so. I still miss it.

</comment><comment><USER16> I haven't used the Acme text editor, but this reminds me of what I have read about it in that any text can be a command. Very neat looking.

<comment><AUTHOR> That's a good way of thinking about it.

The fundamental of Tip is that every piece of text has a relevant set of actions.

</comment></comment><comment><USER17> This is fantastic, thank you.

I have two questions:

1\. Did you decide against including any script in the app bundle for more privacy? It looks like it.

2\. So all scripts must be appended in that same file? Have you thought about a behavior like a ".d" directory in the recent "Unix world", where each file can add configuration options? That would enable using different scripts and different languages.

<comment><AUTHOR> > 1\. Did you decide against including any script in the app bundle for more > privacy? It looks like it.

Sorta.

My initial use case didn't need a bundled script. My current script involves heavily my local env (e.g. credentials, searching local file). Some use cases are very specific to company's internals (e.g. lookup user id).

I might consider embed a script. But I haven't given it much thought yet, and, because of App Sandbox, the script wouldn't be able to do much.

> 2\. So all scripts must be appended in that same file? Have you thought > about a behavior like a ".d" directory in the recent "Unix world", where > each file can add configuration options? That would enable using different > scripts and different languages.

Yes, that's some what in a roadmap. For now, you can workaround by having the main script calls out to the other script

Thank you for the questions. Please don't hesitate to let me know how it works for you!

</comment></comment><comment><USER18> Awesome!

For a lot of my personal productivity tools, I've been using Alfred, but for some of them a tooltip would be a lot more natural. Looking forward to using it!

</comment><comment><USER19> Looks pretty neat.

<comment><AUTHOR> Thank you! any feedback is welcome.

</comment></comment><comment><USER20> Oh wow. Plugin to translate chinese to english?

<comment><USER21> I use PopClip[0] (recommended above). One of the extensions you can download sends whatever you've selected to Google Translate. Don't need it often, but it's fantastic when I do.

0: [https://pilotmoon.com/popclip/](https://pilotmoon.com/popclip/)

</comment></comment><comment><USER22> ออซัม

<comment><AUTHOR> Well, awesome :)

</comment></comment><comment><USER23> I saw it but title did not justice it.

<comment><AUTHOR> I'm open to a suggestion on how to explain it in a better way.</comment></comment>


SFTPGo: A Full Featured SFTP Server in Go - <AUTHOR> https://github.com/drakkan/sftpgo <comment><USER2> This looks like a very interesting project to make a lightweight sftp server, though the dependency on an SQL db makes it a bit harder to install.

Go has a really good set of crypto primitives, an excellent ssh implementation maintained by the core team, and a great sftp server and client library which makes this project possible.

I recently added an sftp server to rclone: [https://rclone.org/commands/rclone_serve_sftp/](https://rclone.org/commands/rclone_serve_sftp/) \- this can serve any of the cloud providers rclone support as sftp (or local disk). This runs on windows/macOS/linux too.

It was a joy to add this as the Go libraries are very well thought out and easy to use.

<comment><USER3> Not sure the case in this context, but usually the SQLite dependency can almost be seen as no-dependency at all - it's just a file on the disk without any external dependency.

<comment><USER4> On the other hand it requires a C compiler, so it's definitely heavier than a pure go application

<comment><USER5> Serious question, why hasn't anyone rewritten it in Go? Been awhile since I've looked at it but C to Go doesn't seem that difficult to translate.

Edit: just looked at the amalgamation again, it's huge... Still surprised no one has tried it yet that I know of. Pre-processor directives would probably make it even more difficult though.

Edit2: and it already works so what's the point, other than an extremely challenging problem

<comment><USER6> Sqlite has been rewritten in both Go and C#.

It's really not that hard. The code is clearly documented and everything works in roughly the same way. Easily achievable by a single developer in a few months.

Sqlite code is emulating classes with structs and methods (they're even called classes in the code). This it's pretty easy to translate into languages with reference and struct support.

Memory allocation is separated into an allocation provider, which is easy to implement in GC languages (just create the struct requested).

The parser and VM opcode file is tricky. The opcodes are parsed from comments in one big file. I'm not a fan of that. But once generated for a particular version, pretty easy to translate.

Testing is another can of worms. Translating the exact version of Tcl, too is the best course of action. This is required to run and pass the (hundreds of thousands of) base line tests. Other correctness tests (in sqlite because of branch coverage requirements for aircraft software) are harder to translate. The prerelease burn in test is also not publicly available.

Preprocessor directives are not used as macros. Rather they are used to enable features. In a port, you can for example choose to exclude WAL or specific optimizations. FTS can be left out if not needed. The different lock implementations can be deferred to the stdlib.

If you interested in the perf overhead, here's a small benchmark of a C# implementation I maintain:

[https://drive.google.com/file/d/11Bgfh1WgEreDenosoEdWkYAOb6u...](https://drive.google.com/file/d/11Bgfh1WgEreDenosoEdWkYAOb6u_fhMQ/view?usp=drivesdk)

<comment><USER7> Can you point to the pure Go re-implementation of Sqlite? I was looking for such a thing but never found it. Instead I had to go with a k/v store like Bolt.

<comment><USER8> [https://godoc.org/modernc.org/ql](https://godoc.org/modernc.org/ql)

<comment><USER6> That's not it. It was a GitLab project, but searching for that is pretty difficult. I'll edit this comment if i find it.

Edit: Here it is: [https://gitlab.com/cznic/sqlite](https://gitlab.com/cznic/sqlite)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> A lot of the world runs on sftp. The flexible user management in this code would have saved my team about a month of time implimenting our own solution.

</comment><comment><USER10> Part of the utility of SFTP to clients and admins is the fact there are no additional requirements other than SSHD to function.

This seems to fly in the face of that.

If you are willing to install more software, why not use a more feature filled file server?

<comment><USER11> OpenSSH is very much tied to system users, but sometimes you might want to give access to external users that don't need to exist as actual unix users.

 _because_ SSH and SFTP are so closely tied together, a configuration via PAM is pretty hard and inconvenient because creating fake users via PAM for SFTP will also create them for SSH and because there's no easy way to map all such virtual users to the same user-id. Also, because OpenSSH has zero support for virtual users, aside of a PAM configuration, you also need an NSS configuration and now all your virtual users in some database have suddenly become system users on your box.

SFTP as a protocol on the other hand is very convenient over, say FTP over TLS because it's using a single TCP port and it has been created this century.

So having this self-contained project is useful when you need to allow third parties access to files but you also don't want to create system users for them or risk f'ing something up with PAM

<comment><USER12> I'd second this, I've longed struggled to come up with a easy-to-deploy sshd/sftp/chroot configuration that permitted easy database-driven configuration w/o extra shell access. You have to fight a lot of defaults to get this just right.

Would the OpenSSH upstream accept patches for an unprivileged sshd/sftp- subsystem to make this easier to use their battle tested code?

<comment><USER13> If you just want to share files and not giving the option to upload files, you could try graft...

[https://github.com/sandreas/graft](https://github.com/sandreas/graft)

graft serve ./*.txt

will serve every txt file in the current dir...

<comment> yjftsjthsd-h For that use case, I just use `python3 -m http.server` (or the Python 2 equivalent), especially since Python is almost always already installed.

<comment><USER13> Cool... is SSL support for secure file transfer?

</comment></comment></comment></comment></comment></comment><comment><USER14> I did a project a while ago for fun using go to implement an sftp server for a dropbox account. (Though I used openssh for the ssh server).

[https://github.com/andrewchambers/sftpplease](https://github.com/andrewchambers/sftpplease)

</comment><comment><USER15> Go seems like a really good fit for this kind of project

<comment><USER16> Yeah, I'm hoping to see use of Go routines in useful rewrites of projects like rsync with parallel file uploads. It can lead to clean, extensible, and maintainable code with still low overhead and high throughput.

<comment><USER17> It's in C again, but since you mentioned rewrites and rsync: [https://github.com/kristapsdz/openrsync](https://github.com/kristapsdz/openrsync)

</comment></comment></comment><comment><USER18> I've been avoiding starting a project myself which will require SFTP. Passing text files around via SFTP is how a lot of the world works. It's still painful to implement this, and makes the transfer of data slow (polling for new files to process etc). This introduces a big delay in any data feedback cycles. Managing users with system accounts is painful too.

This project looks to alleviate a lot of these problems.

It'd be great to be able to register webhooks so that it could send events to external systems. Ideally I'd like to know when a file is created/deleted etc without having to walk directories on the sftp server on a regular basis.

<comment><USER19> Events are now supported, you can configure custom system commands and/or HTTP notifications on SFTP upload, download, delete or rename

</comment></comment><comment><USER20> Can this project be used as a library and integrated into an existing program?

I am asking, b/c I am currently working on a little document management system for home-use. It looks like the only sane way to integrate with document scanners is (S)FTP upload or Email (SMPT). I have tried to use off-the-shelf FTP servers for this and inotify to get notified of new uploads. The the solutions work OK, but are hard to setup and rather brittle (and limited to Linux).

Go seems to be the ideal language for this project, because its concurrency model and the ease of distribution (as single binary files).

\- Has anyone here experience with building systems like this (integrating via FTP/SMTP)?

\- Any recommendations for languages and libraries?

<comment><USER21> The linked project seems to be a wrapper around

[https://github.com/pkg/sftp](https://github.com/pkg/sftp)

<comment><USER20> Ah Thx! Should have checked the code myself. The library looks good. Not too much documentation ([https://github.com/pkg/sftp/issues/267](https://github.com/pkg/sftp/issues/267), [https://github.com/pkg/sftp/issues/247](https://github.com/pkg/sftp/issues/247)), but straight forward and battle tested.

</comment></comment></comment><comment><USER22> I'm currently architecting a transport administration system written fully in Go which includes XMLEDI over SFTP; this project is perfect as we need to integrate with the current IAM.

</comment><comment><USER23> I was looking for something like this when I was asked to get an FTP working on kubernetes...

Don't ask why...

</comment><comment><USER24> Go is a very convenient option of you have an API agreement based on dropping files on an SFTP.

</comment><comment><USER25> Using JSON for configuration: Fail

<comment><USER26> What would your preferred config file formats be, and why?

<comment><USER25> Any format which enables inline comments, so INI, YAML

<comment><USER19> SFTPGo switched to viper for configuration so it now supports JSON, YAML, TOML, env vars ecc..

The configuration format it's a your choice</comment></comment></comment></comment>