FCC Reaches Settlement with TP-Link in Wi-Fi Router Investigation - <AUTHOR> http://transition.fcc.gov/Daily_Releases/Daily_Business/2016/db0801/DOC-340564A1.pdf <comment><USER2> One time I was up for like 36 hours, and I had just gotten a new router from Linksys. I started reading the privacy policy and got really freaked out that they were tracking every website I visited through some kind of HTTP/S proxy.

I wouldn't doubt it because in their policy they paint some pretty broad strokes with their words. Their "Smart WiFi" router phones home constantly and the web interface manager doesn't allow you to run it without third party cookies enabled and JavaScript enabled. I'm going to have to burn that open source router onto it because it said it was capable.

<comment><USER3> I wish Pfsense hardware was more affordable so more people could afford to run it.

<comment><USER4> pfSense is based on FreeBSD. there is no "pfSense hardware", just x86 machines.

<comment><USER5> I wonder what's the cheapest/most low-power hardware that could do that job? A Raspberry Pi is too underpowered (putting Ethernet on USB is also a big problem), but what's the next step up from there?

<comment><USER6> See my ebay link above.

<comment><USER7> You're not part of the solution here

<comment><USER6> Hi Jim please see my reply above.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> So the bottom line of this settlement is:

1\. You can still load openwrt etc to TP-Link routers.

2\. TP-Link needs to do something(e.g. set hard-limit on TX power in some binary blob or something) to make sure nobody can increase Wifi output power above the "safe" threshold.

Now as someone said in the thread, UBNT might have the real high-power WIFI devices(e.g. point-to-point outdoor) that can cause real interference to airplanes etc, it seems UBNT is not impacted at all, which is odd.

<comment><USER9> I think the tricky part has always been dynamic frequency selection, where the 5GHz WiFi radio is supposed to listen for a radar chirp and switch channels if it hears one. It's my impression that the hardware typically already supports some form of maximum transmit power configuration that the Linux drivers can further restrict but not loosen on the basis of the software's regulatory domain setting.

<comment><USER8> I have seen high-power WIFI card with amplifiers that can do really powerful TX output and the linux drivers are free to tune that output to its physical upper limit.

<comment><USER10> But this isn't about the case, you can always chain your router to an external amplifier (your SNR might be a bit flaky but that's another issue) you can always hard mod your router to do whatever you want.

This is a simple case of the routers adhering to the specs out of the box and that the spec could not be modified via software, and I really haven't seen that many TP Link routers that can actually broadcast outside of the "safe" spec, most of them can be unlocked to use the forbidden channels on 2.4 but their power limits are pretty low.

<comment><USER8> correct, even without amplifiers I have used high-power wifi-cards, however I have not tried any high TX output on any TP-Link products, which is odd why TP-Link becomes the target.

<comment><USER10> From reading the full document it seems that the default TP-Link software allowed the routers to operate at higher power levels.

" _TP-Link violated the Equipment Authorization and Marketing Rules by marketing routers in the United States that were shipped with TP-Link software that permitted the user to change the country code for the router, thereby enabling the router to operate at a higher power than allowed on certain restricted Wi-Fi channels._ "

This doesn't seem to have much to do with OSS/3rd party firmware support which is a whole other can of worms that the FCC opened a few months ago. This is also seem to be limited to 5ghz only where I guess the US has more restrictions.

</comment></comment></comment></comment></comment></comment><comment><USER11> FCC announcement: [http://transition.fcc.gov/Daily_Releases/Daily_Business/2016...](http://transition.fcc.gov/Daily_Releases/Daily_Business/2016/db0801/DOC-340564A1.pdf)

Direct Link to the ruling: [http://transition.fcc.gov/Daily_Releases/Daily_Business/2016...](http://transition.fcc.gov/Daily_Releases/Daily_Business/2016/db0801/DA-16-850A1.pdf)

</comment><comment><USER12> Better to stick with those who don't need anyone to require them that.

At least Linksys with Marwell chips has really open WiFi drivers (WRT1900ACS).

<comment><USER13> The last time I looked it required a proprietary binary blob. AFAIK the only free drivers which work well are ath5k and ath9k.

<comment><USER12> For firmware. The driver itself is open. I don't think even Qualcomm have open firmware for 802.11ac chips. That's an unfortunate trend. While drivers are getting more open, firmware blobs are becoming more prevalent, in GPUs, WiFi and etc.

<comment><USER9> The really unfortunate thing is that they're putting the _wrong things_ into the proprietary firmware. I'd be fine with signed proprietary firmware that only enforces FCC limits and regulations. That would make it harder if I wanted to sell my used equipment overseas, but wouldn't otherwise restrict my freedoms.

I'm not fine with the bottom half of the network stack being offloaded to the proprietary firmware where we can't adjust or even directly see things like how many packets it's buffering and how it handles aggregation and retransmissions.

</comment></comment></comment></comment><comment><USER14> [https://omnia.turris.cz/](https://omnia.turris.cz/)

</comment><comment><USER15> Would it be possible to do any real harm (to humans, pets, etc) by increasing this power setting or would this only cause interference with other electronics?

Also, which models is this for?

<comment><USER16> Harm to biological entity's no way.

"causing interference" In theory, yes the possibility exists. In practice not likely.

Other wifi ap's neer by might be drowned more than they would otherwise. You could call that interference.

<comment><USER17> > In practice not likely.

Depends. It apparently is real enough. Higher 5GHz WiFi band channels can interfere with airport radar. That's why the standard mandates a router to switch to another channel if it detects radar signals.[1]

But of course using an illegal channel is simply illegal...

[1] [http://wifi-insider.com/wlan/dfs.htm](http://wifi- insider.com/wlan/dfs.htm)

<comment><USER18> The rules for using DFS 5ghz channels are so harsh that the networks built with them are almost uselessly unreliable. You're /far/ better off just not using channels requiring DFS. Especially if it means you can actually own the equipment you paid for.

<comment><USER19> Which also reminds me of LTE-U vs WiFi. I wonder if the fundamental problems are similar.

</comment></comment></comment></comment></comment><comment><USER20> According to the /. comments "Requires" is wrong. They "support" them doing that (i.e. that there are not legislative obstacles to it).

</comment><comment><USER21> Woo! Cheap Wi-Fi routers with the possibility of open source firmware!

</comment><comment><USER22> bws111's post from the Slashdot thread:

Nowhere in that document does it say the FCC REQUIRES TP-Link to allow open source. What it says is:

"While manufacturers of Wi-Fi routers must ensure reasonable safeguards to protect radio parameters, users are otherwise free to customize their routers and we support TP-Link's commitment to work with the open-source community and Wi-Fi chipset manufacturers to enable third-party firmware on TP-Link routers."

They SUPPORT a company working with open-source, not REQUIRE,

Later on it says: TP-Link has also agreed to take steps to support innovation in third-party router firmware by committing to investigate security solutions for certain 5 GHz band routers that would permit the use of third-party firmware while meeting the Commission's security requirements and maintaining the integrity of critical radio parameters.

So the requirement is that any open-source stuff must meet the security requiements and maintain correct operation, not that they MUST allow open source,

</comment><comment><USER23> Title is inaccurate, TP-Link only committed to investigate supporting third party firmware (including open source).

From the FCC announcement (similar language is in the ruling):

> committing to investigate security solutions for certain 5 GHz band routers > that would permit the use of third-party firmware

<comment><USER24> We updated the link from the Slashdot post ([https://build.slashdot.org/story/16/08/01/1855206/fcc- requir...](https://build.slashdot.org/story/16/08/01/1855206/fcc-requires-tp- link-to-support-open-source-router-firmware)) to the official announcement.</comment></comment>


Samsung: Expect 6G in 2028, enabling mobile holograms and digital twins - <AUTHOR> https://venturebeat.com/2020/07/14/samsung-expect-6g-in-2028-enabling-mobile-holograms-and-digital-twins/ <comment><USER2> 5G is off to a shaky start, it has been barely rolled out. Throw in the Huawei situation where the US and other countries they are compelling to drop Huawei is in full swing. There isn't really a proper alternative to Huawei except maybe Ericsson and Nokia, but even so, Huawei is in a league of their own. This is all going to slow the roll out of 5G.

I cannot see 6G being rolled out in 2028, unless it's an easy upgrade of existing 5G infrastructure.</comment>


Stoning could be last ditch defense against school shooters - <AUTHOR> http://www.mcall.com/news/breaking/mc-pol-schuylkill-county-blue-mountain-bucket-of-rocks-in-classes-20180323-story.html <comment><USER2> Is this an April Fool?</comment>


The Database Rant - <AUTHOR> http://arohner.blogspot.com/2009/04/db-rant.html

<comment><USER2>
        SQL was invented in the 70s for business analysts to write reports without having to go bug the programmers.

So what? Unix was invented in the 70s because Ken Thompson wanted to play Space Travel. [1]

        Queries are not composable.

Per your example, you want to throw out SQL because using AND and OR doesn't feel right. I'd love to see you compose a 10-line SQL query. Also, views ARE query composition.

        PL/SQL is primitive by today's standards, yet it's the only game in town for certain classes of features, like stored procedures and triggers.

Untrue. Oracle, the creators of PL/SQL, now let you write stored procedures in any JVM or .NET language (so Jython, Clojure, etc.). MS SQL supports .NET stored procedures. PostgreSQL supports Tcl, Perl and Python. Also, your alternative suggestion of a simple and stupid data store DOES involve fetching all the data from the database into RAM and operating on it in your application. You can already do that with SQL.

        It's not obvious which queries are slow.

Untrue. MySQL can log slow queries and help you analyze them in real time using tools like mytop. I assume similar tools are available for all databases. When you write code it's not always obvious if it will be slow, either.

        No back door for map, filter, reduce

Isn't the WHERE clause filter? Isn't GROUP BY very similar to reduce? SELECT UPPER(firstname) is map? With the ability to define custom functions in different languages that's a fairly powerful tool. Also, comparisons between MapReduce and SQL are misguided, because MapReduce does not operate on tabular data.

Finally, your solution is based entirely on the idea that people will prefer Lisp to SQL.

SQL is not perfect for everything, but if you want to suggest a better alternative, start with a solid argument.

[1] <http://en.wikipedia.org/wiki/Unix#History>

<comment><USER3> _if you want to suggest a better alternative_

How about an RDBMS that exposes a relational algebra api and then people can experiment with developing alternative languages/interfaces instead of having a single designed by committee string-eval based atrocity.

<comment><USER4> What percent of the top N (your pick of N and your choice of big-ness metric) websites do you suppose are using predominantly string-eval'd SQL? I don't think it's very many; I'd wager that most big shops are quite happily using SQL, using stored procedures, views, and parameterized queries far more often than using "jam SQL into an nvarchar and execute the resulting string".

SQL may have its warts, but in the world of "I gotta get things done and not sweat data persistence", I think it's pretty wildly, successfully, and fairly universally used, almost like the cockroach of the data center.

When I look out and think about what's going to kill our ability to take orders, scale to new levels of growth, or to have development be efficient at developing new features, SQL the language doesn't make my top 20, and probably doesn't even rise to the level of "all other receiving votes". MS-SQL the database engine probably does make my top 10, but that's only because we're continually chopping away at the items on that list. It does take us a while to train brand-new devs on how to write effective SQL, but it takes us time to train them on how to write C#, how to write good test cases, how to structure code for testability and write unit tests, etc. IOW, it's just one of a laundry list of needs, and a proposed alternative interface would also be something on that list to teach them.

</comment></comment></comment><comment><USER5> _Current databases don't give the developer a way to bypass the optimizer._

Sure they do. Oracle and other commercial DBs provide "planner hints", which essentially force the optimizer to use a particular access method / join method for a given part of the plan.

 _why does SQL decide that declarative style is the One True Way to get access to your data_

Well, part of the reason for a query optimizer is that if the physical representation of the data changes, the queries don't need to change. So that if you add or remove an index, you don't need to adjust all the queries on the table, for example. Obviously the query planner is imperfect, but planner hints are fairly common in practice. The further you stray from declarative queries, the more application changes are needed when physical database properties change.

 _Datatypes don't match your PL_

If you want a strongly-typed database system that can be accessed from any language, you need the DB's type system to be distinct from any of the client language's type systems. This isn't always the right tradeoff, of course.

<comment><AUTHOR> _part of the reason for a query optimizer is that if the physical representation of the data changes, the queries don't need to change._

And that's a great reason to use the declarative query as the default. What I'm complaining about is when you need to eek out the last bit of performance out of a query, there should be another option. Sort of like dropping into assembly to optimize a tight loop. Of course you don't want to write the entire program in assembly.

 _you need the DB's type system to be distinct from any of the client language's type systems._

I don't agree. Just because your DB's type system uses say, Java, doesn't mean that other languages can't access the DB. Non-Java languages would access the DB the same way they do today, but at least the Java developers wouldn't have to convert.

</comment></comment><comment><USER6> I was all prepared to rant about how wrong he was, but he convinced me.

I've had all kinds of problems with PostgreSQL because its planner would choose a poor query plan in certain situations. Specifically, we don't have a good way of estimating random page fetches for index scans on multi-column indexes.

I also had this weird problem suddenly occur. When one of my tables got to a certain size (about 40 million rows), Postgres started giving a completely different query plan that it thought was faster. The query execution time went from a few minutes to many hours. It took me all day to debug this problem because you simply don't expect the query plan to suddenly change like that.

To tell Postgres that you want the query to run in a different way, you must turn off certain things, like disabling sequential table scans or bitmap scans. You can't tell it specifically how you want it to execute. The reason is pretty simple: SQL is a declarative language. You declare want results you want, and the server figures out how it'll get you there.

I think the author is right. We need a simple language where we can tell the server exactly how we want to get the result. This is essential, because, like the author said, finding the optimal query plan is NP-hard. In practice, most programs run only a few queries. It'd be worth the time invested to try out a few query plans and find out which one is the best and stick with that over having the SQL server replan the query almost every time you submit it.

There could even be third party planners where it could take SQL input and return the resulting executable s-expr if you want to retain that functionality. This way, the development of planners remains separate from the development of the database.

</comment><comment><USER7> Any attempt to throw away SQL is misguided. If you are going to do server side development, you must know SQL. Thinking in sets is hard work, but you must learn it. For the most part fancy ORM's just get in the way. The solution is not less SQL; it's more SQL. Stored procedures are your friends. When I write a complex query, I develop and test it entirely in SQL, before I write a line of procedural code. It's way easier.

The thing about query optimization is that the optimizer stops when it thinks going on will take longer to perfect it than executing what it has. If you have a query that takes too long look at the query plan. Break up the query into smaller queries and use temporary tables. Give it hints.

Dates are often poorly handle in language libraries. Store them as UTC in the database and pound them into shape in code.

Apologies for the counter rant.

<comment><USER3> _Any attempt to throw away SQL is misguided._

Maybe not throw away, but why should we have only 1 relational language? Functional programmers can choose between scheme, ocaml and haskell. Why should we be stuck with what is in so many ways the COBOL of relational languages as our only option?

<comment><USER7> What I meant was that, as far as I have seen, the tools that try to replace SQL by some OO intermediary, give you poorer abstractions that limit what you can do. SQL seems clunky, but I think the core is quite well done considering when it comes from.

OTOH a relational relational database doesn't fit all needs. They scale pretty well, but when you get to gigantic data sets, they don't do so well and things like map reduce do a better job. Or cases where you are streaming massive amounts of data and you need performance, not ACID transaction reliability. Actually, we are more in agreement than disagreement.

<comment><USER5> _They scale pretty well, but when you get to gigantic data sets, they don't do so well and things like map reduce do a better job._

I don't think the evidence supports that. See the recent MR vs. parallel DB comparison, for example: <http://database.cs.brown.edu/sigmod09/>

There isn't a good massively parallel open source SQL implementation right now, but that is just a matter of engineering -- SQL databases have been shown to scale to massive data volumes (e.g. Fox Interactive have ~200 TB of user data in Greenplum, which is a parallel DB based on Postgres).

</comment></comment></comment></comment><comment><USER8> His point about composability is not a complaint about what sql does. It's merely a complaint that he thinks that function composition should be used to combine predicates, but that isn't how sql works.

I.e., he wants "SELECT * from X where P(x)" to be a function acting in X. It isn't a function (or at least should not be thought of that way), it's a description of a set:

{x : x in X, P(x)}

The _predicates_ ARE composable:

{x : x in X, P(x)} intersect {x : x in X, Q(x)} == {x : x in X, P(x) and Q(x)}

<comment><AUTHOR> Author here. I was thinking in terms of an entire query being a function that returns data.

Also notice that your set notation demonstrates composability, but the equivalent SQL does not.

<comment><USER5> How is your example SQL "not composable"?

 _Notice that this solution is composed of the first two queries, however composing in SQL kills your performance, and this is generally not the right way to structure the query._

It doesn't actually "kill" performance at all, as a typical SQL optimizer will rewrite the query to remove the subquery, or else to push the outer predicate down into the subquery (which for this query accomplishes basically the same thing).

 _I was thinking in terms of an entire query being a function that returns data._

A query returns a relation, and that relation can be used as the input relation to another query, either via a subquery or via views. That seems like pretty powerful composability to me.

<comment><USER3> _A query returns a relation_

Actually it doesn't. That's one of the problems with SQL and part of the reason SQL databases aren't truly relational databases.

<comment><USER5> _Actually it doesn't._

Can you elaborate on what you mean? The presence of duplicates is orthogonal, if that's what you're referring to.

The point is that the output of a query can be consumed by another query (either via views or subqueries), which enables query composition and logical data independence.

 _SQL databases aren't truly relational databases._

People who get hot and bothered about that are almost invariably cranks, in my experience.

<comment><USER3> _People who get hot and bothered about that are almost invariably cranks, in my experience._

Honestly I think you, being a database expert, don't fully appreciate how bad the situation really is. Relational databases are almost universally not understood by programmers. Why? I think it might have something to do with the fact that programmers can't actually use the relational database as a relational database.

They have to programmatically _construct a string_ (seriously, wtf?) to do some relational processing "over there" in the scary database and then _serialize_ the result and import it into a data structure in their language-- the complete destruction of the relational idea.

Using a relational database should be similar to using jQuery in javascript programming. The anti-"relational database" backlash is huge right now. And since most of the people involved don't understand what a relational database is they don't understand that it isn't relational databases that they have a problem with.

Have you seen this new thing called Redis? It's "like a key-value store except values can be sets." Wait, it's a "structure server." Pretty soon someone is going to have the brilliant idea of letting the keys be sets also.

I predict that within 3 years the anti-relational people are going to invent the relational database, without realizing it, and be amazed at how awesome it is. Because for the first time in their lives they'll be able to actually use an actual relational database.

That's my database rant.

P.S. As for the SQL != Relational people like Chris Date and Hugh Darwen I don't see how they could be considered cranks. Bitter old men? Maybe. But cranks? No.

<comment><USER9> Good point, about redis.

I think part of it, also, is that a lot of peoples' exposure to relational databases is via MySQL and PHP, which is ... not representative.

Most people don't understand why the N-normal forms are significant, etc., because they learned SQL from a simple "how to save and load rows" kind of tutorial, rather than learning it from the big relational ideas outward. (I'm a "learn how it works as a whole" guy, but I recognize that most people aren't.) If you don't know why they matter, it just seems like a bunch of bizarre busywork, and then you get lousy performance.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Have you looked at <http://en.wikipedia.org/wiki/MonetDB> ?

It exposes some of the DB guts at a different layer while leaving a SQL "porcelain" feature available for people who desire that.

</comment><comment><USER11> It sounds like his ideal database already exists; AllegroCache. It's an object database, but you can easily restrict yourself to certain data types to make it "relational", if that's what you're after.

Some of the open source databases are almost as featureful; Elephant for CL and KiokuDB for Perl come to mind.

</comment><comment><USER12> I never went through this phase myself, but I see a lot of developers stuck in it. It's this sort of exasperated anger towards a technology that the author has tried his best to understand but failed.

For some reason some people never really wrap their head around Relational Databases, Normalization, and SQL. They seem to not be wired for it. And it understandably pisses them off.

It's people just like this author that are behind all those terrible Object Relational Mapper projects that try to pretend that your data isn't really data. It's just an attempt to escape the obligation of truly understanding how databases work and how they can help you. It's sadly ironic when you think about it.

<comment><AUTHOR> No, I'm pretty sure I understand the technology. I've written thousands of lines of queries, triggers, stored procedures. I've read the source to Postgres.

In the article, I specifically say ORMs are a terrible idea. I specifically say Relational databases, data integrity, foreign key constraints, declarative queries and ACID are all good things. I forgot to mention normalization, but that's good too. My point is that SQL is a terrible interface to get to all of the good things about RDBMs.

</comment></comment><comment><USER13> I recently made a GUI for a search utility which is filled in, and then it builds an SQL query from the GUI, and then displays the results of the query in another GUI.

My point is that you can map a search to whatever language you like - whichever is best for that utility.

Plus a friend told me about Linq, which is an interesting evolution from SQL. It lets you break up queries over several cores (though that's just because it's iterative in nature).

</comment><comment><USER14> how about a 10+ table join on f(any function)?

</comment><comment><USER15> Those who complain about SQL just haven't used Oracle, fully.</comment>


Three Ways to Build an Artificial Kidney - <AUTHOR> http://spectrum.ieee.org/the-human-os/biomedical/devices/3-ways-to-build-an-artificial-kidney <comment><USER2> The efforts of the companies mentioned in this article look promising and I wish them all the best in the coming years. I can't imagine what it takes to get something like that into testing on patients in the ICU. My grandmother is currently, or was, enduring dialysis but is now refusing treatment in part because of it's long term impact on mobility and general quality of life. I don't imagine that is a complete unique circumstance and if efforts in the near future help to improve that, even a just a little, it could mean a great deal with regard to sustaining human life in an all too common life- threatening health condition.

<comment><USER3> Did you grandmother consider peritoneal dialysis? It allows one to do it on a daily basis from them home with no needles. Either by machine while they sleep or manually while awake. These are supposed to have less side effects because the treatment is done on a daily basis vs alternate days for hemo-dialysis. The technology is much simpler than hemo-dialysis... literally a bag of water that is pumped into the body.

Sadly I had to learn about all this because I found my kidneys were failing a year ago. Everyone needs to be careful because there are very few warning signs of a failing kidney.

I'm not on dialysis yet but right on the border. I really wish I had the financial resources to invest into these companies to help them reach success.

<comment><USER4> In countries that provide universal health care, the hospitals are eager to provide peritoneal dialysis because it is much cheaper than hemodialysis. You don't take up hospital space, use up a specially trained nurse's time, and tie up expensive machinery. The problem is that peritoneal dialysis is less effective (worse for your longevity) and requires more hours. Just be aware that hospitals have their own agenda for pushing peritoneal dialysis.</comment></comment></comment>


How this guy used Watson to fake participation in conference calls - <AUTHOR> http://money.cnn.com/2016/05/19/technology/watson-conference-call/index.html <comment><USER2> Wow, how awesome is that?! TL;DR: Python script using Watson to listen for his name in meetings, do a little diversion and let him catch up.

Script here: [https://github.com/joshnewlan/say_what](https://github.com/joshnewlan/say_what)</comment>


AirBNB Rentals Mostly Illegal, New York State Contends - <AUTHOR> http://mobile.nytimes.com/2014/10/16/business/airbnb-listings-mostly-illegal-state-contends.html?referrer=&_r=0

<comment><USER2> Note: No new news here. This article is from October.

<comment><AUTHOR> So what makes the difference between legal and not? It says 75% are illegal.

<comment><USER2> From what I understand, in NY, if you're renting your property to someone for less than 30 days, the law considers you to be operating a hotel, and you need to obey the laws that govern hotels - pay the hotel tax, comply with safety regulations (e.g., commercial fire codes), etc.

If you're living in a rented apartment, renting it out without the landlord's approval violates the terms of your lease, and you face eviction. The landlord would never give permission for a sublease of less than 30 days, since that would be operating an illegal hotel. If you're living in a condo/coop building, renting your unit usually requires the permission of the building's board (which they're also not going to give you for a short-term rental).

Also, you'd need to declare your rental income on your tax return. Otherwise, you're breaking the laws regarding tax evasion.

If you aren't violating the above conditions, your rental could be legal.

<comment><AUTHOR> What if someone agrees to basically be your roommate for 30-90 days? And you are traveling and not around, and they move out when you come back?

<comment><USER2> If you live in a rented apartment, you probably still need the landlord's permission to have someone who is not named on the lease live there for that period of time. If you're not there and they're paying you to live there, it really sounds like it's a sublease, not a roommate situation. But why listen to me? Take a look at your lease contract and see what it says.

</comment></comment></comment></comment></comment><comment><AUTHOR> What are the laws that make the other 25% legal? What should a host watch out for as the biggest factors?</comment>


Surprise Amiga Workbench 3.1 Update, 20 Years Later - <AUTHOR> https://amigalove.com/viewtopic.php?f=7&t=136 <comment><USER2> Does anyone here still use Amiga for actual work? I ask for two reasons:

1\. I'm always interested when very old systems are still in production for one reason or another and how you are doing it.

2\. I wonder what motivated Hyperion to release this bug fix or, indeed, how they even managed to muster resources to do so. I can't quite figure out how they stay running.

My story is that in a small cable access TV station, they had an Amiga for Video Toaster and I think some automated PSA type announcements at certain hours. Fun to see it there, though it's been some time since I visited. I can't imagine with the shift to HD that it's running any more. I also know a small local radio station that uses Tune Tracker on BeOS for radio automation, which reminds me that I should check on Haiku's progress.

<comment><USER3> A lot of TV stations used them, but i think you're right. They probably all got replaced with the shift to HD.

I'm pretty sure Fatboy Slim still uses an Atari ST as part of his setup.

<comment><USER4> We (Norman & I) stopped using the Atari in the studio about 10 years ago (it sits in the corner unloved). Ableton & Protools these days.

Simon.

<comment><USER5> I've always wondered what guys like you did for a backup strategy. Is the "master" for Renegade Master or I'm Alive only on some shitty DD floppy somewhere?

What about Liam Howlett? Aphex Twin?

<comment><USER6> Tracks got bounced (ie. rendered/recorded/exported) to DAT tapes.

The record wasn't just stored in the sampler and computer, it was in the state of the whole studio, at a minimum the mixing desk the sampler was plugged into but also likely various external effects units. Digging out the floppy wouldn't recreate the record as it was released.

</comment></comment></comment></comment></comment><comment><USER7> Amiga was a pretty cool system, and the fanbase had a devotion matched perhaps only by the lispm people.

By the way, if you're interested in the Amiga, go watch Stuart Brown (aka XboxAhoy)'s excellent documentary on FPS on the Amiga: [https://youtube.com/watch?v=Tv6aJRGpz_A](https://youtube.com/watch?v=Tv6aJRGpz_A)

Actually, just go watch his whole backlog if you have any interest in computer history whatsoever: It's all quality work (and I do mean quality: well researched, and polished enough to go on television), and absolutely fascinating.

<comment><USER8> If you want a good documentary on the Amiga (and also another one on 8/16 bit gaming) you can't go wrong with From Bedrooms to Billions:

[http://www.frombedroomstobillions.com/](http://www.frombedroomstobillions.com/)

Disclaimer: I am not affiliated with this, just a paying customer (totally worth it!), but I do know the Producers.

<comment><USER7> Thanks! I can always use another good documentary.

In return, I can recommend _The KGB, The Computer, and Me_ , based on the excellent book _The Cuckoo 's Egg_.

I can also recommend all of the documentaries done by Jason Scott ( _Get Lamp_ , _BBS: The Documentary_ , _Going Cardboard_ (although he only edited that: He's director on the rest), and _DEFCON: The Documentary_ )

</comment></comment></comment><comment><USER9> I love AmigaOS, so I find disgusting that they're still holding the VCS repository of this 20yr+ code hostage, and selling pointless updates to it.

Also, I much prefer the old logo to that stupid boingball.

<comment><USER10> The Boing ball is a long-standing Amiga icon; IIRC a lot of the early promotional photos of the system sported a badge with it instead of the rainbow checkmark.

(This is from dusty memories of being the spoilt kid who owned the third Amiga sold in New Orleans. I no longer have any of those old issues of Commodore/Run/Ahoy/Compute's Gazette/Amigaworld that these would have shown up in.)

<comment><USER11> The rainbow checkmark was one of the rebranding initiatives after the assimilation by Commodore. It was a nod to the five colour rainbow stripes next to the company logo on the C64/Vic 20 case and on all peripherals, monitors and drives included. The logo on the C64 packaging also was a full rainbow gradient, but in the case of the Amiga it was a reminder of the 4096 colour palette.

</comment></comment></comment><comment><USER12> What is it that makes these people hold on to the source code of AmigaOS? It's not lucrative: probably the costs of making these updates are much higher than any possible revenue? It must be economically practically impossible to hire engineers to do this sort of work. It sounds like some kind of hobby for some people.

<comment><USER13> Not everything is about money.

<comment><USER12> I didn't say it was about money. It most probably isn't "about money". I was asking what is the motivation since there are some obvious costs.

</comment></comment></comment><comment><USER14> Those older systems were moddable and programmable by the end user. Newer machines have to deal with security, and complexity has increased by orders of magnitude.

<comment> amiga-workbench The lack of memory protection on the Amiga is one of the things which made the operating system so incredibly extensible and hackable.

</comment></comment><comment><USER15> Reading through the trove of documentation, I'm so confused:

if I have a Motorola 68030 accelerated Amiga, what is the latest AmigaOS which will run on my hardware (A1200)?

<comment><USER8> Version 3.9.

You have to install 3.1 first. Then get a [legal] copy of 3.9 and install that. On every cold boot up, it patches a newer kickstart ROM image into RAM, and then does a soft reboot, so that the newer stuff on 3.9 works properly.

More info here -> [http://www.vesalia.de/e_os39.htm](http://www.vesalia.de/e_os39.htm)

<comment><USER15> Thank you for the information. How does one install it, if it's on an optical medium? I don't have a CD-ROM or a DVD drive on my Amiga, only network and NFS.

</comment></comment></comment><comment><USER16> Why now all of a sudden?</comment>


Show HN: A feed reader for readers - <AUTHOR> https://tbrss.com

<comment><USER2> Nice concept but the readability needs further improvement until this can become my #1 feed reader.

<comment><AUTHOR> Any specific complaints?</comment></comment>


DoS Vulnerability in the Ethereum Soft Fork - <AUTHOR> https://blog.ethereum.org/2016/06/28/security-alert-dos-vulnerability-in-the-soft-fork/ <comment><USER2> As someone with no stake in the matter, this Ethereum situation is providing me enormous entertainment.</comment>


Ask HN admins: How many people upvote a story, then click on it? - <AUTHOR>

I found myself upvoting a story due to its title, then clicking to open it.<p>I'm curious about two things: 1- How many people do that 2- What would happen if you stopped counting those clicks? <comment></comment>


Kickstarter: An Educational Build-Mobile - <AUTHOR> http://www.kickstarter.com/projects/107975578/sparklab-an-educational-build-mobile

<comment><AUTHOR> This is a fantastic idea! I am working with high-school students for the First Robotics Competition and would love to introduce them to 3D modeling and printers, which I know would be a great motivation for them (they already know how to use many hand tools). Two big handicaps, though: (i) knowledge about using 3D printers are not common (myself included) and (ii) although they're relatively cheap, it's hard to justify buying them because one cannot easily point to a concrete project that can be done, i.e. see (i).

Therefore, it would be great if students have access to such tools, but more importantly knowledgeable people who would introduce them to doable projects.</comment>


Check-Ins are Coupons. Game Mechanics are Bullshit. - <AUTHOR> http://500hats.typepad.com/500blogs/2010/04/checkins-are-coupons.html

<comment><USER2> Foursquare's game mechanics do get old, and they really haven't done much to change them since launch. I started playing Foursquare in March '09, was sick of the badges a month or two later, and haven't cared to check in much since.

Granted, I know plenty of people who still play Foursquare religiously, but I suspect they'll burn out on the gameplay too eventually. It's very hard to keep a game engaging over multiple years. I have nothing against Foursquare, I just hope they have some plans to mix things up.

</comment><comment><USER3> Dude, I know it feels like you are writing is brilliant when you are high on coke, but believe me it is just a bunch of incomprehensible drivel.

<comment><USER4> nah, i stopped doing the coke in college.. believe me crawling on the carpet looking for crack is really no fun.

regardless, i appreciate that u despise me enough to waste time commenting on my "incomprehensible drivel".

i'll translate 4 u: "LBS services cost money to scale."

got it?

(i can type slower if that helps)

<comment><USER5> I doubt slower typing would help, but some capitals, consistent punctuation and less use of random colours and font resizing on your blog would go a long way towards making your point in an understandable way.

I'm sure that post has interesting content, but so do many others, and they make their points in a much more readable way: for instance, try looking at the essays on paulgraham.com. A pleasure to read, and think about.

</comment></comment></comment><comment><USER6> Dave's writing usually rubs me the wrong way, but this piece makes a ton of sense. Facebook has shown that they can execute well as the market changes so I suspect they will try to buy something, but will not pay the valuations most VCs expect.

<comment><USER7> yeah, is this guy serious? Not that I have much room to criticize others on grammar, but I don't spell you as 'u' - I was almost expecting to see 'Sent from my iphone' at the bottom of the story.

<comment><USER4> sorry about the lack of spelling or grammer [sic].

i'm an acquired [dis-]taste...

<comment><USER8> Hi Dave,

Your comments on HN are clear, simply written, and to-the-point. When you defend your arguments here, you make perfect sense. I'm not sure why you write the way you do on your blog. Could it be that you're just looking for attention/linkbait?

Please, stop. You're famous enough in startup circles to be able to run on the strength of your ideas alone. I think people here are beginning to realize that - once we parse through your language we'll find some fantastic ideas. There are many more people who can't/won't get past the parsing (for instance, while I like your ideas, you're not in my feedreader). There's no reason not to write simply, and clearly, the way you write on HN now.

Right?

<comment><USER4> thanks for the kind words. (i think?)

but really... i'm not trying to write for fame & fortune, i'm just having fun. (ok, yeah i'm pretty sure it's also somewhat effective but honestly i do it as much for personal enjoyment as for public linkbaiting)

anyway, i appreciate the more straightforward way that folks like PG, Chris Dixon, and Fred Wilson write (all are among my favorites), but it just isn't quite my thing.

apologies if i end up seeming a bit off the wall.

maybe we can clear it up over a beer sometime.

cheers,

<comment><USER8> Well I never - there's a good man behind that personality, after all. =)

Alright, Dave, fair enough. I don't necessarily like the way you write, but I'm convinced enough to subscribe to you. Best of luck in your future writing.

</comment></comment></comment></comment></comment></comment><comment><USER9> Lately, a number of my friends who are non-early adopters started signing up for Foursquare. Do they check-in? No.

I bet the only reason they signed up was because of the coverage by the mainstream media which picked up the hype from blogs like Techcrunch (or more specifically MG Siegler).

</comment><comment><USER10> Those are some awfully strong opinions.

And, makes <http://foursquare.grader.com> look kind of silly. Oh well, at least I had a good time with it and you just never know.

<comment><USER4> yeah, i'm probably smoking something on those predictions, but blodget seemed to enjoy the speculation ;)

<comment><USER10> I didn't say they were _wrong_ opinions, just that they were strong.

You made some good points. My one counter-argument is that folks would have likely argued similar things about twitter back when it first launched. Tiwtter was basically Facebook status updates -- only different.

<comment><USER4> true, but twitter growth was notably substantial even before people understood why it was diff than FB status.

not sure the popular LBS stuff is growing anywhere near as fast... but it should be.

</comment></comment></comment></comment><comment><USER11> His prediction about Google buying Twitter and Yelp to take on Facebook made me laugh. Until he said they will "probably still [lose] due to no clue on social"

</comment><comment><USER12> when we started our location based site launching soon :), we researched current and future competitors: key points we came out with: 1\. Facebook absolutely will launch a friend finder (although they'll have privacy problems and they'll have to be careful) so most friend finders will get crushed. 2\. most current sites are confusing- don't actually understand what they do within 10 to 30 seconds of looking at the site. Often they do too much that people care minimally about 3\. Most location based sites have missed out on some very basic needs that people have. Many seem to be built by hard geeks for other hard geeks. Go out and talk to mainstream users, they just are like wtf? So dave has said what most people may have thought but were not willing to say because of what i think of as the 'twitter' effect'. Its the 'well, it could be another twitter, just that i don't get it yet' thought.

However, the one advantage foursquare etc have got over some poor muppet like me with my $6,000 dollar savings invested in our idea is lots of money and an existing infrastructure. That said, these days, its amazing what you can do with $6,000.

<comment><USER12> $6,000 dollars and blood, sweat and tears that is

</comment></comment><comment><USER13> Totally agree, Facebook will win location war hands down.

</comment><comment><USER14> Pretty interesting predictions, very thought provoking at least.</comment>


Thoughts on Spotify - <AUTHOR> http://tumblr.2arrs2ells.com/post/11281262378/thoughts-on-spotify <comment><USER2> A few points on this post:

1) You don't have to sync offline tracks with the Spotify desktop software; you can mark playlists as "available offline" directly within the mobile app and it will start syncing them immediately. I've never synced my phone via the desktop app.

The mobile app is also intelligent enough to sync songs that you're listening to that happen to be part of an offline playlist, saving bandwidth (for example, in the case where your settings only permit you to sync over wifi, but you listen to a song over 2G/3G).

2) The Spotify app used to show song/artist info, but at some point it seems that all the audio apps I used stopped doing this at the same time. Are you sure this wasn't an iOS change?

3) The unavailable song issue is related to the fact that the available songs are completely different depending on the country where you live. I've found that the USA is the worst for what I like to listen to. You could probably change your region by connecting to the website via proxy.

4) Regarding your question about supporting the bands: from what I've read, artists receive almost nothing from Spotify licensing fees. If you want to support the artists, the safest bet is still attending concerts/buying merchandise directly.

<comment><USER3> I manage a number of musicians signed to indies

Re 4) Spotify pay virtually nothing to artists. Our royalty statements show that we make an order of magnitude more money from a single CD sale or iTunes sale, than many thousands of Spotify streams. ie £1.80 vs £0.18

</comment></comment><comment><USER4> My biggest gripe is the lack of music discovery functions. MOG is a competing service and I find their artist radio functionality helps me find new bands I would have never heard of before. Spotify lacks anything resembling discovery functions and that's why I cancelled my subscription. Additionally, how is there no web UI for music playing?

<comment><AUTHOR> Didn't you seen Sean Parker's email? Desktop clients are like, totally the way to go :-P <http://news.ycombinator.com/item?id=3077425>

Spotify's desktop client has a somewhat decent radio function, but it's missing from the iPhone app. I agree with you 100% that they're dropping the ball on discovery (What are the top tracks my friends are listening to? Where's the last.fm style recommendations, based on what I like?)

</comment></comment><comment><USER5> Interesting.

My startup, Audiogalaxy, can help remedy most of the things you loathe and things you're unsure about. If you have a large music collection, I'm sure you'll love it - give it a shot. <http://www.audiogalaxy.com>.

<comment><AUTHOR> Were you also behind the Audiogalaxy P2P client, or did you just acquire the name? I loved Audiogalaxy back in the day - will definitely give your startup a shot.

<comment><USER5> Yep, the same. <http://www.audiogalaxy.com/blog/2010/10/audiogalaxy-is-back/> and the About page explain the story a bit.</comment></comment></comment>


Looking at Earth from Saturn - <AUTHOR> http://www.nasa.gov/mission_pages/cassini/multimedia/pia17171.html#.Ue9huGQ6UhL

<comment><USER2> Is NASA saying that there is a huge arrow in space pointing to Earth, right below us? It's twice the size of our planet and nobody ever noticed it? Wow... It looks like we are too busy looking into other planet problems to notice our own.

(also that thing is a marker for aliens telling them where not to go)</comment>


Show HN: Media Compression that actually means something - <AUTHOR> http://cramcore.github.io/index.html

<comment><USER3> Cram makes an extraordinary claim: "Cram is a state-of-the-art media compressor that is able to significantly reduce (by more than 20%) the size of audio, video, and images losslessly without the need to re-encode or convert."

Decades of research have gone into media compression algorithms, and they claim to get a 20% improvement for free. I'm skeptical.

I don't run OSX, so I can't try out their binary, which they're distributing via email only. I challenge the Cram team to losslessly reduce the size of "The Simpsons Movie – 1080p Trailer" by 20%, available here: [http://www.h264info.com/clips.html](http://www.h264info.com/clips.html)

<comment><AUTHOR> Hello jsaxton86, we love challenges! So we'll be starting here in a few moments and post the results when we're done. Also, I'm sorry to hear you can't try if for yourself, but we wanted to point out the compressor is readily available from our site, it's only the decompressor we've been asked to hold back at the request of an expert. We wanted to share our primary concern with you. Simply put: Piracy.

We hope to be accepted into ycombinator for our innovation. In, as you rightly pointed out, over coming 40 years of research to find answers that make us proud to say we're the first.

Piracy of digital media is not something we cannot condone as a company. We therefore have withheld our decompressor for that reason, and we'll still need people to test it which is why we've requested they ask via email. That way we can know, who has it and who does not. This helps us prevent our system from being used for questionable, if not illegal, means.

We understand your skepticism and we hope to prove it to you with our results of your test. We're very thankful their are people like you who will give us the chance to prove ourselves and we hope you'll follow us and keep us to our word, because that is what we believe makes innovators honest.

We'll have: Size of file to compress, size of "Crammed" file, file size ratio, time to compress, memory usage during compression, and machine model & config info posted for your trailer test soon!

<comment><AUTHOR> jsaxton86's Test Result's: Input File: Title: The Simpsons Movie - <USER2> Trailer.mp4 Kind: MPEG-4 movie Size: 147,399,359 bytes (147.4 MB on disk) Video Dimensions: 1920 x 800 Codecs: H.264, AAC Duration: 02:17 Audio Channels: 6 Output Cram: Title: The Simpsons Movie - 1080p Trailer.mp4.cram Kind: Document Size: 113,620,340 bytes (113.6 MB on disk) Time to Cram File: Seconds: 3313.306152 (55 Minutes ~13.3 Seconds) Memory Usage: GB (Rounded): 24.67 GB Hardware Overview: Model Name: iMac Model Identifier: iMac11,1 Processor Name: Intel Core i7 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 8 MB Memory: 16 GB Processor Interconnect Speed: 4.8 GT/s Boot ROM Version: IM111.0034.B02 SMC Version (system): 1.54f36

We're really proud to try our best on your test jsaxton86, and we know that test results from the person showing you something always come with a healthy pinch of salt. So we'll ask the community to give it a try, and back us up here. Scientific testing means repeatable parameters, so we urge others to take his test too. (--EDIT: Turns out this file is too big 50MB in the limit of Github push-- We're also making our Cram file available on github, check it out with the decompressor or in a Hex editor: [https://github.com/Cramcore/Crams](https://github.com/Cramcore/Crams))

From these results you can clearly see areas we aren't happy with either. Time and memory, but this is just the beginning for us, we developed this system because 4 decades of research hadn't yielded these results. Then we sat down and threw out the book. With some notes on the research of Marcus Hutter ([http://prize.hutter1.net/](http://prize.hutter1.net/)) and Matt Mahoney ([http://mattmahoney.net/](http://mattmahoney.net/)) plus the input of wonderful mentors and mathematical genius like Brad Feld ([http://www.feld.com/](http://www.feld.com/)) we started code for the Cram project over 3 years and research another 2 before that. We're very grateful for the opportunity we have now.

We encourage everyone to try if for themselves, request the decompressor and try it too. But let humanity never believe that innovation is impossible. In 1966, the idea of a flip open communicator was science fiction, today we have not only communicators in our pockets, but whole computers. At Cramtec we hope our work can help move humanity to the next set of great technologies.

<comment><USER4> The Cram time is what piqued my interest, I assume that the decompression is also not real time. Video formats are obviously designed with real time playback in mind and processing constraints. Could you give the time to decompress that file?

Not saying this is a bad thing in anyway. I believe you are right when you mention piracy. For a torrent swarm this format would be ideal in the same way that RAR was a decade or two ago.

I think the trend to a centralised streaming Internet is a bad one. A decentralised P2P one is much more in keeping with the initial ideals of the Internet. Download, decompress (for use) and share are a much more fitting if they respected copyright at the same time.

Best of luck.

<comment><USER5> Time is interesting. There's certainly no way you could stream videos like this right now, but the mention of future multithreading and GPU support would help minimize the time. You could support "cramming" by blocks of bytes rather than a whole file and leave the beginning uncompressed so you could start a stream and decompress the rest of the file with some lead time for the viewer. Certainly, this is pushing the bounds of hardware as of right now, but in a few years that'd be irrelevant anyway. They also pretty clear about it being a beta, can't wait to see what it could do in future.

</comment></comment></comment></comment></comment><comment><AUTHOR> Hey, Hacker News! Let's talk about video compression! With the Ycombinator winter application date bearing down on us, Cramtec has announced a new experimental beta build of the state-of-the-art media compressor named Cram. Cram is able to significantly reduce (by more than 20%) the size of audio, video, and images losslessly without the need to re-encode or convert. Cram offers companies a drop in binary with the ability to significantly reduce overhead and bandwidth for Data Distribution, Online Backup, and Media Streaming. Head on over to the beta's github site (cramcore.github.io), click the Resources tab, and grab yourself a copy of the beta binary to beat up on! We plan to add a C version, multithreading, and powerful GPGPU computation in the weeks and months to come. We can use everyone's feedback!

</comment><comment><USER6> And your weissman score is?

(yes I know that's a fictional thing.. I'm just surprised nobody's brought up Pied Piper yet)

<comment><AUTHOR> Hahaha thanks for joining us chewxy. Funny story, when that show hit screens in April I was very much interested in seeing it, but after the first episode it became Cramtec's worst nightmare. Here's a fictional group of people doing the same thing we've been trying to do for years, and suddenly we're competing for mindshare versus something that doesn't have to create real world results.

Although, we're up against such a thing we like to laugh it off. Because at the end of the day we have what we believe to be a very wonderful invention, that could change the world.

If you're truly interested in the Weissman Score, I'm glad to crack open my calculator and tally it up, but it won't be anything like their score. Time and memory are factors, if I remember right. And we're looking to improve those numbers.

Have you gotten to give it a try chewxy? We'd love some independent results reported. jsaxton86 had a wonderful test and offered many more files which we'll start testing tomorrow.</comment></comment>


CVPR 2017 Best Paper Awards - <AUTHOR> http://cvpr2017.thecvf.com/program/main_conference#cvpr2017_awards <comment><AUTHOR> * Densely Connected Convolutional Networks [0] by Gao Huang, Zhuang Liu, Laurens van der Maaten, & Kilian Q. Weinberger.

* Learning from Simulated and Unsupervised Images through Adversarial Training [1] by Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Joshua Susskind, Wenda Wang, & Russell Webb

CVPR 2017 Best Paper Honorable Mention Awards

* Annotating Object Instances with a Polygon-RNN [2] by Lluís Castrejón, Kaustav Kundu, Raquel Urtasun, & Sanja Fidler * YOLO9000: Better, Faster, Stronger [3] by Joseph Redmon & Ali Farhadi

CVPR 2017 Best Student Paper Award

* Computational Imaging on the Electric Grid [4] by Mark Sheinin, Yoav Y. Schechner, & Kiriakos N. Kutulakos

CVPR 2017 Longuet-Higgins Prize (for cvpr 2007 papers that stood the test of time)

* Object Retrieval with Large Vocabularies and Fast Spatial Matching [5] by James Philbin, Ondrej Chum, Michael Isard, Josef Sivic & Andrew Zisserman

CVPR 2017 PAMI Young Researcher Award

* Ross Girshick & Julien Mairal

[0] [https://arxiv.org/abs/1608.06993](https://arxiv.org/abs/1608.06993)

[1] [https://arxiv.org/abs/1612.07828](https://arxiv.org/abs/1612.07828)

[2] [https://arxiv.org/abs/1704.05548](https://arxiv.org/abs/1704.05548)

[3] [https://arxiv.org/abs/1612.08242](https://arxiv.org/abs/1612.08242)

[4] [http://openaccess.thecvf.com/content_cvpr_2017/papers/Sheini...](http://openaccess.thecvf.com/content_cvpr_2017/papers/Sheinin_Computational_Imaging_on_CVPR_2017_paper.pdf)

[5] [http://ieeexplore.ieee.org/document/4270197/](http://ieeexplore.ieee.org/document/4270197/)</comment>


The Most Dangerous Cup of Coffee in the World - <AUTHOR> http://www.wsj.com/articles/the-most-dangerous-cup-of-coffee-in-the-world-1476453922 <comment><USER2> > In August, more than 60 people were hacked to death with machetes about 35 > miles from Schluter's local office. "When do we say: 'Stop working,' and > when do we decide it's a normal risk?" said Mr. Suter.

Or when do you say "What Congo needs is not us taking it's coffee to sell to Americans." Or when you do you say "pay off the warlords to keep Americans safe, fuck the people who live there." Now we can have blood coffee too, great, thanks capitalism!

</comment><comment><USER3> Is "conflict coffee" going to be a thing?

<comment><USER4> It already is, it just needs a movie and an A-list actor.</comment></comment>


The future is a decentralized internet - <AUTHOR> https://techcrunch.com/2017/01/08/the-future-is-a-decentralized-internet/ <comment><USER2> This post builds rather compelling picture of a new block-chain backed internet and, by extension, a new world.</comment>


Beyond stunnel: High-speed, secure connections across the public Internet - <AUTHOR> http://blog.vcider.com/2012/02/beyond-stunnel-secure-high-speed-network-connections-in-the-public-cloud/ The standard ways to secure connections across public links (even for applications that don't support encryption themselves) has been to use stunnel or OpenVPN. But those solutions come with a significant performance hit. This article presents measurements and comparisons to illustrate this and presents a more modern solution with much better performance characteristics. <comment><AUTHOR> As you can see, after publishing this article I received some feedback and questions about the comparison, including from the author of stunnel himself, Michal Trojnara. Even though the stunnel website itself states that the default is 'no compression', this apparently is not so. It appears iperf's default data seems to be highly compressible, thus heavily skewing the performance numbers: stunnel was performing very different work than native networking or vCider. To arrive at more realistic numbers, I used a large image transfer (a JPEG) instead, which by its nature is not much more compressible. I transferred this file with iperf (which can use file input) as well as wget, The results? stunnel is much more comparable with both the native and the vCider networking speeds.

Interrupts and context switches are now roughly the same for all three solutions. stunnel still exhibits a significantly higher CPU load (20%), but certainly does not max out the CPU anymore. I suspect that the higher numbers of context switches and interrupts result from iperf's default behavior of sending as much data as it can in a given time interval. And since stunnel can easily compress iperf's default data, iperf was able to send a lot of this, which also explains the results reported by iperf.

While I maintain that a setup consisting of multiple nodes is much easier to maintain with vCider – which also provides a number of other interesting features – it must be noted that stunnel does indeed perform very well for point to point connections. Note to self: Be sure not to use synthetic data for performance tests like this.

</comment><comment><USER2> One question that isn't in the FAQ that I would instantly be concerned about is exactly what encryption mechanism is used, and where the private keys are stored. Specifically, are they stored in vCider's database?

If my goal was to set up a secure tunnel, I'd be incredibly wary of using a closed source solution like this. Even if you're not worried about the government secretly demanding access to your keys, you might reasonably be concerned about vCider getting hacked.

<comment><AUTHOR> Indeed, the keys are centrally created and (briefly) stored. However, they are also changed frequently and historic (older) keys are not kept on record. So, if someone intercepts a bunch of your traffic and then wants to hack or demand our database, they would have to hurry since the older keys are not kept around.

However, I understand your concern. We are thinking of ways to address this in an even more comprehensive way.

</comment></comment><comment><USER3> Testing results indicated that stunnel was much faster than the line speed (and thus faster than his own product), but the author simply ignored it. In fact his version of stunnel had DEFLATE/ZLIB compression enabled by default. In order to prove that his own product is better than stunnel, the author of this test decided to compare the bandwith of an uncompressed stream encrypted with his product with the bandwidth of a compressed stream encrypted with stunnel.

<comment><AUTHOR> Well, I contacted you privately to discuss this so that we may both enlighten each other on what's going on, but you did not respond to my email and instead went out publicly. Oh well.

But let's look at it. The physical link was capable of carrying something like 18 Mbit/s. When running iperf through stunnel, it reported more than 400 Mbit/s. But if you look at the actual bandwidth that was used during the transfer, it was indeed just 4.8 Mbit/s.

So, the 400 Mbit/s is clearly an illusion caused by the compression. Compressing a stream is a worth while goal, for sure. And it can be helpful in many cases. But I guess iperf's data is highly compressable. Considering that much of what's transferred these days is already compressed (multi-media files), I doubt that in the real world you will see any sort of speedup even remotely like this.

The fact is this: If it comes to actually transferring data over the wire, stunnel is very slow and there are just no two ways around it. It attempts compression at very high cost in CPU cycles and in the end is still going to be bound by context switches and interrupts.

I'm going to repeat the tests with compression disabled and update the blog post accordingly.

<comment><USER3> 1\. It's you who started the flame by publishing your obviously unfair comparison.

2\. I didn't receive your email (if you really sent it).

3\. Stunnel overrides the OpenSSL default of enabling compression by default since version 4.51 released over a month ago <http://www.stunnel.org/?page=sdf_ChangeLog>

4\. Whether compression is useful or not depends on many factors, including not only type of data, but also available bandwidth and CPU power. And data compression is not an illusion. I'd be afraid to use your products if you don't understand it.

5\. Compression is indeed much slower than encryption. This is a fact. Do you really mean that your product is better just because it doesn't support compression?

6\. Stunnel is indeed a performance bottleneck, but only if your internet connection is over 0.5Gbps, and your server is as slow as my desktop: <http://www.stunnel.org/?page=perf>

<comment><AUTHOR> 1\. Sorry you thought a comparison in which your program doesn't come out on top is a flame. It wasn't. Don't know what's unfair about comparing out of the box, default install performance of two systems.

2\. Yes, I sent it, sorry you didn't receive it.

3\. I did a standard apt-get install for stunnel on the Ubuntu Oneric system.

4\. Sigh. I'm not going to comment on that one.

5\. Really don't know where you would get this idea. Also don't understand why you get so upset. As I said, I was more than happy to discuss this with you ahead of time. Let me try to explain this again: I suggested that most real- world data is already compressed, thus the benefits you could derive by doing compression on the wire are lessened to the point where compression won't get you anything. For any compressable data, compressing it before sending is great and beneficial and I never stated otherwise.

<comment><USER3> Did you really want to discuss your results "ahead of time"? You could easily do it before publishing them. My email address is in the manual of stunnel.

I could argue whether an old Ubuntu package is "out of the box" stunnel, or whether sending 20mbit stream of compressed video is really the most common use of stunnel...

</comment></comment></comment></comment></comment><comment><USER4> As usual, someone's pretending that IPSec doesn't exist.

<comment><AUTHOR> I'm not pretending this. But consider that IPSec doesn't exactly have a reputation for being easy to set up or even is particularly well supported across IaaS provider networks.

People revert to stunnel (and OpenVPN), exactly because they may not have the knowledge or inclination to get a fully featured IPSec setup going.

</comment></comment><comment><USER5> Are the two doing the same amount of encryption or is vCider using a much less complex cipher? Is the CPU difference really just in the kernel vs userspace implementation?

tinc (<http://tinc-vpn.org/>) would seem like a more interesting comparable than stunnel since it sets up a p2p VPN that routes all IP traffic instead of just a point-to-point link.

<comment><AUTHOR> vCider uses AES 256 encryption.

Tinc looks interesting, I will test that as well.

Considering the huge difference in context switches and interrupts, I don't think that encryption induced CPU load is the only issue here.

Kernel stuff on its own doesn't just magically run faster, of course. But in this case, I think it's the constant interaction between user-space and kernel-space, which causes the problem. That's an issue that will impact any user-space solution to a networking problem.

<comment><USER5> And what encryption is stunnel using? AES was picked to be fast so it may very well be outperforming whatever stunnel uses.

Can 1200 extra context switches and ~6400 extra interrupts per second use up 100% cpu? In fact you mention that for stunnel most of the CPU was in userspace and not the kernel which would indicate time spent actually using the CPU instead of doing context-switches and interrupts, which I assume top would show as "sys".

I also find the extra interrupts strange. I wonder if vCider is sending bigger packets and what caching/latency implications that might have.

<comment><USER6> Also, I had a bitch of a time getting performance out of stunnel, it seemed to ignore hardware acceleration units that openssl was happy to use.

</comment></comment></comment></comment><comment><USER7> What version of OpenSSL was used on the test machine? That would greatly effect stunnel's performance. See here: [http://vincent.bernat.im/en/blog/2011-ssl-benchmark- round2.h...](http://vincent.bernat.im/en/blog/2011-ssl-benchmark-round2.html)

<comment><AUTHOR> Version 1.0.0.e</comment></comment>


Goodbye VSCode, Hello Emacs Again - <AUTHOR> https://hotair.tech/blog/goodbye-vscode/ <comment><USER2> User of software A tries out software B, keeps using software A for most tasks, tries out plugins for software B to make it feel more like software A, eventually decides to drop software B again and return to software A full- time. Nothing particularly interesting.

However worth emphasising:

> VS Code is an excellent IDE and I would recommend any new software developer > to use it.

It's refreshing to see a take end like this. He acknowledges VS Code is a good IDE although he feels at home with emacs. This emphasises that he didn't stick with emacs because it is superior but because the cost of switching editors simply wasn't worth it to him.

That said, this reads more like general tips for emacs users rather than a critique of VS Code. So the title is a bit misleading.

<comment><USER3> Trying to make one took behave like another is often a silly practice. If there was any design intention at all in a given tool, you'd just be wasting effort trying to sidestep that.

<comment><USER4> I don't think many people get the fact that VSCode isn't just a code editor. It does a lot more than just edit code. Language servers provide deep intellisense, refactoring, code lens, overviews etc. debug servers provide debugging functionality. Tons of plugins built on top of the extension points. Vscode itself is a light weight IDE with a bunch of extension points.

Emacs, vim, sublime are mostly text editors. If that's what you really want: edit code with a whole bunch of shortcuts use that.

If you want a light weight IDE use vscode. Code editors are a subset of IDEs.

Two different things.

</comment></comment></comment><comment><USER5> I too came to believe that VSCode could be a great end-all-be-all IDE for me, and that I couldn't potentially miss much in the big, bloated "real IDEs".

Fortunately this summer I came to realize that VSCode, at least for non- Javascript/Typescript languages, is laughable compared to the Jetbrains IDEs for Python, C++, Java, etc. Even ignoring all of the extra "features", the Jetbrains IDEs are just so much more intelligent at linting, code completion, and symbol lookup. Vim support is _much_ better too.

I do wonder how WebStorm compares to VSCode; I suspect it may not support as many hip frameworks but would still excel in the aforementioned categories.

<comment><USER6> I subscribe to JetBrains Ultimate. I use IntelliJ & WebStorm daily, PyCharm as needed. I _LOVE_ IntelliJ.

Meanwhile, I can't overstate how much I hate JavaScript, nodejs, npm, etc. Burning rage of a billion super novas. Bight on humanity. Crimes against reason.

And yet. I'm switching to VS Code. I really wanted to hate it.

I'm all-in for VS Code. Because Language Server Protocol enables a noob like me to create my own language plugin. Plus, with their docs and videos, the onboarding was trivial. I'm still delighted by this experience.

Further, judging from their respective "marketplaces", VS Code clearly has the mindshare and momentum advantage. It's an embarrassment of riches for such a young platform.

Having tried and failed to create and maintain plugins for both Eclipse and IntelliJ, this really feels like a sea change.

<comment><USER7> Jedit made supporting a bespoke language trivial. Glad to see VS Code is making the process frictionless as well. Makes coding in such languages so much easier on the eyes.

</comment></comment></comment><comment><USER8> I'm an emacs user who would be happier using vscode except that accessing documentation about how vscode is implemented requires a live web connection, and I try to minimize the amount of time I spend connected to the web.

I do my Emacs-Lisp hacking offline, which is possible because the emacs-lisp reference manual and other useful resources (e.g., the entirety of emacswiki.org as a directory of MediaWiki markup files) can be downloaded with a single command line. In contrast it is too hard to find and render locally usable collections of vscode, typescript, Electron or JavaScript documentation larger than individual web pages.

There are many aspects of my life that require me to be on the web, but I HATE THE WEB and would put up with a lot to avoid making yet another regular activity of mine dependent on my being connected to the web.

There is no net connection in my apartment these days (though there is in some of the common rooms in my apartment building) and I do all my emacs hacking in my apartment.

I long ago got used to making a constant series of small modifications to my emacs environment. Although I might choose to refrain from getting into the habit of doing that if I could live my life over again, it wouldnt make sense for me to unlearn that habit at this late stage of my life, which explains why i would regularly need access to documentation on how vscode is implemented if I were to replace emacs with vscode.

I used to like the web, in the 1990s and later, but it has slowly changed into something I hate. HTML 5 for example severely diminished my experience of the web.

</comment><comment><USER9> I just made the switch also, but from Visual Studio. (Blogged about it here: [http://tiny-giant-books.com/blog/things-vscode-didnt-tell-me...](http://tiny- giant-books.com/blog/things-vscode-didnt-tell-me-about-programming-in-f/) )

It's amazing how much muscle memory plays a role in tool adoption. The author says "The mismatch between keybindings in VSCode and rest of my tools just kept tying my fingers in knots"

You can't spend years and years doing something one way unconsciously and switch without it being quite painful. I think once you're a Emacs user for a decade or more, you're probably an Emacs user for life -- or at least it's going to be painful to switch.

"It is important to note that the Project Manager addon may have improved significantly since I last used it a few months ago"

Yes. VsCode is a rapidly-changing environment. When I started with it this week, I had downloaded the most popular plugins just for kicks. As it turns out, there were plugins for most every common thing I do. The switch, however, was painful.

Looking at my desktop, I've got a dozen editors, half-a-dozen or more IDEs. This is getting crazy. At some point, maybe Emacs is a much better long-term investment. But if you do that, you miss out on seeing what all the cool kids are doing -- and that's important for a lot of other reasons besides programming (Marketing, for instance)

Sidebar: People get really, really attached to their IDEs. Maybe as much or more as their favorite programming language.

<comment><USER10> What I have noticed is that emacs gets most of the cool things really quickly. You might not get many complex UI elements like a sidebar that are very popular, but other stuff like language server or linters etc that are built for VScode or for specific languages gets a lot of love from emacs user community.

</comment></comment><comment><USER11> Reposting[1] my Emacs setup for JS, which I've found very effective. (Seemed more effective than my coworker's VSCode setup)

"""

(Disclosure: I'm the author of rjsx-mode)

The best setup I've found is to use js2-mode for .js and rjsx-mode for .jsx, which parse the buffer for syntax highlighting, local refactoring (with js2r) and basic linting. For typescript, use typescript-mode. Flow support is quite bad ATM

nvm.el replaces the shell scripts from nvm.

Add a jsconfig.json to your project root and enable tide-mode for completion. This has worked far better than tern-mode, which some people recommend.

For fuller linting than what js2/rjsx offer, use flycheck. Eslint support is built-in, so it should just work, I think.

 _[2018 update: I prefer using tslint, which you can accomplish with:

(flycheck-add-mode 'typescript-tslint 'js2-mode)

(flycheck-add-mode 'typescript-tslint 'rjsx-mode)]_

Finally, for build management, I use prodigy to run webpack, babel, ts, etc.

Feel free to ping me if you need more help

"""

One thing I didn't mention then was using mocha.el for mocha/jest, along with indium for debugging. I couldn't get realgud set up properly, but had no issues with indium, including for typescript/babel code.

[1] [https://news.ycombinator.com/item?id=14884940](https://news.ycombinator.com/item?id=14884940)

<comment><USER12> This is super helpful. would you mind posting your prodigy configuration? It seems like an excellent tool to run tasks like `yarn develop`

If you have any special config for indium, I would love to see that too.

<comment><USER11> Sure thing. Here's the JS-related prodigy stuff:

```

(prodigy-define-service

      :name "webpack"

      :cwd "~/project/"

      :init-async (lambda (done) (nvm-use-for "~/project/" done))

      :command "npm"

      :args '("run" "build" "--" "--watch")

      :ready-message "Build Finished")

(prodigy-define-service

      :name "tsc"

      :cwd "~/project/"

      :init-async (lambda (done) (nvm-use-for "~/project/" done))

      :command "npm"

      :args '("run" "compile" "--watch")

      :ready-message "Watching for file changes.")

(prodigy-define-service

      :name "server"

      :env '(("PORT" "6789")
             ;; etc.
             )

      :cwd "~/project/"

      :init-async (lambda (done) (nvm-use-for "~/project/" done))

      :command "npm"

      :args '("run" "serve-dev")

      :ready-message "Listening on 6789")

```

</comment></comment></comment><comment><USER13> I can't read the article as I'm getting a security warning. But I've always felt really awkward using an IDE like VS or Eclipse. Even as a beginner when I had no experience of using anything else I thought it was a bit, uncomfortable pointing and clicking and having numerous menu options in my face all the time. So when I got introduced to Emacs by a former colleague I started out with a great amount of scepticism, I mean why should Emacs be so great when nothing else I had tried up until that point hadn't. (I went through VS, Eclipse, Sublime, Atom and 15 minutes of Spacemacs in advance). And at first I wasn't impressed, the concept of doing 99.9% of everything using only the keyboard was completely foreign to me. But the more I got used to it, and all basic key bindings, the more I grew to love Emacs. Today, some three years later I can't even imagine myself developing using something else. I know one can set up other IDEs to get basically the same functionality. But yeah, Emacs comes with the functionality built in so why should I go through all the hassle of setting up the key bindings in VS?

<comment><USER14> It sounds like you used VS as a text editor rather than as an IDE (because you only needed the former, especially as a beginner). It's a little bit like using your car to drive across the block. It's definitely less comfortable than just walking, but it doesn't mean you'll have an easier time if you just try to walk everywhere.

<comment><USER15> Emacs is not to VS what walking is to driving. It's more like a programmable car instead of a Microsoft™ Drive Studio. I don't think there's a good real life comparison.

</comment></comment></comment><comment><USER16> I have spent a lot of time trying out various editors over the years. The only thing I absolutely require is some basic vim emulation that works the way I expect.

To me, vim, neovim, spacemacs, emacs - all require a bit too much configuration for my taste. I just want things to work, without having to spend a lot of time micromanaging them. I tried Atom, but always found it to be super laggy. SublimeText is really nice and fast, but it seemed like some of the support packages were behind the times - and I could never get vim emulation to work the way I thought it should.

I have found that VS Code really hits the sweet spot with performance, package management, and vim emulation. Packages are well supported and super easy to manage, and the vim emulation does all I need from it without any noticable lag. I rarely need to change any configuration more than a line or a few at most.

Like others have mentioned here, I still do everything with git from the command line - except maybe the occasional diff perusal in gitlens.

</comment><comment><USER17> I still am loving the VSCode with the VIM extension. I write in Racket, R, Python, JS, and Haxe. I still find Code to be the best for me and the support in the extensions make my life easier. Only thing I don't use is the Git extension, I still us git shell.

<comment><USER18> I'm in a similar boat. I use gitlens for informational purposes (diffing, see changes, etc...), but do all my git operations on the CLI. It's a bit irrational, but I know the git CLI and don't trust the GUIs to do the right thing.

So now I use Intellij for anything Java, VSCode for all other coding and Vim for quick edit tasks. The Vim keybindings keep every editor feeling familiar, but I have the editor benefits where needed (I couldn't imagine writing Java in anything but Intellij for example).

<comment><USER19> IdeaVim is a great plugin! I love combining vim with the power of IJ like that.

<comment><USER17> It was a lifesaver for me a while back. I am so glad we have good choices for a Vim Extension in so many tools.

</comment></comment></comment></comment><comment><USER20> every now and then i change things up and explore the field. textmate -> sublime -> vim -> emacs -> idea -> (now) vscode.

i really want to like emacs, i think it's probably the most productive environment if you sink a thousand hours into fiddling with your configs and get things just right for yourself but ultimately it's a breath of fresh air when most stuff just works out of the box and your config is just bunch of checkboxes and simple text fields (or json). i've tried spacemacs and i've tried writing my own config - none of it is even close to how quickly you can get comfortable and productive in atom/vscode, even if the productivity ceiling is (maybe) lower than that of emacs.

i'm in constant cognitive dissonance about electron apps. atom and vscode are just incredibly good projects.

<comment><USER21> I'm not much of a dev and historically just did things in n++ or vim. I gave a few IDEs a shot as I delved further into development, but wound up sticking with vim and eventually moved to spacemacs.

the initial task of setting emacs up seems to be one of the most common complaints, but I don't feel I really went through that with spacemacs. other than adding a layer now and then, I think I've made less than 20 minutes of changes to my config total, most of which was looking into a bit of lisp.

perhaps I should've tried a vim plugin for other ides, but I can't see myself switching to something like vscode or a jetbrains ide despite agreeing that they're good.

</comment></comment><comment><USER22> VS Code is the IDE for people that think they hate IDEs. It's extensible enough that you can turn off all the intellisense and highlighting. And just have a pure, performant editor. With multi-cursor shortcuts. A spiffy built-in terminal. And "Zen Mode" for full screen focus ;)

<comment><USER23> I love IDEs, but I need something that gives me a good consistent editing experience between all the languages, config files and everything in between that's not tracked in a project file of some IDE. That's VSCode for me.

My initial reason for switching from Notepad++ to VSCode was file search speed. We have a lot of 5GB folders at work that I can search in a few seconds in VSCode. It needs 2-3 minutes in Notepad++. That is of course thanks to ripgrep.

</comment></comment><comment><USER24> I love the idea of VSCode, but I find it rather confusing to use. The configuration of plugins is non-trivial to figure out, sure you can copy paste a bunch of stuff from the web, but how do I figure the configuration out on my own? The best answer I've come up with this far is "You don't".

Even opening file/projects is a bit weird to me.

VSCode isn't necessarily to blame for this, it's just different from TextMate and Vim. Still I've found it rather difficult to get started with.

<comment><USER25> > The configuration of plugins is non-trivial to figure out, sure you can copy > paste a bunch of stuff from the web, but how do I figure the configuration > out on my own?

For what it's worth I feel like the best way is to just explore the settings and see what's there. Ctrl-, to open settings, then you should see the default settings on the left side. Most plugin authors are pretty good about putting decent comments to explain their configurations, and the auto-complete should help to evaluate any options available.

> Even opening file/projects is a bit weird to me.

I've been using it 2 years now and still find the Ctrl-K Ctrl-O command to open folders awkward and nearly impossible to remember.

<comment><USER26> >I've been using it 2 years now and still find the Ctrl-K Ctrl-O command to open folders awkward and nearly impossible to remember.

      cd path/to/folder && code .

Pretty easy to remember tbh

</comment></comment></comment><comment><USER27> I'm surprised that the author didn't like the emacs vscode plugin. I've been able to tweak it to cover most of the text editing and movement commands I use in emacs. In fact I find myself less and less in emacs for front-end stuff because I haven't been able to really configure tide (or tern, etc) to work optimally.

</comment><comment><USER28> I really like VS Code, it has some good plugins and it's faster than Atom, but it's still too slow. I use VS Code, Sublime, Intellij or Vim which is my favourite editor. It's my favourite because it runs in the terminal and it's fast. Unlike some others the interface is less important. I like the fact that I can easily run the same setup for Vim on my laptop, via SSH, on OpenBSD, on Linux, inside VirtualBox without a GUI, etc. For Node.js, Python, Perl I think it's all pretty good across all those editors, the only thing I'm struggling with is a good IDE-like experience for Java in Vim. Anyone have any pointers?

</comment><comment><USER29> I'm a long time emacs user and switched to VSCode for the same reasons (the amazing JS support in VSCode). For keybindings, I'm using the Emacs Friendly Keymap extension and didn't find it to be quite as buggy as the author describes (I might just be using less key combinations though).

I used emacs for writing JS for years, and for the time js2-mode was amazing, but the JS I'm writing now is quite a bit different. JSX and Vue templates complicate the situation as well.

Since VSCode is written in JS, I suspect that it will always have advantages when writing JS in the same way that emacs will probably always have an advantage when writing Lisp.

</comment><comment><USER30> The best editor is the one you are most comfortable using. When I hear someone argue that editor x, or even language y, is superior, I remind myself that what they are probably saying is they know that one the best.

</comment><comment><USER31> I use both and am an emacs fan. First off, the key-bindings in emacs are its ridiculous weakness. That's why many smart emacs users use a vim emulator for motions and the other frequent actions. The idea of pressing two keys to move a character is absurd, especially for keys so awkwardly positioned to each other. So, the idea of abandoning VSCode for its lack of the worst part of emacs is certainly not a convincing argument. That said, I keep both editors open. I suggest for anyone wanting to do that to enable vim bindings in both editors and save your fingers.

</comment><comment><USER32> I love Emacs, but I don't use it anymore because of the key bindings. I like them, but my pinky started aching when using Emacs for long periods of time. Reconfiguring all of them, including the ones from the modes that I use, doesn't feel like it would produce good results in the end.

Since ditching Emacs, I've been using Atom, VSCode and Micro, but Emacs is superior IMHO. But multicursor support is really cool in these new editors! I'm using it all the time :)

<comment><USER33> There is a simple solution for the keybindings: sticky keys. WIth sticky keys you can press the keys one after the other, so you don't have to hit certain keys with your pinky, for example.

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

I use it for many years with Emacs and I have no pain in my hands.

</comment></comment><comment><USER34> After fighting with lsp-mode on c++ and python, finding out they just work™ in vscode gives me the opposite thought. Still love living in Emacs though.

<comment><USER35> well, the Language Server Protocol was developed originally for use in VS Code. So not surprising it works better!

(i also wish lsp-mode would improve.)

</comment></comment><comment><USER36> _My VS Code experience became even better when I learned to drop //@ts-check in every file._

You don't have to do that if you setup a jsconfig.json file in the root of your project. [https://code.visualstudio.com/docs/languages/jsconfig](https://code.visualstudio.com/docs/languages/jsconfig)

</comment><comment><USER37> I tried many editors including VSCode but keep coming back to Emacs. So far no Emacs emulation mode was able to give me the full Emacs experience.

[https://sites.google.com/site/steveyegge2/effective- emacs](https://sites.google.com/site/steveyegge2/effective-emacs)

<comment><USER38> Yeah, I used to love Emacs as well, but nowadays there are just so many languages and frameworks, all running together.

I bet Steve himself is coding on something like Intellij/VSCode, dropping to Emacs only when the craziest text replacement job is required.

</comment></comment><comment><USER39> I am a huge proponent of VSCode for new programmers because it comes with a lot of good support for very basic things and even some advanced things.

I do find however that it is something that skilled programmers will likely outgrow except perhaps a subset of them. I myself moved on to the JetBrains family of IDEs and use vim for minor edits or doing edits on the command line.

I'm not sure how Atom lost out so badly in this they used to be pretty good but I hardly hear about them anymore

edit: given that my response was a little vague, i'll elaborate.

Visual Studio Code is wonderful for getting your feet wet in programming. New Programmers i've worked (interns, usually) have tended to have professors that teach Java and use NetBeans (i mean whatever, fine). So often thats what they've used as their tool, and usually not a tool that they enjoy all that much (in my experience).

Usually I have them start up with VS Code and the feedback I always get is that they feel more productive, especially after adding a few plugins. I think VS Code is just more intuitive to get the hang of and for the most part has a power plugin ecosystem that can take one far enough not to feel like they're completely out of the loop.

Where Visual Studio Code and the like start to break down for me (Vim has this problem too, and heck, I have found very few other IDEs that can even handle this properly) is when you get into multi-language projects where you have code that is interdependent on some level.

For instance, with Python, I can get Jinja syntax highlighting in just about any editor, but I have yet to find another editor that so perfectly will autocomplete my variables from my Python code into the template and vice versa. Even better, as of recently, I have noted that not only do they complete my variables, but my @context functions are showing up as well, as well as my filters. JetBrains is worth every. damn. penny. This is such less mental overhead to worry about (especially because, if anyone who has read my posts here will note, I'm prone to typos)

Once you get to a point where you are consistently living in more complex projects and have multiparadigm code you're writing, I haven't found any tool that handles it this way.

I just can't get over how good JetBrains is at making their product suite. I recommend them at every turn. I do not however think, just because there are so many features (and a great plugin ecosystem that it has) recommend it to outright beginners, there is a bit of a ramp that will get in the way of learning I have found if you start people off on it right away (Even with the awesome free versions like PyCharm EDU or Intellj EDU, they're just too overwhelming for newer programmers I have found). With that said, everyone I have worked with who has interned with us has ended up on a JetBrains IDE if they come work for us and I haven't had any real complaints yet.

Disclaimer: I don't work for, nor do I receive any compensation from JetBrains. I just think they're a damn good product and deserve to be recognized.

<comment><USER23> >I'm not sure how Atom lost out so badly in this they used to be pretty good but I hardly hear about them anymore

No stellar team at Microsoft supporting the project?

<comment><USER40> Given that Atom is created/maintained by GitHub, and GitHub is now owned by Microsoft, that's technically untrue :P

</comment></comment></comment><comment><USER41> I've been living in tmux since 2009. Vim and emacs have remained strong editors all this time. They helped me to see that I need to transcend from the editor and create my own languages. Now racket will continue to augment my editors for years to come. It's all about the text my friends. Not the scrollbars.

</comment><comment><USER42> If you are on linux, use vim or emacs or a linux-centric IDE. I prefer vim, but others like emacs/etc. But one reason why I will never use VSCode on linux is because they collect data ( or reserve the right to ).

If you are on windows, use VSCode for the light stuff (though I prefer other editors ) and Visual Studio for serious coding. I know Visual Studio is "heavy", but if you are going to do windows programming, you should have the hardware to support their IDE.

All this evangelism by VSCode and the other side really doesn't contribute much. The key is to stick to a tool and develop some expertise.

</comment><comment><USER43> I can say that for vi(m) users, there is an excellent plugin for VS Code that works quite well. I still struggle with git in VS Code though, I prefer using git on the command line.

<comment><USER44> VS Code has a terminal integrated in its interface and it's just a short key away from view. You don't really need to point and click.

</comment></comment><comment><USER45> Well done!</comment>


Umbrella Corp Hacked (awesome Resident Evil promotion) - <AUTHOR> http://umbrellasciences.com/

<comment><USER2> This website is beautiful.

The only thing that detracts from it is the age verification system. Once I saw that, I knew that I was looking at a game website.

<comment><AUTHOR> Yeah I agree. Too bad they didn't just save it for the end.</comment></comment>