Ask YC: Are there *any* startups using ASP.NET? - <AUTHOR> Seems like the number is small...but I'm still curious. Bonus Question: Why did you pick the web framework that you are currently using? <comment><USER2> I built my entire startup on .NET because I think the feature set is richer, Visual Studio is a great tool, and speed of development is faster. I've done extensive work in PHP and Java in the past and both were much harder to work with IMHO. I also have backend applicatiosn and mobile devices that run versions of the framework, so the entire solution lent itself very well to .NET. I happily paid windows server and SQL server 2005 licenses as well; money well spent.

Feel free to crucify me now, but remember that customers don't care what you made it in -- just that it works and brings value to them.

<comment><USER3> Ditto. As a startup, MSFT makes it insanely cheap and easy to get started - for $300 you can buy their "Action Pack" which includes Windows Server, SQL, Exchange, Office, etc licenses for up to 10 people. When you get ready to take the next step, it is $1400 per year for the MS Partner/MSDN package which adds full Visual Studio, etc.

</comment></comment><comment><USER4> The biggest issue (and the reason i'm not using it) is vendor lock-in.

If the next version of Windows Server requires something crazy or has a massive price hike, you either accept it or have to port your entire system.

With Java, I don't have that problem. I can pick and choose the best platforms and technologies for the job. With ASP.NET you're pretty much stuck with the Microsoft ecosystem.

<comment><USER5> I agree with this sentiment, and would add a few (somewhat) related reasons.

a.) 'Planet Microsoft'. By this, I mean the gravitational pull all MSFT products seem to exert on one another, apparently by design and decree of the marketing department. With open-source stuff, it seems like I can mix-n-match components pretty freely. I can use Django on BSD, or Linux. With MySQL, or PostgreSQL. I can use its built-in templating, or not. With MSFT, it seems like I'd better be using Win2K3+SQL2K5+IIS6+ASP.NET or I'm taking my life in my hands. (And, when upgrade time comes, I better upgrade 'em _all_ , or I'll have problems. And I better upgrade _every_ system or they won't talk to each other.) Presumably MSFT could make its products more standalone, but prefers not to.

b.) Inevitable screwage. I believe MSFT's goal is to establish itself as an unavoidable presence in the IT business (ala the bad old days of DOS) and then use that position to demand money. For the moment, thanks to open standards, they can't do that. I'm not interested in helping them change that by using/endorsing their technology stack.

c.) MSFT MVPs. More generally, MSFT people. With all due respect to any Planet Microsoft hackers hereabouts, there is an _enormous_ lack of perspective found in people who've only used MSFT tools; they tend to think 'One Microsoft Way' is a viable approach to building code, and not just an address. If you're reading this, and that offends you, I hereby acknowledge that there are exceptions, and you're probably one. I don't want to flame anyone, I just want to share an honest reason why I'd prefer to avoid the MSFT stack.

<comment><USER6> What makes upgrade better in other technology world compare to MS? Last time I checked, other technologies are rarely backward compatible, cut support for previous version not too long after new release is out, tons of controversies on newer releases.

One choice is not to upgrade at all. No big deal I assume. It's not like you're going to write a lot more of new code.

What makes you think open standards are better? just because they're open thus they're better? how about the technology value behind it?

'One Microsoft Way' isn't overly bad. At least it doesn't waste your time trying to decide which one is better (Rails vs PHP vs Django vs TurboGears vs Pylons vs Symfony vs JSF).

You know what, these are the example of wasting your time:

Servlet (need template)-> JSP/Servlet (not good enough) -> Struts (some design mistakes) -> Spring (mkay.. well) -> JSF (oh, we finally catch ASP.NET up)

PHP -> PEAR -> Symfony/CakePHP/Ignition

I wouldn't say Python stack is "wasting your time" yet but time will tell how long Django/TurboGears/Pylons will last. They're cool frameworks and I like Python more than C#. But I haven't really heard much from their communities lately other than the Django book had finally been released after deadline slips (I know they have good reasons but whatever).

<comment> g-e "Last time I checked, other technologies are rarely backward compatible"

7 years ago I created one of the first Web2.0 websites in PHP. It became very popular and is still up and running and used by hundreds of thousands of people a month. Without any modification. On a managed server that has been updated to new versions of LAMP countless times.

I also wrote ASP (not .net) code at that time. It is long dead and gone.

</comment></comment></comment></comment><comment><USER7> I recommend asp.net to all my competitors!

<comment><USER8> It's not such horrid advice to follow.

As mentioned in another comment already, Loopt uses ASP.Net in addition to other Microsoft and open source technologies.

If I could start over, I'd use it again.

ASP.Net the _framework_ is great. By framework I mean the request pipeline and everything else on which the high level items like the TextControl are built atop. There's a lot of crap at the top (built in controls, page viewstate, etc), but you're not forced to use it. Hooks are exposed at almost every level of the stack where you can override the default behavior to do what you want (and I do). The trick is knowing when to NOT use the built in stuff.

Also of note is that while ASP.Net necessitates IIS and Windows, it doesn't lock you down any further if you're willing to take a few risks (no vendor support). From the beginning Loopt's website has used a custom session state provider: At first it stored all user state in encrypted cookies, but now it's moving to a fault tolerant, distributed Erlang based store. Results from PostgreSQL servers running on FreeBSD power many of our GIS based features. *nix based boxes perform all of Loopt's geocoding and map generation tasks.

At Loopt we try to pick the best tool for the job. Sometimes it's sold by Microsoft.

Sidenote: You can pay for Microsoft software on a per box per month basis, and only pay for what you use. I think that Windows Server Web Edition is only about $10/box/month. Not actually that big a deal in the big scheme of things. For example, good developers are WAY more expensive than software =P

<comment><USER6> Thanks for the insight kogir. There are a lot of young people that don't really know MS pricing scheme.

</comment></comment></comment><comment><USER9> There are _plenty_ of startups using ASP.NET or Java-based tech. In fact most companies started by "business types" are .NET/Java because they are easier to find disposable coders for.

You don't see as many .NET shops here because most posters are (a) young, (b) non-business types, and they had a chance to pick a technology. Most went with something dynamic and Linux-based.

We did too. We're on RoR, despite having tons of .NET expertise. And here is why: (a) speed of developemnt, (b) cost of decent dedicated hosting, (c) more fun

<comment><USER10> Please don't group Java together with .NET :D

<comment><USER11> System.Console.WriteLine("Hi, I'm a .NET library function for the CLR being called in C#");

System.out.println("Hi, I'm a Java library function for Java being called in Java");

Java The Language and C# are extremely similar, and if the differences bother you that much you can use J#. Java and .NET both provide managed runtime environments. Java and .NET both provide a large library of functions for that environment.

I'd say if you're going to put Java and .NET into different categories, you should have some solid reasons, so let's hear them.

<comment><USER10> Java and C#/C++ are very similar languages as far as I know. ASP.NET seems very similar to PHP. .NET just sounds a horrible mess. VB.NET? why would anyone touch anything that has a language 'visual' 'beginners'. Don't those two words hint at anything?

Comparing Java (the language) to .NET (the system that lots of m$ languages run on) doesn't make much sense though IMHO.

<comment><USER12> "C#/C++" is about as valid as "Java/JavaScript".

<comment><USER13> Nice slogan, but fails when put to the test. C#/C++ = both OOP languages, semi-color delimited, mostly early binding, strong typing, etc. Java and JavaScript are not anywhere near as close. OOP vs prototypes, loose typing vs. strong typing, closure-functional style vs imperative style, etc.

<comment><USER14> No offense, but you clearly have not used both languages. When you consider the platform in addition to the syntax, C# is absolutely nothing like C++. C# is managed, garbage collected, bytecode-based and JITted. Saying C++ and C# are similar is like saying that technically a unicycle and an airplane are the same because they can both help you get somewhere.

<comment><USER13> Everybody knows that Java is just C++ with the sharp edges taken off. C# is Microsoft's Java-killer. C# and C++ are directly related to each other. It's the same lineage. Where do you think you get the idea of constructors, interfaces, friends, volatile methods, etc? I understand that C# is managed, but how the runtime handles memory allocation to me just isn't the deal-killer you're making it out to be. There's lot's of ways to have managed C++ code. Third-parties have been making smart memory managers for C++ for as long as I can remember.

Look -- I love C++. It's my favorite language of all, not that I'd code anything in it anymore. I've done Java, I've done Javascript (a lot of it), and I've done a lot of C#. I know the languages. C# is much closer to C++ than Java is to Javascript.

You made a cute comment. I called bs on you. Get over it. Best way to get out of a hole is to stop digging.

<comment><USER14> I didn't make the first comment. I just showed up to say that you were completely wrong in your retort. I also don't know exactly what you're arguing about, so I'll just let you ramble in peace. :)

<comment><USER13> The original comment was: "C#/C++" is about as valid as "Java/JavaScript"

It was a really bad analogy. I believe I have made my point that C# is a lot closer to C++ than Java is to Javascript. Thanks for joining in, though. I take it you stand by your comment that I "clearly have not used both languages"

As for rambling, one does what one can.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> I'm finishing a survey of web development technologies class. We've covered everything from PHP to Perl + CGI, classic ASP and ASP.NET, and JSP. I spent this past summer learning RoR, and I plan on picking up Django next summer.

[non-flame-bait personal opinion]

And, I have to say that I came to a strong dislike for ASP.net. In fact I was carrying a 4.0 until this ASP.NET project. I disliked it so much, I didn't finish the project. Perhaps if I spent more time on it, It might fit a little better, but from what I"ve seen, I hate it mightily.

 _The benefits_ :

It works well with IIS and the Microsoft Server stack. If that's what you know, stick with it. You'll spend months learning unix shell commands, and file structure, and how to install things, etc... I'm more of a unix guy and prefer to develop with unix on the server side. If that's not your cup of tea, then stay on the Microsoft side of life.

_The cons_ :

I also didn't like the idea of ASP.NET pages. I found it really combuersone to code all the labels in the body of the <script> tags, and then output them at the bottom in the html. I simply found it really hard to get my mind around the ASP.NET way. I really didn't want to understand the ASP.NET way, I guess. I don't like how it handles SQL queries. I found it burdensome and cumbersome to write 5-6 lines of code on every page that access the database, to set the SQL query to a variable, execute the query. put the SQL query into a reader, then transfer the reader to another variable that's usable. Too long, clanky, too long. And, doing that for every page you're working on: BOORRRIIIINnnnggg! :)

 _Disclaimer_

I was just starting out with ASP.NET, and I'm sure there's tips and tricks that would speed development up, and I'm sure I went about things all wrong. It's just that Rails really spoiled me this past summer. with the MVC model. Set up database connections once, access what you need through active record. Variables are there for you in the controller. Spit them out and format them in your views. It's like Ron Popeil says about his rotisserie: You set it and forget it!

[/non-flame-bait personal opinion]

<comment><USER13> I'll jump into the flames -- what the heck.

The problem isn't ASP.NET: it's probably the way you were taught how to use it. The Microsoft tools do so much crap that it's like being put into a room full of levers and knobs with cryptic labels on them. Hard to know where to start or how to make things work.

Sit down with somebody who is using one of the automated DALs (like NetTiers, NHibernate, CSLA, etc) and knows what the heck they are doing. You'll find it very intuitive and the speed of development can keep pace (or surpass, depending on the domain) any other kind of web development.

Now for the BUT part. BUT you have to be doing straight-forward business development. Stuff in the middle of the road. Writing a check. Checking your email. Posting a message.Viewing your box scores. Etc. If you want something like an animated dancing baby that does different dances depending on your current stock portfolio and can sing out your RSS feeds in different languages, you're back to basics, and all that abstraction is going to get in your way big time. Also, if you want to scale up to 100K users quickly you're going to be learning a lot more about tweaking IIS and ASP.NET than you probably wanted. But for a lot of stuff, it's just fine. Not everybody is writing the next YouTube, and you can't beat the libraries available to you over on the "dark" side.(grin)

<comment><USER16> You mean that subset of straightforward business development that Microsoft thinks ASP.NET is for. If you want to put subtotals in a grid of financial numbers, for example, you either have to jump through hoops or move it off to Microsoft Reporting Services or Crystal Reports.

There's a wide gap between where ASP.NET's usefulness ends and where the really fancy stuff begins.

And yes, you totally can beat the libraries available on the "Dark Side." You'd have to try hard not to.

<comment><USER17> Can you point me to someone that has beaten the libraries of the "Dark Side"? I'd like to check them out.

<comment><USER16> Java libraries, CPAN, and the Unix/C universe of libraries are three examples. But you should only check them out if there's a library that does the specific thing _you_ want.

<comment><USER18> Yeah, I really have to second this one. It's not just the UNIX/C universe, though -- it's the UNIX scripting universe. As a particular example, how do you tie your graphing software to your analysis software to your screen scraping software? You could try writing them all in Python -- or you could just use pipes and tie together GNU plot and wget with some custom filters in Python. It takes a few years to get confident with this stuff; but once you are, you will never write so little code :)

</comment></comment></comment></comment></comment></comment><comment><USER19> If you are not against Java you might want to check out JSF. Code your pages using Facelets though, its better than using JSP. JSF is nice because (unlike ASP.net) it cleanly separates behavior and presentation (its purely MVC).

And its a component based architecture which is rendering format agnostic (HTML, WML, XHTML-MP, cHTML). So you can code one page which can render the contents in a different format depending on the client device. This is what the JSF MobileFaces library does when you hit the page from a mobile phone. It automatically renders the page in the proper format for the target device without the developer needing to worry about the details.

The problem is JSF is complicated, which can be very frustrating. For this reason I just use it as the underlying framework, which basically just directs to my GWT pages.

<comment><USER20> Thank you sir for justifying me staying away from all these frameworks.

<comment><USER19> What did I say that would justify you staying away? Java? I would take JSF over ASP.net any day. I consider ASP.Net to be on a similar level to old fashioned JSP (mixing and mashing of model and presentation all over the place). JSF on the other hand is a true MVC framework

So my point is: JSF is very powerful if you can master it.

<comment><USER6> Wikipedia entry for JSF:

"According to the author of the book Core JSF, JSF offers a means for Java to compete with ASP.NET/Visual Studio in the area of Rapid application development (RAD). The addition of the Sun Java Studio Creator IDE provides a RAD environment similar to Visual Studio 2005, potentially lowering development cost and other barriers to entry."

So basically the world of J2EE pre-JSF is worse than ASP.NET and with JSF, J2EE _is_ catching up with ASP.NET stack.

</comment></comment></comment></comment><comment><USER21> On top of my head:

predictify.com

loopt.com

pickspal.com/pickspop.com

triphub

You can look at craigslist to get a feel of startups using .Net.

<http://sfbay.craigslist.org/search/jjj?query=c%23+startup>

</comment><comment><USER22> Using it.

Name a company other then MSFT which spend BILLIONS every year building a development platform.

How can anyone suggest that after 20 years of billion dollar investments including contributions from the top minds in computer science - that Ruby is the better PLATFORM?

It is not about the language, it is about the platform.

btw: I have full java certification and work full time as a java developer. Java sucks.

</comment><comment><USER20> I have used ASP.NET, CGI, CherrryPy, some of these in anger.

I am currently looking at Common Lisp. I have been burned by MS too many times and I don't need their blessing to program. I posted these links yesterday as well, but if you are interested, I am updating my blog with my adventures into a web app in Common Lisp:

[http://uint32t.blogspot.com/2007/11/web-programming- framewor...](http://uint32t.blogspot.com/2007/11/web-programming- frameworks.html)

[http://uint32t.blogspot.com/2007/11/update-web- programming-f...](http://uint32t.blogspot.com/2007/11/update-web-programming- frameworks.html)

[http://uint32t.blogspot.com/2007/11/lisp-web-framework- desig...](http://uint32t.blogspot.com/2007/11/lisp-web-framework- designer.html)

All in all, I find that Common Lisp + Slime is a great environment to develop in. All the tools you need are there, there is just the matter of a small investment of time.

</comment><comment><USER13> I have been looking around for partners for the last few months and ran across something very interesting.

Three guys, on three different occasions, said they wanted to go linux or nothing. Note that all of these conversations had nothing to do with the question of whether the business was viable or whether it could turn a profit. On a couple of occasions, we had some really good chemistry and the plan was looking hot. But they were convinced that ANY business idea that ran on .NET was a bad one.

I've never had somebody say it had to be .NET or nothing. I'm not sure what that means, but there it is. It doesn't make much sense to me from a business standpoint.

<comment><USER18> I am definitely in sympathy with your three guys. Were they really convinced that "...any business idea that ran on .NET was a bad one." or just that it was Hell to work with .NET?

> It doesn't make much sense to me from a business standpoint.

It's really about quality of life. I tried using Windows for a spell, for XBox development -- I ended up running Linux under Moka5 for a userland, and then switching into Windows once in awhile to kick the XBox. Until I got that in place, I was miserable.

</comment></comment><comment><USER23> I am doing a startup in ASP.NET 2.0 because its easy money. The developers make hand over fist when compared to similar open PHP positions.

As to the technical reasoning, I started web development in PHP for 2 years before working with .NET and so far I am supremely impressed with some of the things that just work. The startup to get running is really slow but I think things will pickup as I continue development.

</comment><comment><USER21> I'm not generalizing but I know a lot of people who hate/won't use .Net mainly because it is a Microsoft product.

What I believe is good with .Net is the 3rd-party support (free or commercial). The Visual Studio tool is also very easy to use and ramps up your development.

</comment><comment><USER24> One of the student groups I did web work for back in college used a less-than- legit copy of ASP.NET. IMHO, it works well enough. I had limited *nix experience when I first started coding and Visual Studio lets you do things like drag and drop components and various HTML elements into a pseduo-WYSIWYG environment. The Windows Server environment also made it easy for us to train our non-tech people to remote login and do simple things like restart the server, fix typos on the site, and even execute basic SQL queries.

That said, I'm using RoR now. Fast, easy to learn, and an active community.

</comment><comment><USER25> plentyoffish.com

</comment><comment><USER26> The article below includes a script to test yourself.

<http://www.venturecake.com/web-20-is-built-on-open-source/>

</comment><comment><USER14> I'm disappointed that no one here has mentioned MonoRail (www.castleproject.org). When people say they hate ASP.NET, what they're really saying is that they hate WebForms. WebForms are an abomination that should be stricken from the earth. MonoRail is a web MVC system for ASP.NET, originally based on ActionPack from RoR.

</comment><comment><USER27> At Feedity (<http://www.feedity.com>) we have been using ASP.NET and C# (.NET 2) exclusively. Quite stable and scalable, even during surges. Recently we moved our application platform to a web farm (clustered hosting), and its working out quite well.

</comment><comment><USER28> Right here, the startup I'm at uses ASP.Net and for us it's an advantage.

</comment><comment><USER29> My startup, HubSpot (<http://www.HubSpot.com>) is built on ASP.NET.

Though there are certainly irritations and annoyances, it has worked fine for us.

</comment><comment><USER30> myspace moved to asp.net after they were bought by news corp.

<comment><USER31> My impression was that they moved to asp.net when they were having scaling problems and Microsoft promised them free consulting to solve those problems... provided they switched to .NET.

</comment></comment><comment><USER32> I'm using it, basically because I'm extremely familiar with it. No ramp up time trying to suss out new language and framework specific work-arounds.

</comment><comment><USER33> Although I'm sure the answer is no, I'd be interested in knowing if anyone here had ever even considered using WebObjects for development.

<comment><USER34> I think the entire Apple.com store is developed in WebObjects. I have never heard of any other site using it, though.

<comment><USER33> It is used widely by Apple -- iTunes uses it as well, as does .Mac. It has a few users outside Apple, but as far as I know the number is incredibly small.

I'm curious if anyone even thinks about it anymore, its been off the radar screen for a while I think. It is, however, very powerful.

<comment><USER34> Does anyone know of ANY other users of WebObjects? I can't seem to find any, anywhere.

<comment><USER35> <http://en.wikipedia.org/wiki/WebObjects> has a list of sites using it. not sure how up to date it is but there is nothing special there.

</comment></comment></comment></comment></comment><comment><USER35> docstoc is .net I do believe.

I use it and make a decent living programming it.

Use the best tool for the job and don't bogged down with what is trendy.

As someone already stated its easy to find talent. Also most of the fortune 100 websites use it.

mySpace use it so it scales well enough.

MVC is available for those that are willing to look around. However there is an official MVC toolset coming soon which will make some big gains on ROR.

At least its not Java :p

</comment><comment><USER17> Splashup is hiring .NET developers, as it were.

Anyone interested should email me at firstname.lastname@example.com

</comment><comment><USER36> plentyoffish.com

</comment><comment><USER37> There are plenty of companies using ASP.NET.

<comment><USER26> There's a re plenty of companies using Fortran too. The poster asked specifically about startups.

</comment></comment><comment><USER30> we are using .net, anyone here an expert .net user? with "nhibernate" experiance?

we want to move to mono on ec2 in 2008.

<comment><USER35> have you checked out <http://www.flexiscale.com/>

Its like s3 and ec2 combined and they have an sla.

Its fairly easy to get it up and running and they have load balancing out features too.

<comment><USER30> yeah, there are a few problems for us with their service,

1\. we live in America and because our politicians suck so much, our currency is falling (go home ownership, at the cost of our currency, frickn idiots) and its hard to track what we are really spending on a service that bills in pounds.

2\. they are expensive, and in some cases about 2x what ec2 is.

3\. they do not have an image deployment system like amazon, nor do they have an s3 solution.

all and all, i think that once we move to linux, with mono we will be better off, as we can run RoR, PHP, C#, and Java all side by side on a scalable server platform.

<comment><USER35> yeah good point I am in the uk. There storage system is integrated into the package and is actually pretty neat. They do have a way to setup your server and then save that setup and then startup other instances like it.

I have not looked at mono for a while I might go back and have a look.

<comment><USER30> a local .net developer claims that mono is really good at matching microsofts .net deployment in every way.

</comment></comment></comment></comment></comment><comment><USER38> Nope, not a one. :P

</comment><comment><USER39> I plan on using it.

</comment><comment><USER17> Splashup.com

<comment><USER40> What are the benefits? What is bad about it?

<comment><USER17> After trying a few different languages .NET was definitely the fastest outside of C/C++. I didn't feel like learning C++ and then having to build a homebrew everything on top of it.

My history is primarily ECMAScript, so it was very easy for me to pick up C#. Going between ActionScript 3 and C# constantly is a breeze. I couldn't imagine going between say.. Lisp and ActionScript 20 times a day. It would be such a detriment to my productivity.

<comment><USER39> Seriously, I agree 100%. I code in AS3/ JS/ and C# without a problem. Anytime I have to write SQL or VB (for my newly acquired day job), I cringe because of the syntax. Gotta love those curly brackets :}

</comment></comment></comment></comment><comment><USER41> eppraisal.com</comment>


Think Video on Your Phone Is Slow? It's Not Your Imagination - <AUTHOR> https://www.wired.com/story/video-phone-slow-not-your-imagination/ <comment><USER2> This has never been a secret. Even in television advertisements for plans like these the fine text says video is limited to DVD-quality (480p).</comment>


A Camera That Sees Like Mantis Shrimp - <AUTHOR> https://www.theatlantic.com/science/archive/2018/04/mantis-shrimp-eye-camera/557195/?single_page=true <comment><USER2> We're at a hardware disadvantage, but with some practice human beings can also detect light polarization with the naked eye.

[https://en.wikipedia.org/wiki/Haidinger%27s_brush](https://en.wikipedia.org/wiki/Haidinger%27s_brush)

</comment><comment><USER3> This article describes one of several recent camera designs that allow polarized light photography/ videography (see [1]). However Tibbs et al [1] have recently reviewed how in many situations in nature (and in many published field studies),a small amount of noise can create the appearance of polarization where there is none. I look forward to a camera design that incorporates Tibbs et al's suggestions for denoising and decreasing these errors, and that reveals those areas in the picture (if any) where the noise still overwhelms the signal.

1 [http://iopscience.iop.org/article/10.1088/1748-3190/aa9e22/p...](http://iopscience.iop.org/article/10.1088/1748-3190/aa9e22/pdf)</comment>


How to sell a country: the booming business of nation branding - <AUTHOR> https://www.theguardian.com/news/2017/nov/07/nation-branding-industry-how-to-sell-a-country <comment><USER2> After reading the article I still don't see how this new generation of nation branders is any different, as the author claims, from any other marketing agency that does some research on a place and slaps a logo on it.

</comment><comment><USER3> Brings to mind the Canadian government's official wordmark:

[https://www.canada.ca/en/treasury-board- secretariat/services...](https://www.canada.ca/en/treasury-board- secretariat/services/government-communications/federal-identity- program/technical-specifications/official-symbols/canada-wordmark.html)

It's simple, yet clever (the "D" in Canada is a flagpole!) and you see it everywhere.

</comment><comment><USER4> I guess nation branding is distinct from cultural exporting, which implicitly grants good will towards the country.

In the 21st Century I feel like no country has been more successful at this than South Korea.

<comment><USER5> One of the things that I find so striking about south korea is their success with cultural exports, specifically k-pop. Its surprising how many Americans consciously consume k-pop, particularly when compared to Western European media. I've never met anyone who consciously consumes german-pop, or italian- pop

</comment></comment><comment><USER6> Reminds me of [https://www.dubaifont.com/](https://www.dubaifont.com/)</comment>


Khan Academy exercise framework - <AUTHOR> https://github.com/khan/khan-exercises

<comment><USER2> Member of the KA team here. We're in the final stages of getting this new exercise framework live. If you're interested in contributing towards the new framework or helping our beta testing efforts, please check out <https://github.com/Khan/khan-exercises/wiki/Getting-Involved> (if you're interested in helping out our beta, look for the hipchat room on the wiki page).

<comment><USER3> So I tried to download the source code for the entire project from <https://khanacademy.kilnhg.com/Repo/Website/Group/stable> But every time I did that I got a connection error after downloading about half of the chunks. Is it possible to source this repo in Github, Google code or somewhere else where this disconnect problem is not an issue?

<comment><USER3> Always disconnects after 14542 chunks have been downloaded. Wonder why.

<comment><USER3> Okay, looks like some sort of load limiting configuration on the kiln server. You can however clone and pull in smaller chunks

[http://kiln.stackexchange.com/questions/935/connection- ended...](http://kiln.stackexchange.com/questions/935/connection-ended- unexpectedly-when-cloning-a-large-repository)

</comment></comment></comment></comment><comment><USER4> I tried an exercise on <http://khan-masterslave.appspot.com> and got a question wrong because I wrote "pi/6" where it wanted "1/6 pi". Any plans to improve the parsing?

<comment><USER5> I had just filed a bug about that:

<https://github.com/Khan/khan-exercises/issues/377>

We'll fix it this week.

</comment></comment><comment><USER6> Exercises that still need coding - [https://spreadsheets.google.com/spreadsheet/ccc?key=0AsgWawU...](https://spreadsheets.google.com/spreadsheet/ccc?key=0AsgWawUKHSJldGlvX3RUX2FyMEpMdzdRRWlOLXg3TVE&hl=en_US&authkey=CJWi- LMM#gid=8)

<comment><USER2> It would be great to get more community involvement to help with these new exercises, but be aware that over the next week our main focus will be on getting the new framework and old exercises ported to the new framework ready to ship.

</comment></comment><comment><USER7> As spicyj said, any adventurous soul should feel free to play around with the beta/testing site we have at <http://khan- masterslave.appspot.com/exercisedashboard> \-- let us know how it goes.

</comment><comment><USER8> Wow, this is really something. Now this explains a bit why John Resig moved to Khan Academy, which I couldn't comprehend before <http://ejohn.org/blog/next- steps-in-2011/>

</comment><comment><USER9> Is this repo used by the website, or you merge things from khanacademy.org back to this? I'm having trouble finding a reference to the Scratchpad text tool in the github scratchpad.js.

<comment><USER5> This is a near-complete rewrite of all of the exercises live on the site currently. The scratchpad text tool has been removed because it doesn't provide much that isn't easily available via other means.

You can see the beta of the new site at:

<http://khan-masterslave.appspot.com/>

(Please report issues on GitHub if you find any.)

<comment><USER9> Thank you!

</comment></comment></comment><comment><USER10> Oh man, I have so many ideas for this framework, but not enough time to code it up :). Maybe one of these days. Thanks for putting this up!

<comment><USER11> Mind sharing? :)

</comment></comment><comment><USER12> so wait this would allow anyone to create tutorials and get them working on khanacademy?

<comment><USER5> Yep. On the spreadsheet that repos mentions, there is a list of planned exercises.

As rubergly mentioned, this week we'll be focusing on fixing all the bugs and getting this deployed to real users but after that we'll definitely be open to new exercises and new contributors.</comment></comment>


Costs of employees vs. contractors / freelancers - <AUTHOR> http://www.toptal.com/freelance/don-t-be-fooled-the-real-cost-of-employees-and-consultants

<comment><USER2> Interesting analysis, but it only focuses on the financial side. In software development, there can be a lot of other costs associated with hiring contractors that can't be expressed in terms of dollars. Emphasis on one of his last statements 'there's no one size fits all' answer.

</comment><comment><AUTHOR> tl;dr

An employee at 45/hr and a contractor at 70/hr may be costing you same on e you factor in benefits, taxes etc

Oddly I am not sure what market toptal and the new "agency" crop of recruiters is really aiming at. They aim to sell the top 1% of developers but ... 70/hr ?</comment>


500,000+ Articles (6% of JSTOR Holdings) Now Free to Anyone in World - <AUTHOR> http://infodocket.com/2011/09/07/just-announced-500000-articles-6-of-jstor-holdings-now-free-to-anyone-in-world/ <comment><USER2> Great now let's have the rest accessible to the general public.

<comment><AUTHOR> Many public libraries offer FREE, remote access to a lot more of the database. All you need is a library card and you can access 24x7x36 from any web accessible computer.</comment></comment>


Google Serves Fake News Ads in an Unlikely Place: Fact-Checking Sites - <AUTHOR> https://www.nytimes.com/2017/10/17/technology/google-fake-ads-fact-check.html <comment><USER2> Techmeme Summary: _New York Times: PolitiFact and Snopes, using Google AdSense, unwittingly hosted ads by fake news publishers; source says AdSense has terminated the ads_

</comment><comment><USER3> Legacy media are fighting for their lives and are determined to destroy the ad networks which fund their direct competitors. See also the faux outrage of youtube ads.

Expect more stories about ads on facebook and amazon missteps.</comment>


Karma-based communities lack innovation - <AUTHOR> http://www.systemizer.me/2011/12/karma-based-communities-lack-innovation.html

<comment><USER2> Here's a great idea, create a news forum for "innovative" people only. Force its members to upvote only the most "innovative" comments, and banish anybody caught upvoting well-thought-out opinions.

You could use creativity, or even mischievousness, as a metric indicating credibility. You could call it "Imagineif News." It would be awesome!</comment>


Speak.io is closing down - <AUTHOR> http://blog.speak.io/epilogue/ <comment><USER2> I've considered it several times, but always got turned off by the price. Given there's a number of free alternatives, it wasn't justified to pay $600+ per year for a small team.</comment>


Comparison table of VoIP software - <AUTHOR> https://en.wikipedia.org/wiki/Comparison_of_VoIP_software

<comment><USER2> But which is the best one? Any thoughts?

<comment><USER3> Bria seems to be the industry standard and the most feature complete. The interface is horrible, but the codec support and feature set is solid.</comment></comment>


Instant product mockup generator without photoshop - <AUTHOR> https://getmocky.com <comment><USER2> Nice UI and the finished results are not bad but I would...

...well, seeing as you're a commercial operation, I won't tell you what I would do to improve the realism of the images. Just keep reading up on those Photoshop adjustment layers and you'll get there eventually!</comment>


Google Play grows bigger than Apple's App Store in 2014 - <AUTHOR> http://blog.appfigures.com/app-stores-growth-accelerates-in-2014/

<comment><USER2> Number of apps doesn't matter if the majority of those (in any app store) are bad quality. I've seen a developer with 17.000 apps.

<comment><AUTHOR> Fair point. With their non-existent review process it's much easier to deploy spam/malware (or plain crap) to the store.

That said however, look at the categories that have been getting most of those new apps. Games in particular, wasn't a category that was as busy in years before. That to me is where the shift is happening, and I'd attribute it to the success of freemium apps (which is most likely the result of putting Android devices in the use of mainstream users).</comment></comment>


New Sublime Text update - <AUTHOR> https://www.sublimetext.com/3 <comment><USER2> I'm not a programmer, please forgive me, but I love using sublime as of writing tool for legislation and public policy in my work. The color coding system popular in programming, has been invaluable in drafting legislation.

<comment><USER3> Out of curiosity, which syntax highlighter are you using? as in for which language? (it says which one in lower right corner)

<comment><USER4> super interesting! I'm thinking out loud: could be possible that there is niche waiting to be untaped with new tech–tools for lawyers (and others professions)?

Edit: I mean, no high–tech, but tools with a higher level of complexity where the UI isn't a dumbed down version, and where the software exposes some functionality to a better skilled user. I'm thinking the "millennial" professional, should be more comfortable with software and pushing the limit a little bit.

<comment><USER5> I'm a third year law student (well, my last day was this week!), and I've been using Sublime to take notes and outline things for class. I use a custom syntax highlighting (modified version of the markdown syntax) to make it easy to read.

It is common for law students to digest course material into a short-ish (20-30 pages, depending on the class) outline of the material, as a way of studying. With my modified syntax highlighting config, I use different color bars to represent different level headings to make it easy to see how my document or outline is organized.[1] I then have a latex template for pandoc which lets me convert it to a beautiful document that is useful during open- book exams.

Using Sublime as a WYSIWYM editor is much more pleasant, as the editor is far more responsive, than using a WYSIWYG editor (like MS Word). I actually recently wrote a paper for class entirely in Markdown in Sublime. Pandoc lets you convert markdown to PDF (it uses latex internally), and when you convert to docx format for Microsoft Word, you can use a reference file to define the style formats. It's really easy to write something like a brief or a memo and convert it with a reference file to a format that others can work with, properly styled.

[1]: Here is a screenshot of what my editor looks like: [http://i.imgur.com/xU9eSwt.png](http://i.imgur.com/xU9eSwt.png) :)

<comment><USER6> This is pretty neat. As a programmer, my editor not only color codes, but it gives me sort of hyperlinks to other definitions i am using/referencing, both to others work and my own. It also provides me hints and help about the current context i am writing about (working in), and it is often very relevant to what I am currently working on. that help is invaluable.

</comment></comment></comment></comment></comment><comment><USER7> The company behind Sublime really fascinates me.

Given how many developers I've seen use Sublime, in the modern age of social media I'm so surprised SublimeHQ is still invisible. They hardly do any marketing that I've seen online, no social media engagement, nothing. Not necessarily a bad thing, but Sublime just seemed -primed- to be that sort of company with a hyper-engaged user base.

<comment><USER8> IIRC, its just one person; Jon Skinner.

<comment><USER9> Definitely at least one other person: [http://www.sublimetext.com/blog/articles/sublime- text-3-buil...](http://www.sublimetext.com/blog/articles/sublime- text-3-build-3103)

And despite their lack of "social media engagement", they do have a Twitter account (@sublimehq) with nearly sixty thousand followers - and they tweet just about as regularly as updates for Sublime Text are released!

<comment><USER10> Jon Skinner [0]

Will Bond [1]

Jon's only GitHub project is funny: [2]

[0]: [https://github.com/jskinner](https://github.com/jskinner)

[1]: [https://github.com/wbond](https://github.com/wbond)

[2]: [https://github.com/jskinner/test1](https://github.com/jskinner/test1)

</comment></comment></comment></comment><comment><USER11> loved my time with sublime, then atom crossed a line where, while not as good as sublime in some area, it got good in other areas... then... vscode came along and showed how snappy an electron app could be, but didn't have a lot of stuff.... then bam, it opened up, and still not as many toys as Atom, and not quite as slick as sublime, it hits a bit of sweet spot somewhere in between.

<comment><USER12> can you tell me what exactly in Atom or vscode is worth switching from ST?

<comment><USER13> The fact that a minor update got released isn't a rare enough occurrence to warrant a highly-voted post on HN.

Snark aside, VSC has grown up quite a lot, very quickly. If you like Sublime, good for you, stick with it. But it looks like VSC is going to pick up support for more new things, faster. Personal favorite: support exists to plug in third-party debuggers and get debug tools/build errors inside VSC.

<comment><USER14> > _The fact that a minor update got released isn 't a rare enough occurrence > to warrant a highly-voted post on HN._

So, it's not as mature enough and still adds things regularly, including still struggling with speed issues?

How often does Vim have updates released? Who even cares for most of them?

<comment><USER15> Well, Sublime Text 3 is still a beta.

[https://github.com/vim/vim/releases](https://github.com/vim/vim/releases)

<comment><USER14> That doesn't mean much, it's just a label. ST3 has been stable (and my main editor) for 2+ years now.

React was 0.15 until recently, and Node was adopted by major companies like Microsoft at 0.xx versions.

<comment><USER15> The way people number their versions does not mean anything (React is actually in v15 now). 0.xx has no meaning, except if the developer of the software explicitly indicates it's unfinished. Version numbers are entirely subjective by default.

I agree with you on the stability of Sublime Text, but the label beta has, on the opposite of version numbers, a consistent meaning: it's not finished.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I forget that not everyone is in the dev channel and was wondering why this was on the front page. There's new dev's every couple days. Didn't realize there haven't been a stable in a long time.

<comment><USER17> Looking at the change list, it notes that there won't be artifacting with theme changes any more? If so that's freaking _huge_. For a while there it would start up, the package manager would update stuff, and then the interface would sorta crap itself. A quick reload fixed it, but damn annoying.

Would you suggest switching to the dev builds? I really wouldn't mind being on the bleeding edge if it meant getting fixes like that sooner.

<comment><USER14> > _Looking at the change list, it notes that there won 't be artifacting with > theme changes any more? If so that's freaking huge. For a while there it > would start up, the package manager would update stuff, and then the > interface would sorta crap itself._

How is that "huge"? It happened at most 1-2 times a year, and a simple 1 second restart fixed it -- and still left all the files you had loaded.

<comment><USER17> Due making a backup shortly before a breaking glitch, it actually happened a whole bunch of times across a whole bunch of computers. Sublime's licensed to the user, not the machine, so over a few months while I was setting up a slew of machines I kept forgetting about it when I restored my app directory. Add that one of the packages would freak out when curl wasn't already installed first and it was a mess. Sublime would start, update, screw up the interface, popup, and then I'd have to close it and restart a few times until the package manager got it up to a stable point.

I say _huge_ because it was _god damn irritating_. In a giant checklist of stuff I was worried about, it was always an afterthought that caught me by surprise. When the artifacting completely craps out the side bar such that the folder tree no longer updates when files change, you can't even tell if the files are still there.

EDIT: To really drive the point home: this happened _a whole lot_. The above is a story of woe and sadness, but the real kicker was simply the autoupdate as noted elsewhere by `jbrooksuk. For a long time I used the Soda Theme [0], one of the top packages on Package Control. It had a wierd glitch with hotkeys and would end up reloading shortly after startup. It was possible that it would garf things up even on restart as a result (possibly as a race condition such that if no updates were performed, it restarted fast enough to not bork whatever drew the iterface). I used Soda theme for years, but have recently switched to Seti and enjoy the change quite a bit.

[0] [https://packagecontrol.io/packages/Theme%20-%20Soda](https://packagecontrol.io/packages/Theme%20-%20Soda)

[1] [https://packagecontrol.io/packages/Seti_UI](https://packagecontrol.io/packages/Seti_UI)

<comment><USER18> Whoa, that is a pretty nice theme

</comment></comment></comment></comment></comment><comment><USER19> > Themes may now be switched on the fly without artifacts

Excellent news.

Switching themes and seeing the UI barf is unsightly.

<comment><USER20> Why do you switch themes? Night time and day time?

<comment><USER21> While not a sublime, I frequently switch iterm's themes when I code outdoors. A dark background is my preference, but a light theme works much better in sunlight.

</comment></comment></comment><comment><USER22> If the author of Sublime is reading this thread, please know that I love your work! I happily paid the $70 and use this as my primary editor (except when using vim when working over SSH).

I'd also like to see more activity on the Twitter account or just more engagement with the community. You've got a killer product :)

</comment><comment><USER23> RANT: "Ubuntu 64 bit - also available as a tarball for other Linux distributions."

Linux requires THREE files (.deb, .rpm and a .tar) I personally use OpenSUSE and can easily compile the software BUT you are not "supporting" Linux when you only support Ubuntu.

<comment><USER24> So, they have two out of three then. Does there appear to be any reason you couldn't use the .deb for Ubuntu on Debian? Perhaps someone would be willing to take the tarball and make a RPM file for him to host (or set up the tooling to make it dead simple for the author).

<comment><USER23> So not supporting Redhat the #1 Linux commercial product is fine? The vast majority of commercial Linux is RPM based.

The issue is they should just have it automatically build RPM with the DEB if you have a DEB it isn't diffecult to so a RPM.

</comment></comment></comment><comment><USER25> I was trying to choose a Mac text editor recently; got it down to Atom and Sublime, and then discovered that _both_ of them do code folding wrong. They think it's based on indentation, not syntax, so if you try to fold something like:

      if (something) {
        some code
      //commented-out code
        more code
      }

It folds everything from the opening bracket to the comment, then stops.

Both editors have had issues filed over this bug for years, which have been ignored. ([https://github.com/atom/atom/issues/3442](https://github.com/atom/atom/issues/3442), [https://github.com/SublimeTextIssues/Core/issues/101](https://github.com/SublimeTextIssues/Core/issues/101))

I eventually decided to go with Atom; it's open-source, so I can at least aspire to fix the damn thing myself when I get annoyed enough.

<comment><USER14> And why start the comment ahead of the indentation level?

<comment><USER25> I didn't write the code in question, but I've done the same thing before. Usually it's because I'm cursoring up and down a file, see some lines I want to comment out, and don't bother moving over to the start of the text first. Syntax highlighting greys out the comment, so it's not visually obtrusive. (Which is another reason I'm baffled that Atom and Sublime both misbehave this way--they've _got_ syntax highlighting! They're already aware of block delimiters! Why don't they apply that knowledge to code folding?)

And I understand there are other reasons to not indent. In some languages, it's conventional to have certain kinds of declarations come at the beginning of a line, even if they're inside a block. (I think C++ does this, but I haven't used it since college--anyone want to comment?)

</comment></comment></comment><comment><USER26> I recently updated from Sublime Text 2 to ST3. One thing I loved about version 2 was that it was insanely fast. Version 3 is significantly slower. Can anyone point me to any resources that might help me determine why the slowdown?

<comment><USER27> I had to disable all my linters, because I also ran into severe input lag. It fixed the worst input lag, but I still have no idea what exactly the culprit was.

Really wish packages could be subjected to some kind of performance benchmark to shame the worst offenders to fixing their isht.

</comment></comment><comment><USER28> Why is it so much faster than atom?

<comment><USER29> Because C (or C++, I do not know exactly) and not vast amounts of layers of abstraction?

<comment><USER30> I thought Sublime is written mainly in Python?

<comment><USER31> It implements a Python interface so the plugin ecosystem uses it, but the core of it is c++ afaik.

</comment></comment></comment></comment><comment><USER32> Regarding the comparisons with Atom, can I take the opportunity to ask if anyone from ST could expand on their answer here[0] as how they go about making a custom OpenGL interface?

Do they use GLEW? Skia? How do they ensure anti-aliasing is done right?

[0] [https://news.ycombinator.com/item?id=2822114](https://news.ycombinator.com/item?id=2822114)

<comment><USER33> Sublime Text 1 used OpenGL (1.1 only, hence no GLEW) and Direct3D, while 2 and 3 are mostly software only.

While Sublime Text 2 and 3 do use Skia, only a tiny fraction of its functionality is actually used, just for rasterizing lines and blitting images. Font rendering is done by using the underlying platform APIs to do the glyph rasterisation.

<comment><USER32> Wow, thanks for responding! Very impressive work.

<comment><USER34> It seems Jon comments on hacker news about once a year. So you win the hacker news lottery!

</comment></comment></comment></comment><comment><USER35> In case anyone was wondering, the new JavaScript syntax highlighter appears to understand ES6, but chokes on JSX. If you're writing React, the Babel package is still a good idea.

<comment><USER36> Makes sense. JSX isn't javascript. :P

</comment></comment><comment><USER37> Is there a roadmap anywhere? I bought ST2, and I think I'm going to need to pay again for ST3 when I decide to upgrade, but it's still in beta and has been for over 3 years now. Would be nice to know when it will eventually be released.

<comment><USER38> I don't think so, it's the sort of software that's ready when it's ready. You can _use_ the pre-release versions of ST3 (ie what's currently available) on a ST2 license. That gets rid of all the nag screens.

I bought ST2 too in 2012 after a few weeks using it. It was certainly an expense but given how much it was speeding some things up, I considered it very good value.

I've used it for _at least_ 6,000 hours since then, probably closer to twice that. I'm not going to fight an upgrade when it eventually gets here.

</comment></comment><comment><USER10> I wonder what kind of release process this guy has as the dev version always lags behind stable - [https://www.sublimetext.com/3dev](https://www.sublimetext.com/3dev)

<comment><USER14> Who told you it lags? Version numbers? That's because stable version X+1 come after dev version X.

This doesn't mean it lags, just that the dev version came out first, and only after it was checked for a while, it was deemed worthy to hit the stable (well, actually beta) channel.

That's not different than any other project I know.

<comment><USER10> I don't look at the version number only, but at the changelog, too, but didn't pay much attention, until now.

Most sane projects create a build and test it, and don't rely on testing source code because the build process itself can cause defects as well.

What we've been testing as a dev build should have been promoted to stable, but, I realize now, he has the changelog embedded in the executable, and it's possibly merged across dev builds. He also has differences in the functionality between the dev and beta builds as you can't run the dev without a key.

<comment><USER39> It sounds like his approach is similar to the Windows 10 Insider Builds model of Fast Ring & Slow Ring. Even if all the Sublime builds in Dev are stable, I don't want to be updating every 2 days to get some minor bugfix. When I launch Sublime, I mostly just want to get to straight to work, not be thrown out of the zone by an update.

It took me a while to learn that lesson from my own customers. As a developer I'm excited to make sure customers always get new features ASAP, but customers would complain they were perfectly happy with what they'd bought & only wanted an update maybe once or twice a year. But everyone's different - that's why the option of a Dev/Beta channel & a Stable channel is good.

<comment><USER10> No, the dev/beta channels are a good idea. I think nginx has a similar release process as their stable now is ahead of their mainline as well.

</comment></comment></comment></comment></comment><comment><USER40> Is it just me or did this break the python syntax highlighter for line continuations within strings? I had to install MagicPython to fix it.

<comment><USER36> In strings or docstrings?

<comment><USER40> normal strings with "\" line continuations.

</comment></comment></comment><comment><USER41> Anyone know why this update changed highlighting for me?

Tomorrow Night Scheme, strings in double quotes are now gray instead of green?..

<comment><USER42> Chalk it up to syntax highlighting improvements, I guess.

</comment></comment><comment><USER43> PSA: If you haven't updated yet, I'd wait. The new version apparently broke syntax highlighting for many languages. Check out their support forum[1] - it's causing ripples.

[1] [https://forum.sublimetext.com/c/technical- support](https://forum.sublimetext.com/c/technical-support)

</comment><comment><USER44> Is sublime working on something big?

<comment><USER45> No.

</comment></comment><comment><USER46> :( Python docstrings are no longer coloured as strings, but comments...

<comment><USER47> I fixed that myself in ST2 in the syntax definition files

</comment></comment><comment><USER48> ST now supports async/await keywords in python! yay!

</comment><comment><USER49> It's good to see more ST updates, but it's sad that it feels like they're only even bothering because of the popularity of Atom.

<comment><USER12> What exactly are you looking for in ST improved? I just can't find anything that I think can be any better, it's just perfect already for me, I've tried using Atom but always went back to ST after a week of poor performance and battery drainage of Atom.

<comment><USER50> Yeah Atom still has issues. I've had crashing problems on 4 year old Macs.

But ST makes you pay $70. And also isn't open source. And more people know JS than Python to hack on it. And Github has a powerful marketing team and lots of resources to put behind Atom and it's development. And ST doesn't get updated too often.

<comment><USER51> $70 is absolutely peanuts for a tool that you use for hours every day.

The main reason so much modern software is bad is that people aren't willing to pay for even a fraction of the actual value it delivers. I would happily pay $700 for my main code editor if that would guarantee regular updates and new features.

<comment><USER52> To your point I think a lot of people would pay that kind of money if it guaranteed the company would both, continue to update and continue in its current direction. But that really hasn't been the case with most projects, and the open source products tend to have better shelf life.

I am happy to pay for these kind of things but rarely in a big upfront block like that. I doubt I'm the only one.

<comment><USER53> Very few people are willing to pay the kind of money that would actually sustain a company.

Let's run the math, and see if we can build a business around a text editor.

Let's say we can get away with 2 good developers (across 3 platforms, that seems difficult to me). Let's further stipulate they are willing to take a pay cut from their previous life at Facebook and are willing to do this as a labor of love. 90k/yr salary, 180k/yr for both.

Now we need a technical writer, to handle API documentation etc. Let's say we can get a CS major to do it part-time at 20 hrs/week at $20/hr. 20k/yr.

We also need a sysadmin to wrangle the CI setup, website hosting, install updates, setup email, etc. Suppose they automated everything in Ansible/Docker/Kubernetes/whatever_the_cool_kids_do_these_days and so we only need 10 hrs/week at $50/hr. 26k/yr.

We need a QA engineer to bang on things and file proper bugs. $50k/yr. Let's further stipulate that this same person will handle customer support, because we're a lean startup and combine multiple roles in the same individual.

We need somebody to handle marketing (or maybe direct sales, since it's a $700 pricepoint). Let's call it another $50k/yr.

We're now up to $325k/yr. Traditionally we would now have to lease office space, buy macs, call our AWS sales rep, etc., but let's assume for this conversation everybody works from home, they have their own equipment, and we got free startup AWS credit, which is not very realistic at all, but whatever.

So let's stipulate this is a stable burn rate. Nobody will get poached by Facebook, nobody needs to raise a round, if we can pull in _only_ 325k/yr, we can do this forever.

When we sell our $700/license, let's say we net 75%. That is actually very high: most software companies net around 50-60%, because the App Store, WalMart, the state, etc., take their pound of flesh. But our $700 text editor is so amazing that people will buy it direct from us, we will have a strong brand, _handwave_. So we take home an incredible $525.

We now need to sell 700 licenses year-over-year in order to keep this thing going. Not even 700 licenses _one-time_ , but we actually need to close 60 licenses a month, 2 licenses a day, 365 days a year. To do that, we needa sales process.

I would love to live in a world where a salesman knocks on your door, does a 2-hour demo, and at the end you have 50% conversion to writing him a $700 check. I just don't live in that world. And that's the kind of sales process you'd need to _sustainably_ develop a text editor.

Anything short of the exercise I just went through will result in a failed product. A developer might take a pay cut for a year but will lose interest if they're well below market. If we don't hire good QA then our quality will be shit and not worth $700, just think of all the shitty software you use already. If we don't have support then nobody will want to spend $700 to get their emails ignored. If we fund via VC then we will have to blog about Our Incredible Journey the next time Google Docs needs an engineer.

The result of this analysis is the current market. The only way to develop a text editor is either all volunteers (like Atom), a small part of a large corporation's marketing budget (VSCode), or a labor of love from one and a half underfunded and overworked people who we somehow expect to stop being underfunded and overworked even though we only paid them like half a billable hour several years ago (ST).

<comment><USER14> You DO know that apart from a programmer and a helper sales guy, ST has none of all those other "roles".

And judging from the community size, polls, and similar numbers from other project, it has sold at least 10.000 licenses (x70 -> 700,000) and i all probability much more.

> _The result of this analysis is the current market. The only way to develop > a text editor is either all volunteers (like Atom), a small part of a large > corporation 's marketing budget (VSCode), or a labor of love from one and a > half underfunded and overworked people who we somehow expect to stop being > underfunded and overworked even though we only paid them like half a > billable hour several years ago (ST)._

Maybe it's the analysis that's way off base, especially the dev numbers.

In fact the whole breakdown sounds ludicrous, like assuming the only dev work out there is done in cushy Facebook style jobs in the Valley or with extravagant VC money.

In fact tons of successful indie apps, not just editors, fly in the face of all you wrote above. No reason to believe a graphics editor (e.g. Acorn) or VST plugin (e.g. uHe Diva) or FTP Editor (e.g. Transmit) has much more potential users than a language/OS agnostic programming editor. And yet, all these companies exist for years, and even have several employees and nice offices.

As for editors, there's not only IntelliJ, that has tons of people working for it and is doing just fine, but other long time companies, like UltraEdit (that boasts 2 million users), a whole ecosystem around paid Eclipse plugins, etc.

</comment></comment></comment></comment></comment></comment></comment><comment><USER54> the 3.0 dev channel has been fairly active, 13 updates this year.

</comment><comment><USER55> The only proprietary software that I use as a matter of choice is Microsoft products and VMWare products, For something as trivial as a text editor, I wouldn't dare use something closed source, proprietary like this.

<comment><USER56> I don't think it's quite fair to classify Sublime as a text editor. Your comment trivializes the quality of the editing experience, the rich plugin ecosystem, the speed of the editor compared to common competitors, etc.

You are of course entitled to your preferences, but I'm not sure why you wouldn't "dare" use this?

<comment><USER57> Emacs and vim are classified as text editors, and Sublime is a small fraction of what Emacs and vim are.

<comment><USER58> To be fair, the small fraction of features that Sublime shares with Emacs and vim are hardly insufficient for a good editor.</comment></comment></comment></comment>


IPhone OS 3.0 breaks some apps that make phone calls - <AUTHOR> http://blog.ablepear.com/2009/06/making-calls-from-within-your-iphone.html

<comment><USER2> I never thought about the fact that random apps could dial my phone just by opening the right kind of URL. But now that you mention it, wow. That was fucked up. Glad they fixed it.

<comment><USER3> Yeah, it was broken. But there should be a more elegant solution than requiring a confirmation every time. I would compare the current solution to Vista's security confirmation where any action other than no action required "Administrator Permission." It would make more sense for an app to just be given permission to answer calls.

And seeing how Apple controls exactly what applications can be on the phones themselves, I don't see why having a simple "Does this app have permission to make calls?" would be so bad, since Apple should be able to filter out any "bad" apps.

</comment></comment><comment><USER4> Apple as sent numerous emails about updating applications for 3.0.

Also, that functionality was necessary... I actually implemented it in one of my application so that if you accidentally press the call button, you don't exit the app and start calling random people.

</comment><comment><USER5> I think his solution makes sense. I'd like to give my dialer apps permission to call whenever they want.

The current dialog box adds an unnecessary step.

</comment><comment><USER6> An app I wrote, Call Nearest, simply dials the nearest match based on Google API search results.

As a developer of an app that once automatically dialed phone numbers for you, I can say this confirmation is not a big deal. In fact, I think it is an improvement.</comment>


Why Programming Language X Is Unambiguously Better than Programming Language Y - <AUTHOR> http://joelgrus.com/2013/12/24/why-programming-language-x-is-unambiguously-better-than-programming-language-y/ <comment><USER2> There once were two guys who had completely different opinions about programming languages:

First guy: I love studying programming languages and compare them all the time. I think about different features they have and how that impacts me as a developer. I have a very strong opinion about different languages, because I have invested a ton of time researching them. I love to use the newest languages around, because they excite me and keep me motivated.

Other guy: I hate all programming languages, and I'm sure they're all pretty much the same. It's just Narcissism of small differences [1]. I just do a little research and pick the most obvious candidate. Then I Get Shit Done. Programming languages need to be stable, predictable and maintainable. I avoid hipster languages at all costs. That's just good engineering.

I am both of these guys.

[http://en.wikipedia.org/wiki/Narcissism_of_small_differences](http://en.wikipedia.org/wiki/Narcissism_of_small_differences)

<comment><USER3> For most people, it's good to be both but leaning towards "the other guy" and focus on Getting Shit Done.

Most people are seeking success in their business. You become a detriment to yourself/company if you are constantly studying programming languages and always throwing away yesterdays code with [Y]'s new hotness. Yesterday's code become stale, no one wants to maintain or fix it because they have deemed it unworthy, "ugh who decided to write this in [X], terrible, this is career suicide to waste time on [X] when [Y] was about to be released"

Soon we are throwing away [Y] because [Z] just came out and it will solve all of our problems. There will be no end to "First guy"'s pursuit of the holy grail.

I value Get Shit Done more than any [X,Y,Z]. Nights and weekends are when I get to experiment and try new stuff to satisfy my learning needs, however I look to see what problems [Y] or [Z] is attempting to solve and how I might apply that to [X] and continue to Get Shit Done and focus on business success.

As coders we are similar to craftsmen. You can continue to make furniture with your tools you have now, or you can buy that new machine which will do it faster/better. You are going to take a $$$ hit purchasing that machine but eventually you should break even and return to profit. Now a new machine comes out doing it even faster/better than before. At some point you need to stop investing time/money in trying to become faster/better and realize some profits on what you have learned and are currently using. Likewise there is a time and place for introducing a new language to your company, but you need to make sure you can cash in on that investment or you will never Get Shit Done.

<comment><USER4> Yes, this is the economized vision of programming (as a trade). I'm sure it plays well in the Bay area. I'm sure its very "realistic" (that is, plays well within the current Standard Assumptions and Expectations).

I personally wish to emphasize the creative aspect of all human activity, esp. programming. The vast majority of worthwhile and lasting contributions to society (, etc.) are creatively, not financially motivated. Financial motivation is the death of creativity and intellectual progress in general.

Think about these statements for a moment, in particular the first which places a slash casually between "yourself" and "company" as though these were twin aspects of the same entity.

> You become a detriment to yourself/company

> Most people are seeking success in their business

> focus on business success

> you need to make sure you can cash in on that investment

"Get Shit Done", that is, accomplishing projects is not a matter of equating your interests to the pure financial motivations of a hypothetical business.

" If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea. "

This seems too profound to too grand for everyday matters, but it is precisely about a (then) every day matter: building a ship.

When a researcher spends 20 years of their life on a single problem is it not their University they are thinking of, nor of the "business success".

When might we again write programs _for the sake of something_? And when might we take the writing of programs as an end in itself? The two ethical and aesthetic questions which this monetization of motivation completely obscures.

</comment></comment></comment><comment><USER5> Oh, for heaven's sake. Now that he's gone and written this template, what the hell are we going to talk about on HN?

Everything is ruined.

<comment><USER6> The way people talk about it is hopefully ruined for some - if this makes a couple people stop to think that their reasons for championing a language are flawed then this is one awesome post. (yes, I know you're being sarcastic)

However, the discussion on issues such as type-safe vs not are still going to come up because they really are useful discussions because there isn't a right or wrong answer. It's like arguing if you should take the train or a car. In a general sense it's not a useful question, but in a specific sense it is very useful. Should I take the train or a car when going between specific X and Y is actually still a useful discussion and an important decision.

</comment></comment><comment><USER7> The algorithm can easily be rewritten as:

        [barely understandable one-liner version of X code sample]

So the entire premise of flawed. Author should really learn about [X] before bashing it. Besides, [Y] doesn't even have [feature].

</comment><comment><USER8> This is true for debates like Java vs C# or Python vs Ruby, but some languages _are_ unambiguously better than others.

Usually this happens because the languages were never actually designed; they were nasty hacks thrown together in a few days by amateurs that happened to strike it lucky and become embedded in a technology stack that then took off, e.g. Javascript and PHP. Of course they are unambiguously worse than any language that was actually designed.

Sometimes there is a case where a language was explicitly designed to fix the problems of an earlier language. For example languages like Coffeescript and Dart were designed to fill exactly the same niche as Javascript but they had the benefit of being developed later, so it's not surprise if they are better than their inspiration.

Occasionally there is the slightly ambiguous case where a language is a superset of another language. For instance C++ is (almost) a superset of C, and Scala can be used as simply a better Java. So obviously C++ can do everything C can do, and more. The only ambiguity over their superiority comes because you can't trust programmers not to use the many new complex features of C++ and Scala, so there is a risk of the results being too complicated.

Deciding on a 'best' language often comes down to IDE support and library availability, rather than just the merits of the languages. Also there is strength in numbers - I would love to use Scala on Android, but I would fear that number of users of that combination is so low that I could hit an obscure compiler error that affects no one else and so doesn't get fixed. (I saw reports of this on mailing lists a couple of years ago, when users were fewer than they are now.) Also if you are choosing a language but hiring someone else to do the programming for you you have to consider that it's ten times easier to replace a Javascript monkey than a Lisp hacker.

<comment><USER9> > This is true for debates like Java vs C# or Python vs Ruby, but some > languages are unambiguously better than others.

I strongly agree with that. What I find ridiculous is fanboyism, people that don't want to recognize the draft level of thisthose language/s.

> Deciding on a 'best' language often comes down to IDE support and library > availability, rather than just the merits of the languages.

The Best Tool For The Job. True. But don't think business and practical use or usage of the language for a minute. There must be an absolute in languages and its implementation. I mean theoretically some languages are better than others. For instance take D, it does more and better than C, C++ (and Java?).

I think this debate has been implicitly solved, basically there is the scientific side dedicated to solve piratical dev issues, implementation details, math theory. In this area we can find Scheme, LISP and ML languages.

The other side is the business, engineering and fanboism where focus is on real world problems, where pragmatism beats theory and whether it's cool or not. Here there is almost only imperatives and compiled languages. Why? Winners write History and Thruth.

> The only ambiguity over their superiority comes because you can't trust > programmers not to use the many new complex features of C++ and Scala, so > there is a risk of the results being too complicated.

And AFAIK that's what killed Scheme and LISP, because the syntax is too powerful. And what still kills dynamic languages in general.

</comment></comment><comment><USER10> Whatever language I am learning next is clearly better. It can't possibly be my fault the last language was to difficult, or too slow. I was just getting started and didn't know how much that last language sucked.

OR

Clearly LISP is the language of the Gods, but sometimes I have to work in C because there isn't a good LISP port for certain embedded systems.

OR

Node.JS is the best because you only have to learn one language, and everyone has to know JavaScript so that makes it the best.

OR

I write everything in Assembly, it takes longer, but it is the purest programming.

OR

I speak Python because that's what Harry Potter speaks and he is the coolest.

OR

PERL is the best because you can do so much in a single line of code.

OR

Objective C is the best because why would you want to develop for anything other than an Apple Device?

OR

RPG was how my grandad did it, and so that's how I'm going to do it.

</comment><comment><USER11> Freenode's ##programming could do well to understand the point of this post...

Unrelated, but linking to a specific HN post from your blog may not do what you think it does in terms of the story's voting.

Specifically, I believe the referrer header is checked, and if many votes come from the same place, those votes are... devalued? Something like that. I don't even think votes from the comments section for a submission are counted at all.

I'm not actually sure what the official HN admin stance is.

<comment><USER12> I link to HN discussions in my own posts, but I don't give a damn about the ranking algorithm, I just want to direct readers to a place where they can have a discussion.

If HN is ignoring votes from them, or penalizing my pages, or what-have-you, that's their business. I like to write, I don;t want to have to spend a lot of time trying to reverse engineer every social media site's ranking algorithm to figure out when to post it, what to call it, and what types of links are acceptable.

If HN really doesn't want people sending traffic their way, I hope they would put that in their guidelines.

<comment><USER11> HN isn't really a company in the sense that they don't have the same goals as a monetized website has - specifically, there isn't really a "drive" for users, or traffic. In fact there are many things HN does to actively discourage "general" users from joining/remaining part of the community.

I offer no value judgement, I just wanted to be clear what is happening when a blog links to its HN submission directly like in this case, and even moreso to your latest point - HN doesn't give a hoot if you send traffic its way or not.

It's very non-intuitive, I understand your confusion.

<comment><USER12> I'm not confused, and I don't expect them to have any desire for traffic. That's why I link to it even though there's more than a few people who believe it hurts the way my posts are ranked. They do their thing without giving a damn what I do, and I do my thing without giving a damn what they do.

If they really don't want people linking to HN discussions, they'll ask people not to do that. They aren't shy about asking people not to flood the new queue, for example. If they're penalizing the votes or comments of people who come through direct links, well, that's their business and I presume they know what they're doing.

I'm a writer, not a SEO consultant.

</comment></comment></comment></comment><comment><USER13> Disappointing. I was hoping for some sort of matrix.

<comment><USER14> [http://kuehnast.com/s9y/uploads/langs.jpg](http://kuehnast.com/s9y/uploads/langs.jpg)

</comment></comment><comment><USER15> Well done, Joel. It would have been unambiguously better if had been an interactive Madlibs implemented in Clojurescript though.

</comment><comment><USER16> Why are we even comparing these languages in the first place? [Z] has been around for decades, it does the job, and everyone already knows it. It would be silly not to continue with [Z].

</comment><comment><USER17> It's totally true, but I have already years of experience in Y and it is used by everybody around me. :-)

</comment><comment><USER18> echoes in the echochamber

</comment><comment><USER19> Because I Say So (TM).

</comment><comment><USER20> And the point of this post was... What exactly?

<comment><USER21> The point was to highlight, in an amusing fashion (because the specifics were omitted), some of the silly ways in which people compare languages. By being aware of the silly ways in which we can argue about languages we can, hopefully, find some meaningful ways to compare programming languages instead. It was amusing and it was educational.

<comment><USER20> Oh, okay then.</comment></comment></comment>


Building a Rust Driver for PineTime's Touch Controller - <AUTHOR> https://email@example.com/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 <comment><AUTHOR> Ever wondered how a Touch Screen works? Lemme explain with PineTime Smart Watch running on Rust, Apache Mynewt OS and Nordic nRF52</comment>


Ask HN: Is it worth exploring Flutter for cross-platform mobile development? - <AUTHOR> <comment><USER2> If you've already looked at React Native then there's a good React-Native-to- Flutter cheatsheet on the Flutter site - [https://flutter.dev/docs/get- started/flutter-for/react-nativ...](https://flutter.dev/docs/get- started/flutter-for/react-native-devs)

</comment><comment><USER3> As I know, Flutter is really good at MVP and even final product development. But in the end, nothing can be natives, Kotlin for Android and Swift for iOS

<comment><USER4> > But in the end, nothing can BEAT^) natives, Kotlin for Android and Swift for > iOS

^) my edit

Note that Flutter is conceptually a completely different (and more powerful) animal, in the sense that it removes the distinction between the system code ("native") and the user code ("app").

The app basically includes its own GUI library, and only calls the system to do I/O. The OS provides the events and a drawing surface, that's all. Importantly, to the app there is no hidden state to manage (and debug).

So one might argue the reverse (also up to a point): nothing beats having access to your own state, so nothing can beat Flutter.

<comment><USER5> sheesh! Native apps have access to their own state. Creating abstraction layers on top of native is problematic. A hybrid approach does what it does best. A generalized app that breaks when OS's or UI standards change.

And why is there yet another need for this? Because phonegap, ionic, xamarin, react-native were not good enough.

Unfortunately, have had to code for all of these abstraction tools. There is no silver bullet, just trading one pain for another. Why learn the native language? When it is funner to debug thru layers of abstraction.

Even airbnb is moving back to native, from react native. The pain was not worth it.</comment></comment></comment>


Advancing our approach to digital currency - <AUTHOR> https://usa.visa.com/visa-everywhere/blog/bdp/2020/07/21/advancing-our-approach-1595302085970.html <comment><USER2> I read the entire post, but I'm not sure if it.... actually said anything?

I guess an expectation of some future releases related to easily spending or buying crypto perhaps?

<comment><USER3> Yeah, I would translate this as "stop saying we hate crypto, we have allowed some crypto stuff, and we will allow more in due time".

</comment></comment><comment><USER4> They mentioned "working closely" with Coinbase and Fold.

I hadn't heard of Fold, so I checked it out and they're currently marketing a credit card that rewards you Bitcoin instead of "cash back", points, or airline miles.

Not very relevant to this discussion, but Fold emphasizes "opt out [of] surveillance" and "opt in [to] privacy". I went to create an account and saw the "sign in with twitter" option, and here are the permissions they're requesting:

\- See Tweets from your timeline (including protected Tweets) as well as your Lists and collections.

\- See your Twitter profile information and account settings.

\- See accounts you follow, mute, and block.

\- See your email address.

How can a company think this aligns with that sort of marketing at all?

<comment><USER5> The privacy.com (private/disposable payment card numbers) app and website have tons of third party trackers and spyware embedded, too.

Privacy is just a marketing bullet point, these days. Apple pushes it hard as a differentiator, yet most of iCloud isn't end to end encrypted and almost all of the apps in their App Store have spyware embedded in them.

<comment><USER6> > The privacy.com (private/disposable payment card numbers) app and website > have tons of third party trackers and spyware embedded, too.

Well, the relevance all depends on your threat model. Personally, I care about protecting my banking info from strangers but not about protecting my info from privacy.com and its third parties.

I think "spyware" is a bit of an exaggeration considering that presumably many privacy.com users have a threat model similar to mine.

<comment><USER7> I'm curious about this stance; are you worried specifically about people stealing money from you? Because outside of that, the privacy.com-third- parties (and then third parties they might sell data onward to from there) seem _more_ strangers than the businesses you have actually have a direct financial transaction with; you can't even enumerate who they are.

<comment><USER6> I mean, if you look on the privacy.com website, the only 3rd-party request is Google Fonts. Personally, the privacy tradeoff is worth being able to pull a font from the cache, even though I understand that the same doesn't apply to everyone

</comment></comment></comment></comment></comment><comment><USER8> If digital currency becomes really successful then it will eventually put Visa out of business.

Money should be a public system, not a private enterprise. And the ability to transfer money without paying some gatekeeper should be a fundamental right and core function of government.

I think for government to stay relevant then it needs to start to encompass more distributed protocols. To the degree that it fails to do so then I think it loses relevance. Which may be fine, since government has historically performed fairly poorly. Maybe we can replace most of it with independent technology in a different paradigm.

<comment><USER9> > If digital currency becomes really successful then it will eventually put > Visa out of business.

Not really - there don't exist any digital currencies that A) have desirable economic/security properties B) can scale to billions of users and C) have a UX that's accessible to unsophisticated users.

Visa's role in a Bitcoin-based economy is probably providing custodial wallets, Lightning payment routing, etc.

> the ability to transfer ... should be a fundamental right and core function > of government

The government has historically done a pretty bad job of this (which is why 99.9% of consumer payments go through private systems).

Why would I want the government to manage this when we know how to do this well without a government involved? What's the benefit of using FedCoin over using something decentralized with good monetary properties?

> I think for government to stay relevant then it needs to start to encompass > more distributed protocols. To the degree that it fails to do so then I > think it loses relevance.

This is an oxymoron - if a protocol is distributed, it inherently obviates the need for governmental management.

<comment><USER10> There are actually but probably you haven't used them. But that's not the point. It's just a matter of time that some digital currency will satisfy all your demands.

<comment><USER9> Name some.

<comment><USER10> Dyor

<comment><USER9> I have. I'm waiting for you to name some shitcoins you think meet the criteria I mentioned so I can dunk on you.

<comment><USER10> You need to look into what makes you a hater to some technology

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> It looks like Visa is stepping in the niche that Facebook's Libra has identified, but couldn't fully explore due to regulatory pressure. It would be interesting to see if they can succeed at letting people and businesses efficiently settle transactions in cryptocurrency.

<comment><USER12> Do you think there is a sufficient market for businesses looking to transact in crypto?

I'm a big believer in the tech, but when I look today I still don't see how Visa really plays well with the current crypto market.

There are almost no cryptocurrencies that actually have desirable cash-like qualities that would result in their use in the retail space which basically eliminates all B2C like options. CBDC or other forms of tokenization could be a big deal, but CBDC certainly isn't there yet, and despite some interesting initiatives I haven't yet seen a value add tokenized solution in the retail sector. Including in developing countries, existing solutions using traditional payment networks are still more desirable.

There is the classic Innovators Dilemma where the new hot product will obviously underperform traditional products in the interim but eventually outperform them over the long term. I could see this happening in the developing world, but to my knowledge I have yet to see a product that seems to fit this mold.

<comment><USER11> I think that cryptos are going to become more popular in the coming years with the ordinary people. As for the businesses — they don't want to own them, since they are not widely recognized currencies. When CBDCs come along, that would be a totally different story. They will be likely just made the official currencies of their countries.

Having said that, I can see a case for payment systems to start transacting in existing cryptos, so long as they can satisfy the regulators. They already do that with different real-world currencies. When you have a card in one currency and a business charging you in a different currency, the payment processor does automatic conversion between them for you. With cryptos, everything works the same way, except there may be a crypto-exchange in the middle. The payment processor just needs to guarantee the delivery and some stable exchange rate.

Admittedly, these are not pure crypto transactions. But businesses can already do those directly over blockchain. The major thing stopping them is that there are few other businesses who would accept crypto. Hopefully, payment processors adding support for cryptos could move everyone else to broader adoption.

<comment><USER13> I still think that the mainstream financial sector has more than a fighting chance against crypto.

A lot of the features that cryptocurrency offers are primarily appealing to specific narrow categories of customers, who are very close to being bad actors on a broader stage. Your typical consumer isn't screaming about "I want an economic policy hard-coded into the currency so everyone's hands are tied when the economic-political situation changes" or resenting the fact that you can get fraudulent transactions reversed in most payment systems today.

The things regular consumers like about crypto can be done as well if not better with a centralized infrastructure. Faster and cheaper transactions, and hassle-free cross-bank and international transactions are not exactly out-of- the-blue expectations. The current players are just hamstrung by business processes, and to a lesser extent, regulations, that date to the era of paper cheques and IBM 360s. And then, of course, the margins in charging $25 and taking 24 hours to push around less than a kilobyte of data.

<comment><USER14> > _Faster and cheaper transactions, and hassle-free cross-bank and > international transactions are not exactly out-of-the-blue expectations._

I think a lot of these problems originate from the fact that deposits at banks exist only as records in the bank's database, and therefore can only really be moved between accounts at the same bank.

To create the illusion of moving deposits between banks, another bank must accept to take on the liability in exchange for something else, something that can actually be moved between banks. This is what is referred to as "reserves", which is what we call the special money that only exists as records in the central bank's database.

So we can think of deposits as "JP Morgan Chase dollars", "BoA dollars", "Wells Fargo dollars" etc. while the real money is the "reserve dollars" that cannot be acquired by individuals.

Innovations like CBDC might put the reserve money directly into the hands of individuals and fix the issues that you mentioned. So that would mean that the central banks will be the ones with the fighting chance against crypto, not the private financial institutions.

<comment><USER15> I'd be also curious to see which space (if anything left) Visa would be moving on the retail side. They have already filed a patent which could be an additional indicator [1].

In general, once a national CBDC is in place it'd become rather difficult to foresee the position of middle players between issuer of cash (CB) and user of cash (people) in retail space, e.g. Visa and commercial banks. In a world where anybody can send cash to each other without a middle player (even offline), the role of middle players would probably reduce from "money printers" and large-scale trusted actors to "security box"-holder financial players and value-added service providers.

On the private sector side, there are also quite strong players stepping in, likes of Celo and various other public chains. On the public sector, China's DC/EP would be publicly out in 2022 creating a strong inertia [2], followed by couple of other central banks in various stages.

Things are going to get really interesting next few years, which certainly will change the today's financial landscape.

[1] [https://www.forbes.com/sites/jasonbrett/2020/05/14/visa- subm...](https://www.forbes.com/sites/jasonbrett/2020/05/14/visa-submits- patent-application-for-digital-dollar-using-blockchain/#715bff015b63) [2] [https://asia.nikkei.com/Spotlight/Cryptocurrencies/China- aim...](https://asia.nikkei.com/Spotlight/Cryptocurrencies/China-aims-to- launch-digital-yuan-by-2022-Winter-Olympics)

</comment></comment></comment></comment></comment></comment><comment><USER16> It seems that Visa is having FOMO moment here. (at least in my opinion)

They do not want to be left out in case all those nerds start scaling Bitcoin or any other altcoin to something that can be used globally and legally.

<comment><USER17> This reads to me more like visa has bought into to crypto currency and is spending real money to build out integrations. Seems like they're a player in the space, not just there for fomo.

Similar to fidelity.

</comment></comment><comment> globular-toast What do they class as "digital currency"? The major world currencies have been purely electronic for decades now. Nothing physical is moving around, even between banks. Bitcoin is unique not because it's electronic but because it's trustless. Those "stablecoins" they then go on to mention are no different to regular currencies, they're just there to allow people to cash in on the hype of bitcoin.

</comment><comment><USER18> > Today their research is focused on new mechanisms to improve scalability and > enable offline digital currency transactions.

I'm a bit lost here about offline digital currency transactions, I have no clue on what concept can make it possible, can anyone enlighten me please?

</comment><comment><USER17> My favorite company positions are partner agnostic. I'm not sure why but I somehow morally agree more with a company who provides their service to a variety of partners and doesn't have a preferred vendor.

Likely it's the adtech bidding /auction background, where many tech companies aren't agnostic and double dip on the buy and sell side (google, att, amazon, Verizon).

</comment><comment><USER19> It might be a knee-jerk reaction, but I'd be very wary of Trojan horses. The old money and just all of the traditional economic infrastructure has a vested interest in seeing crypto fail because it takes power away from them, and Visa is no exception.

<comment> globular-toast I'd like to think Visa is independent of the banks and is therefore agnostic towards who is keeping the ledger.

</comment></comment><comment><USER17> If you didn't know, visa has effectively pivoted to partly be a tech company. I worked with them on data licensing agreements (evil adtech) and from that perspective their systems were more up to date and worked better than oracle's.

</comment><comment><USER20> « Today, fiat-backed digital currencies, commonly referred to as "stablecoins," have emerged as a promising new payment innovation, combining the benefits of digital currencies with the stability of existing currencies like the US dollar. »

Haha, Visa drank the stablecoin koolaid.

</comment><comment><USER21> Unfortunately Bitcoin's creator is the only one who can bring peer-to-peer electronic cash to the world, it will not be Facebook or any other company. If Satoshi stayed with Bitcoin project Visa, MasterCard, Swift and all the other major financial companies would slowly become thing of a past.</comment>