Visa: Some merchants see dip in fraud thanks to chip cards - <AUTHOR> http://www.usatoday.com/story/money/2016/04/19/some-major-merchants-see-dip-counterfeit-fraud-thanks-chip-cards-visa-says/83194722/ <comment><USER2> Interesting - I was suspicious that this "Quick Chip" process they refer is less secure, but apparently it is just a matter of poor implementations requiring the card for the entire authorization process:

"According to Ericksen, the ability for EMV transactions to continue as usual without the card remaining dipped after the creation of the cryptogram is actually already an existing EMV process, but it is just not widely used. With the implementation of Quick Chip, no additional testing or certification is needed from a Visa or EMVCo point of view, there are no changes to the process and the technology is inherently EMV compliant."

[http://www.pymnts.com/news/emv/2016/visa-puts-the-quick- into...](http://www.pymnts.com/news/emv/2016/visa-puts-the-quick-into-emv/)

<comment><USER3> I've been wondering about that for a while now. In Europe (The Netherlands for me), it seems like paying with NFC is a _lot_ faster than paying with regular 'chip and pin' where the card needs to stay in the reader for ~5 seconds after entering the PIN. Since both use the EMV protocol and the same chip (just contact vs. contactless), I'm not sure why the contact method is so much slower.

<comment><USER4> I believe it's down to how your bank sets up your card, and how the retailer's set up. In the UK, when I pay with my debit card at Tesco, after entering my PIN it _instantly_ says I can remove my card. Apparently it's because the card reader skips communicating with my bank until they cash up at the end of the day (the "available balance" of my card doesn't reduce after shopping there until the next day). Tesco is the only retailer where I've seen the card work almost instantaneously, but I expect that NFC payments work that way every time.

<comment><USER5> How do they detect invalid or cards with no balance? Seems you have to round trip to the bank at least once or you would be no better off than checks.

</comment></comment></comment></comment><comment><USER6> When I hear that the US still hasn't adopted chip+pin it sort of sounds unbelievable. This is the country that created VISA International, after all - a fantastic story chronicled in Dee Hock (founder of VISA)'s book. It seems like the financial industry in the US has taken giant strides backwards since then.

<comment><USER7> I'm in Canada and have had chip tech in cards for a number of years (5+ I'd say). We've since moved on to tap/swipe/wave which requires no pin but does have a transaction limit.

<comment><USER8> > We've since moved on to tap/swipe/wave which requires no pin

This is growing in the US as well, which is why chip-and-PIN seems less helpful coming this late in the game to the US market. I'd much rather it be required that restaurants (among other merchants) use portable credit card readers like they do in Canada to keep cards in the hands of their owners.

<comment><USER7> The one thing I've seen in the states that I'd like to see here is pre-pay at the grocery line. I know Target has this, and I imagine others. Basically while the cashier is ringing up your groceries, you go through the process of paying and basically say "I agree to pay the amount of this purchase." Then when the cashier is finished, the payment is immediately processed and you are done. Saves 30-45 seconds for each customer.

</comment></comment></comment></comment><comment><USER9> I always find these things to be much slower to process than the swipe- readers, which is pretty annoying when you're in a long line.

<comment><USER10> Just wait till you get 'contactless' [https://en.m.wikipedia.org/wiki/Contactless_payment](https://en.m.wikipedia.org/wiki/Contactless_payment)

<comment><USER11> The US actually had a lot of contactless cards for a while, before EMV, but it seems like that's been phased out (outside of the use of NFC via Apple Pay / Android Pay.

<comment><USER12> The US had NFC which just sent the magstripe which is different from EMV NFC.

</comment></comment></comment></comment><comment><USER13> I'd like to see average payment size data (median, mean).

Is it necessary for the average person to be able to instantaneously spend hundreds of pounds? I don't see why all retailers need such high security (e.g. sandwich shops).

I personally rarely spend more than 50GBP in a store. Large amounts of groceries in bulk, full fuel tank when I owned a car.

The contactless limit is 30GBP and that makes sense to me. If I cared about losing that amount of money I wouldn't go outside. I can sit on the metro and see that 25%+ of the people there are playing with smartphones worth 300GBP+.

Given all of that I don't find the US stance on security very odd. I want large payments to be verified, I don't care if someone buys a sandwich on my card, even if I never get that back from the bank.

To put it another way - huge payments should not be possible using a physical object that is used all over the place. I'd be happy for my bank to call me (2FA) for all payments above 100GBP, and for them to freeze payments if many many small payments happen in a short time span.

Otherwise, I'll see problems on my statement, cancel the card, and carry on with life.

</comment><comment><USER14> I don't understand how these help mitigate fraud in any way. You still have to sign afterwards, there is no PIN which is the way it works in Europe. How is this ANY different other than harder to implement a scanner which would steal the swipe, and those are bound to get implemented sooner or later anyway.

<comment><USER15> The purpose of EMV isn't really to counter physical theft, it's to counter passive theft using devices like skimmers.

> How is this ANY different other than harder to implement a scanner which > would steal the swipe [...]

The magnetic stripe on the card is essentially just a barcode read by magnets. Like a regular barcode, it's trivial to copy.

The chip on a card is actually a very low power computer that uses cryptography to produce an authentication token the scanner can present to a bank to authenticate a single purchase. It's essentially impossible to recreate the entire chip and the token can only be used on the purchase it was intended for so skimmers are pretty much dead.

You can read a little more about it here [http://www.firstdata.com/downloads/thought-leadership/EMV- En...](http://www.firstdata.com/downloads/thought-leadership/EMV-Encrypt- Tokenization-WP.PDF)

<comment><USER16> While this sounds great, I was just given a debit card with a chip in it. While extra protection is afforded at terminals built for cards with chips, I still only use the magnetic strip on my card at the 90%+ of terminals that are not built for chipped-cards.

</comment></comment></comment><comment><USER17> Most places I've been to have the new chip readers installed but they are disabled leaving you to swipe your card.</comment>


Making Poverty Fashionable to Millennials - <AUTHOR> https://jayriverlong.github.io/2020/08/08/poverty.html <comment><USER2> It's interesting seeing how humans are deciding to forgo one of the most innate patterns of life itself, passing their own genes via these phenomenons. It's almost as if it's a 'invisible hand' regulating the population by cornering people to prefer an achievable amount of pleasure (retire early, travel, etc) by trading it for not having offspring. This also relates to all the news about the rise of 'despair deaths'. No jobs, no way to ensure offspring a quality life, therefore game over for those genes. It is a big claim that these communities don't have kids, I would want more evidence of that before jumping to conclusions but if that's the case it's pretty crazy to read about.

<comment><USER3> Is it not inherently part of that animal pattern to only procreate until the resources become a limitation? Maybe the Wachowskis were wrong, and humanity isn't a disease that keeps spreading and growing.

<comment><USER4> > Is it not inherently part of that animal pattern to only procreate until the > resources become a limitation?

Most animals don't self limit - their environment limits them instead.

<comment><USER5> How can I tell if I'm self limiting or if I'm being environmentally limited?

<comment><USER4> > How can I tell if I'm self limiting or if I'm being environmentally limited?

Are you voluntarily having fewer kids than you physically could, or did you starve to death?

<comment><USER6> If you fear your kids would starve or otherwise have a terrible life, and you voluntarily do not inseminate - I think it could be argued that you are volunteering - however I think it's a reaction to the environment and a calculated view of what's to come.

<comment><USER7> That's a self limiting decision. It's easy to rationalize yes

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is bubble talk. I don't know anybody that went to my undergrad that is remotely interested in any of these except remote work, which was promised to everyone as soon as broadband became available to common people in the '90s. Poor folks aren't the ones blogging about van life, they're the ones that _live in their cars in Menlo Park_. Meanwhile, the classmates that didn't leave my state have either already purchased houses or are planning to within the next year. Mind you these aren't rich folks, these are folks making $75k a year at best, half of what a Princeton CS grad would make. I've talked to them about FIRE'ing before and got a blank look on their face. The only thing they do is max out their 401k, if that.

This isn't a case of "resource constraints" making poverty fashionable. It's a case of out of touch elites trying desperately to either "rough it" for the sake of the experience they never had or to aggressively retire at the age of 30. The median student loan debt burden is closer to $0 than $100k, and while growing and maintaining inter-generational wealth is a massive problem for communities of color because of persistent housing discrimination, I really don't see these folks represented in the communities OP's article mentions.

..that is, of course, if this isn't a partially GPT-3 generated blog as speculated here [0] but there do seem to be active responses from the author, so it just appears to be pseudonymous.

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

</comment><comment><USER9> I have been a digital nomad for 8 years of my life and my partner and I (also digital nomad for 2+ years) had actively decided to become parents and have a 2 years old daughter. We do live as expats in Budapest where the cost/quality of living ratio is better with a foreign salary. I did attend a couple of FIRE meetups in Budapest last year.

I think the article is discussing a lot of real problems but is assuming too much cause/effect rather than just correlation.

I think many of these movements make sense now BECAUSE travel is easier and millenials are not marrying or are having less kids anyway.

The FIRE movement is quite helpful anyway to start to manage your savings and debt. There is a lot of exchange of knowledge about ETF and passive investing. In the line of the lifestyle blog [https://www.mrmoneymustache.com/](https://www.mrmoneymustache.com/) By Retire Early most people intend actually "Retire Early from a job you dislike" and keep working on something you enjoy.

I'm from Italy which with Japan is one of the countries in the world with the steepest population decline. Fast population decline with an older population is a though new challenge we'll have to face consciounsly soon.

<comment><USER10> A bit off topic: isn't it strange that many people _choose_ to live on countries like Hungary, that media portrays as being the gross ones in the EU context? Something doesn't seem right here.

<comment><USER11> Not sure what you mean.

I semi-retired early, and I currently live in Cluj-Napoca, Romania. I saw a (uploaded 5 years ago) Youtube video that mentioned the city as a place rife with corruption and poverty and people somehow scrape by. I showed the girlfriend, who grew up here, and we were both confused.

On the other hand, I don't know why people _choose_ to live in a country with high property taxes and healthcare costs and mandatory driving. As an American I love the US but feel relaxed where I am now.

A friend once asked me why I didn't move to London instead. Because I grew up near NYC and it's like the same thing, that's why.

<comment><USER12> How did you get residency? Another guy from AZ (?) was denied entry into Romania after overstaying his visa and then he moved to Moldova and now the unrecognuzed PMR, aka Transnistria after trying other EU countries. He wrote a book about the country and runs this eccentric but also sometimes funny blog:

[https://kingofromania.com](https://kingofromania.com)

</comment></comment></comment></comment><comment><USER13> > Having children is very expensive, so it's hard to make that work with FIRE. > On the other hand, van life and tiny houses are logistically prohibitive to > having children.

This is debatable. If neither parent is working and they have the time and knowledge to homeschool their kids, having children becomes cheaper since the parents don't need daycare, a nanny, an expensive private school, etc.

People of all social classes have been having kids since the dawn of humanity. Kids can be as cheap or as expensive as you want if you don't have to worry about working 9-to-5 at the same time.

<comment><USER14> So, kids can be cheap if you don't have to worry about working?

How do you feed your children in this scenario where neither parent works? How about medical bills?

I'm not saying a lot of people couldn't spend less on childcare etc, but the ability to do it without working assumes a certain level of financial comfort.

That's not even taking into account the added cost of leaving the workforce for several years. I know several parents who found it difficult to return to their former fields.

<comment><USER13> > How do you feed your children in this scenario where neither parent works? > How about medical bills?

FIRE. If your life plan involves having kids, you'll need higher FIRE number, but it's still possible. Medicial bills are always the hardest part of FIRE since you can't plan for them and they have an unlimited ceiling. But you can aim for a basic insurance plan on Obamacare or move to a country with a modern medical insurance system.

</comment></comment></comment><comment><USER15> I agree with the underlying conclusion but there is one thing you said but did not properly reason about:

> On the other hand, van life and tiny houses are logistically prohibitive to > having children.

This is just not true. Only here in the wealthy west people think they need a big house to have children. In the rest of the world you will see whole families living in one tiny room together.

Also there is a lot of valid reasons not to put children into this world without being part of some lifestyle romance.

<comment><AUTHOR> In the rest of the world, you see whole families living in one room together _because they are poor_. Virtually no-one chooses to live like this. Case in point, as soon as such people get money, they upgrade to larger houses.

</comment></comment><comment><USER16> These lifestyles, as the author seems to point towards and not consummate, are the consequence of millennials being lonely, not poor.

<comment><USER17> I would say you're wrong. I know this is anectdata but I'm a non-single millenial, and my girlfriend and I have decided to never have kids because we value our own happiness and wellbeing too much to sacrifice it raising a child. We would be happy to live this type of lifestyle.

Edit: and it has nothing to do with our income. We're both 6 figure engineers.

<comment><USER18> May I suggest your understanding of the word "happiness" will change as you age? My happiness at 25 is not the same as at 50. As a male I guess society is on your side and you can be a late father if you find a willing younger partner. For your girlfriend however it's no dice: at 50 and childless I assume earlier happiness may taste different.

<comment><USER19> This is a big "may" to put on someone else.

</comment></comment></comment></comment><comment><USER20> Affordable homes aren't being built for Millennials. I predict there will be assisted suicide by the time most turn 60 and people will just turn to that service. I also assume the generations to come will look back on this time period as how the generations before the Millennials really threw a group of people into despair for their own well being.

<comment><USER21> That should come sooner than later. I'm 38 and a Millennial but definitely feel more like a Xennial. I've "done well", never given a dime, no help or network, and have worked a tax paying job since I was 12, put myself through college with 30 hours a week work (night shifts at stores etc) and my net worth including my 401K today is about 200K. That's saving, hard, for a very long time. I'm still far behind where I need to be financially, will never retire, and would definitely consider it today. The only reason I stick around is to outlive a few people that I don't want to give the satisfaction that I died. I'm a petty man, one with no real future, but to continue making employers rich. I do want to be part of defeating my class enemies though, the investment class. I often say I understand the opioid crisis- those who died may have been the smart ones. They knew.

There's really only one way forward and it needs to start now, worker owned cooperatives. No more capitalism, it isn't working. While there will still be a place for capitalism, most businesses are proven business models. There's no reason Google shouldn't be owned by its employees. Let alone 7-Eleven. Once people get a taste of democracy in the workplace, they'll demand it out of their government.

<comment><USER22> You sound a bit like me, a little more in my depressed days though.

I'm a lib socialist, so worker coops are my jazz.

I want to start a virtual union/commune that say everyone pays $100/month.

We use that to buy real estate rentals, eventually we launch all types of businesses from gas stations to grocery stores to a full amazon + aws competitor.

All union-owned. All workers are union members, and anyone who wants to join just joins. Maybe every hour and $ spent/invested = 1 share in the union. Each share = 1 vote and is used to calculate payouts for UBI (if we get to that point).

Initially all the cash our businesses bring in would go into a fund for healthcare. Our own single-payer plan if you will. We can create our own insurance companies as well in most states, maybe eventually we take over medicaid/medicare and buy up some hospitals and drug companies so we own the whole health supply chain. We could lobby congress for funds as well to up our health fund, and free up our cash on hand to pay out UBI.

Could also have some sort of credit card account with reward points, that you could use at sub-union companies... Say a union member starts a worker-coop, and decides to pay a 10% tax to the union, it'd be a sub-union company. Maybe union members would also get discounts at the shop if it was ecommerce or something, and be encouraged to shop there or help them promote their business.

The key is creating something that benefits all, encourages each other to help each other, and is ran somewhat democratically, and of course is self- sufficient. Also CEO caps for all companies under the umbrella.

<comment><USER23> >>>Maybe every hour and $ spent/invested = 1 share in the union. Each share = 1 vote

Heh, you should check out this story: [https://www.youtube.com/watch?v=Hl5fCxw6NJY&t=621s](https://www.youtube.com/watch?v=Hl5fCxw6NJY&t=621s)

All it takes is one whale entering such a system to up-end it.

<comment><USER22> You could set limits on yearly credits that can be earned. To keep it fair and balanced. Like maybe 40 hours * 52 weeks, so that you can't exceed what a normal employee would get. Employees, can get 2x that much, cause they can also double dip by investing their own $$.

</comment></comment></comment></comment></comment><comment><USER24> I disagree, while financial aspect is important but it is not the only factor why folks choose these kind of lifestyles.

First, having a kid these days might not actually be a good idea, with 7 billion people and counting, uncertaining future job market and the huge expense required to raise a functional kid in modern society. Previous generations never had those obligation or constrains and kids were able to contribute to their farms/income from early age.

Second, technology allowed for lifestyles that were not even feasible in the past, it is really obvious and I don't think I need to elaborate on that.

Last, humans were nomads settling.

To sum up not everyone wants to live the mainstream lifestyle. So it could be due to preference and choice rather than financial pressures only.

</comment><comment><USER25> reminded me of the "premium mediocre" view of millennials coping with downward mobility [https://www.ribbonfarm.com/2017/08/17/the-premium- mediocre-l...](https://www.ribbonfarm.com/2017/08/17/the-premium-mediocre- life-of-maya-millennial/)

<comment><AUTHOR> Definitely. The "premium mediocre" stuff has been on my mind a lot, and I'm sure it's conceptually related. "Downward mobility" is a good term here.

</comment></comment><comment><USER26> I love how the narrative is spun on these things.

It's not individuals making decisions about how to live their own lives.

Its they, the all encompassing shadowy cabal who wants to tempt naive young people into living in vans, and preposterous less then 5000 sqft houses, with their secret goal of impoverishing everybody.

Or maybe there are just people who prefer those things? Surely occams razor prefers the shadowy cabal though...

It's like an exaggerated version of the peasents from the Monty python sketch on the anarcho syndacislist commune.

.

</comment><comment><USER27> Powerful post. Unfortunately no potential solutions are explored. Ideas? Is it a matter of figuring out how to shift/part wealth from the ultra wealthy of the world? Or develop a means of building wealth at lower costs? Of course limited land is still an issue. Even if you got cheap land in a remote area, you're likely to be disconnected from the world without running water, electricity, and internet.

<comment><USER28> Affordable housing and health care is really what it comes down to. Food is as cheap, inflation-adjusted, as ever. Quality, reliable, transportation is as cheap as ever. College education is free in many places of the world, but a luxury in the US with the way it's taught. Employers are coming around to the fact that it's not a good signal any more, so the reasons to go ~50k+ in debt for a questionable degree are ceasing. The rest of millennial spend are generally luxuries. They can't afford to keep going with the conspicuous consumption and status-signalling that other generations could. But that's not what we should care about improving.

We need to start tackling the insane complexities of the US health system and the complete failure of building regulations to provide an affordable place for the next generation to live.

<comment><USER8> > College education is free in many places of the world, but a luxury in the > US with the way it's taught.

Community college is extremely cheap and free in several states like Tennessee. In state tuition at most state schools will run $30k max on the remainder. Not cheap, but for the income gains...not expensive.

</comment></comment></comment><comment><USER29> Hilarious how entitled the author is. It's delusional to believe that millennials, or anyone else for that matter, are owed living in some of the most expensive cities on the planet.

So many people just BELIEVE that if you fumble through college, you're magically owed an affordable, nice house/apartment in some of the most desirable metros on the face of the planet.

<comment><USER30> Who do you think inculcated that narrative to millenials when they were young?

<comment><USER29> Their parent's generation for sure, and the liberal educators at the time.

</comment></comment></comment><comment><USER31> Lots of "fashionable" millennial hipster trend things were just normal stuff that were bought by millennials because they were poor artists or working class. eg. converse shoes, pabst blue ribbon, thrift finds.

Oh oh it's so ironic uh no it's stuff millennials can afford because they're poor af.

</comment><comment><USER32> Rent seeking capitalists have managed to work their way into every corner of life. There _is_ no way for a significant portion of the population to produce a personal surplus, because 'markets' will be quick to funnel this into ever fewer pocket, thanks to the neoliberal tools they've managed to convince us were necessary for 'business' to not be 'choked' by government. Two working partners, working in well paying jobs in large cities, it doesn't matter, you're not going to keep your surplus.

Apart from being lucky and be either born or get a lottery ticket into the 0.01%, the only way I see of building up your surplus (without expending your body with working 80hrs+ for 40+ years) is checking out of usual patterns, patterns that are still not being eaten up by rent seekers. Like a good job on the perifery of your country rather than in/near commercial/industrial centers. And vote labour, of course. In the end, only law can end rent seeking, and for that, we need to stop believing the economy musnt be under our control rather than the reverse.

<comment><USER19> Isn't it possible to have a controlled economy that doesn't exploit people, which is still capitalist within its bounds?

<comment><USER33> I'm pretty sure that at least for some time, the system of "Soziale Marktwirtschaft" (social market-economy) in Germany nailed that balance quite well. It's totally not my area of expertise, though.

Still, my gut feeling is that if someone capable would check the numbers, the result would be that from the 1950s to at least the 1990s, the personal economic situation for most Germans improved dramatically, while German companies were extremely competitive and successful in comparison to the rest of the world at the same time. Like, no need to exploit the former or sacrifice the latter; it worked hand-in-hand.</comment></comment></comment>


Ask HN: Firefox Android users, is umatrix working now? - <AUTHOR> After signature expiry incident, it appears lot of addons have recovered but I can't yet install umatrix.<p>Of course I could set xpiinstall.signatures.required to false but that's not that reliable.. <comment><USER2> I am sure you could have figured this out for yourself:

• May 5, 2019 [https://www.mozilla.org/en- US/firefox/android/66.0.4/release...](https://www.mozilla.org/en- US/firefox/android/66.0.4/releasenotes/)

• May 7, 2019 (further fix that was for the master password thing) [https://www.mozilla.org/en- US/firefox/android/66.0.5/release...](https://www.mozilla.org/en- US/firefox/android/66.0.5/releasenotes/)</comment>


Show HN: Run SQL statements on XML - <AUTHOR> https://github.com/kamac/AskXML <comment><USER2> Very nice project. I guess it was inspired by a recent show HN that load csv file and allow you to query on it?

<comment><AUTHOR> Actually no, it was just a coincidence that it was here on HN a few days before I decided to share AskXML. My project was inspired by lack of tools to query stackexchange's data dumps effectively. :)</comment></comment>


Riffle: An Efficient Communication System With Strong Anonymity (2015) - <AUTHOR> https://dspace.mit.edu/handle/1721.1/99859 <comment><AUTHOR> For the full PDF see[0]

[0][https://dspace.mit.edu/bitstream/handle/1721.1/99859/9277182...](https://dspace.mit.edu/bitstream/handle/1721.1/99859/927718269-MIT.pdf?sequence=1)</comment>


Tweetree: Twitter.com on Steroids - <AUTHOR> http://www.twitterrati.com/2008/12/28/tweetree-twittercom-on-steroids/ <comment><USER2> Same thing (nested replies) can be accomplished via a GreaseMonkey script, without giving out your credentials. <http://userscripts.org/scripts/show/30598>

I'm sure there are GreaseMonkey scripts for the other features, too...

</comment><comment><USER3> Er, what about all the other people who might be following you and who won't get anything out of it because you don't make your replies' contexts clear? What about the person you reply to 2 days later who won't remember what the heck you're talking about?

The lack of this kind of "cleverness" is a big reason why Twitter is so versatile.

Simple tools encourage complex behaviour. Complex tools encourage simple behaviour.

</comment><comment><USER4> Why is this linkjacked? Link it to <http://tweetree.com/> instead

</comment><comment><USER5> So it uses twitters notoriously unreliable 'reply-to' system? In which I can reply to a tweet, but if that person happens to send a second tweet whilst I am typing my reply, I end up replying to THAT one instead?

Also, haha. I am not giving out my twitter username and password to some random third-party site. No sir.</comment>


Live Share now included in Visual Studio 2019, available for VS Code - <AUTHOR> https://devblogs.microsoft.com/visualstudio/live-share-now-included-with-visual-studio-2019/ <comment><AUTHOR> PM for Live Share here! Our team has _loved_ working with the community on this product over the last year, and we're excited to reach this milestone, and get even broader feedback ([https://github.com/microsoftdocs/live- share](https://github.com/microsoftdocs/live-share)). Developer collaboration is something we're very passionate about, and so we're keen to continue learning how to make it even more enjoyable and efficient for everything from pair programming, interactive classrooms, team brown bags, onboarding/mentoring, code reviews, hack-a-thons, etc.

Live Share is now available for both Visual Studio and Visual Studio Code ([https://aka.ms/vsls-pack](https://aka.ms/vsls-pack)), including the ability to collaborate between them! So if you're using either one of those tools, and you get a chance to check out Live Share, please don't hesitate to share your thoughts and let us know how we can improve further. Also, if you're new to Live Share, and are curious why we built it (great question!), you can check out this article for a little more details: [https://aka.ms/vsls- why](https://aka.ms/vsls-why).

<comment><USER2> Would you be able to comment on how Microsoft is allowing these sorts of projects considering I imagine it would cut into Visual Studio (paid version) revenue? I've almost completely switched over to VSCode from Vim+Ctags and it's also converted a few of my Linux using friends over as well. Essentially, how in the world does this fund your team? Not that I'm complaining, but it really does seem like a monumental effort.

<comment><AUTHOR> Within Visual Studio, our team culture is very focused on solving customer pain points, and ensuring we can address the broadest set of developers possible. Over time, we hope that some of those developers consider using other Microsoft products (such as Azure), assuming we do a good job of providing a delightful and integrated experience. Additionally, there's plenty of value within the Visual Studio SKUs, which allows us to decide which features are available in each. We decided to make Live Share available across all VS SKUs and VS Code, because we believed that real-time collaboration was something that is applicable to the vast majority of developers.

<comment><USER3> Send my thanks to whoever was responsible for making CodeLens gradually available in more SKUs. I think in 2015 it was Enterprise only, then Pro and above only in 2017 and in 2019 it's in the Community edition. Super useful feature that I notice VS Code has been inspired by also.

<comment><AUTHOR> I'll make sure to pass this feedback on to the right folks!

</comment></comment></comment></comment></comment><comment><USER4> Live Share has been super fun to use, and the one underrated capability is the ability to build extensions on top of it. I built a text chat extension[1] on Live Share, and I'm keen to see more extensions that bring shared experiences for developers while writing/reviewing code.

[1] [https://marketplace.visualstudio.com/items?itemName=karigari...](https://marketplace.visualstudio.com/items?itemName=karigari.chat)

</comment><comment><USER5> Before you ask, here's how :)

[https://www.emacswiki.org/emacs/tmux_for_collaborative_editi...](https://www.emacswiki.org/emacs/tmux_for_collaborative_editing)

<comment><AUTHOR> Our team actually uses tmux all the time! That said, we figured there was room for an awesome collaboration tool for folks that preferred GUI-based editors/IDEs.

In addition, you can start a Live Share session, share a terminal, and then use Vim/tmux/etc. from there. A bit of overkill, but still kind of cool :)

<comment><USER6> I have actually done exactly that (because we were working on multiple repos at once but sharing a new repo on LiveShare while a session is on disconnects everyone..)

<comment><AUTHOR> I'd love to hear more about the Live Share issue you ran into, and make sure we're tracking it ([https://github.com/microsoft/live- share](https://github.com/microsoft/live-share)).

<comment><USER6> If you open a new Live Share session with a folder of code let's say, and then you want to add another folder to the workspace, this disconnects everyone and ends the session. I've reproduced it multiple times.

<comment><AUTHOR> Ah OK got it, yeah that's a known limitation. That's something we plan to add support for very soon. Apologies for the current inconvenience!

<comment><USER6> No worries! Fantastic tool.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Hoping for Live Share support in Jetbrains IDEs.

There's Floobits, but it's proprietary and uploads your code to their servers.</comment>


I asked an online tracking company for all of my data - <AUTHOR> https://privacyinternational.org/feature/2433/i-asked-online-tracking-company-all-my-data-and-heres-what-i-found <comment><USER2> > Some of the categories that I have been placed in are uncannily specific.

> the data broker Acxiom even placed me in a category called "Alcohol at Home > Heavy Spenders" (was it because I went shopping for a birthday party at > home?), and a company called Affinity Answers thinks I have a social > affinity with the consumer "Baby Nappies & Wipes" (very, very wrong).

We tried a few of these services that match site visitors to segments/categories at my prior job. None of them worked all that well. I suspect part of the issue is that their customers ask them to create highly specific segments that aren't possible to infer about people, at least not without a huge amount of noise.

<comment><USER3> If they even get one long tail advertisement right, it's a win for them.

</comment></comment><comment><USER4> I am a bit disappointed that the article does not detail out, _how_ the data was requested. I am pretty sure that when you ask "Give me all data about me <name>" that the response will be "We have not filed any data under <name>". I'd be interested in doing the same with Facebook and Google (I don't have accounts for both) but I am pretty sure that I get stonewalled. I thought about asking for the data associated with the tracking cookies they set, but I am not sure whether this works.

<comment><USER5> Don't you get exactly this data with some clicks through GDPR at Google and Facebook?

<comment><USER4> I don't have an account on either. At least with Google I can't get any data without an account.

</comment></comment></comment><comment><USER6> This is supposed to be the request form [https://www.quantcast.com/privacy/data-subject- rights/](https://www.quantcast.com/privacy/data-subject-rights/) However, I'm getting:

> We are unable to find a Quantcast measurement cookie on your browser and > therefore will be unable to identify any data in our systems or process any > request for data access or deletion.

<comment><USER7> I didn't get anything at all on the page until I disabled uBlock. Then I refreshed and got the same message you got.

I'm curious if these types of firms use other data (browser profile? IP address?) to link data into a single profile across multiple browser sessions.

For example, if I wasn't blocking ads/scripts but I still had cookies set to clear on browser exit, would their gathered data only apply to that session or get added to some overarching profile of me as a user?

I'm less concerned about ads being tailored to things I did in the current session and more concerned about the longer-lasting profiles built up over time by credit card use, browsing history, and other data points. Seems like more potential for abuse than if they're depending on something as short-lived as a tracking cookie.

</comment></comment><comment><USER8> It is new normal, just lock your doors if you want some privacy:

\- Safari is ahead of the pack with its ITP 2.

\- ad blocker extension is a must

\- private browsing windows gets rid you of tracking cookies (incognito in Chrome, but Chrome is made by an Ad company .. :)

\- VPN hides your IP

<comment><USER9> The EU passed a law to limit tracking like this, and these companies are in breach according to PI, so "just" starting the process to enforce that law is a much better step.

<comment><USER8> Sure, pushing for new laws is very important, but in meantime, have some easy protections.

I think restricting by law their _core_ business model would be not an easy task, it is life or death question for tracking companies like this and FB/Google.

</comment></comment></comment><comment><USER10> The consent dark pattern is an abomination, and IMO blatently unlawful under GDPR. Which is why it's so important to raise it with the data protection authorities. I hope they come down hard on this issue.

I've donated to Privacy International, if there are any similar entities, please let me know.</comment>


Boom v2: Open-source out-of-order RISC-V core [video] - <AUTHOR> https://www.youtube.com/watch?v=toc2GxL4RyA <comment><AUTHOR> Many people predict RISC-V to be mostly for IoT but I hope they will really push forward high performance implementation. Boom will get industrial support from Esperanto to push it to be a very high single thread performance core.

We are really moving in a direction where it is possible to have a open software hardware stack running on your everyday working devices.

There will still be some third party IP and such but having an open source core (Rocket, Boom and others), SoC (LowRisc), firmware (coreboot/heads), kernel (linux) and userland (gnu, android) will be fantastic.

The third party IP can be replaced step by step with open source efforts from the open source community, the universities, government funds and business who want free IP.

I really hope we see and raspberry pi style computers soon and hopefully developer laptops in the next 1-2 years. Purism would maybe do something like that.

<comment><USER2> _Many people predict RISC-V to be mostly for IoT but I hope they will really push forward high performance implementation._

The reason for that prediction is simple: it's what happened to MIPS, which in its heyday got as much if not more hype than RISC-V. Advocates thought it would be _the_ "architecture of the future" for everything from tiny embedded systems to high-performance supercomputers. Now, its popularity is only in the former, because it turns out that getting high performance from an ISA with only simple and relatively large instructions is actually rather difficult. You can add SIMD and other extensions to look competitive in specific benchmarks, but general-purpose code will still be behind compared to something like x86 or even ARM.

<comment><USER3> The "official" response is that everything will be fine because the simpler instructions will be fused together automatically by high-performance CPUs. (The technique is called macro-op fusion). In fact there was a talk last year by Chris Celio (same person as in this video) on the subject:

[https://riscv.org/wp-content/uploads/2016/07/Tue1130celio- fu...](https://riscv.org/wp-content/uploads/2016/07/Tue1130celio-fusion- finalV2.pdf)

Also note that RISC-V has a standardized compressed instruction extension which is expected to be present on just about any high-performance 64 bit chip, and that makes the case for macro-op fusion more persuasive, since n x 16 bit instructions might be fused and still take the same space as a specialized CISC instruction.

I guess we won't really know until the hardware exists though.

<comment><USER2> _because the simpler instructions will be fused together automatically by high-performance CPUs_

...but then the larger instructions will still take up cache space and fetch bandwidth, with the effects becoming even more significant with multiple cores.

 _since n x 16 bit instructions might be fused and still take the same space as a specialized CISC instruction._

As the saying goes, "In theory, there's no difference between theory and practice. In practice, there is." It's far easier to split a CISC instruction into uops, than to attempt to detect the possibly near-infinite combinations of RISC instructions that effectively do the same thing so that they can be fused together. It's like the CPU has to almost decompile the program, at runtime, to figure out what it's doing and how to do it more efficiently on the hardware...

Consider a round of AES, for example. Or for something simpler, a memory copy loop. On x86, the latter is 2 bytes (and has been since the 8086), and the former can be as small as 6 on the recent CPUs that have the AESNI extensions. Maybe RISC-V can do the former in 4, but how often are AES operations performed vs. bulk memory copying, and can RISC-V do the latter in 2? Those are the sorts of things which benchmarks often don't show very well --- I have no doubt RISC-V and ARM can (slightly) beat x86 in code density for vector operations and such specialised things, but in practice, everything else matters too --- sequential, general-purpose, perhaps somewhat branchy code.

I lived through the first RISC hype. This feels like a repeat.

<comment><USER4> > It's far easier to split a CISC instruction into uops, than to attempt to > detect the possibly near-infinite combinations of RISC instructions that > effectively do the same thing so that they can be fused together.

Er, it's not like macro-op fusion is some theoretical thing that isn't proven in practice. x86 cpu's have done it for quite a while for CMP+JMP, and compilers optimize for it by not putting other instructions between the CMP and JMP. That is, macro fusion doesn't scan through some huge window of instructions, it only works for neighboring instructions.

If you want to know more, I recommend reading through the slides that the parent poster linked, and the article link I posted in a sibling comment.

> Consider a round of AES, for example.

FWIW, there is ongoing work to add a crypto extension to RISC-V, so this isn't really an argument for or against RISC-V per se.

> Or for something simpler, a memory copy loop. On x86, the latter is 2 bytes > (and has been since the 8086)

REP MOV* is a good example of what's wrong with CISC. It gets you good instruction density, I grant you that, but it also slower than alternative implementations using, say unrolled loops and vector instructions. Look into a modern memcpy() implementation and prepare to be horrified. If it were that easy to make REP MOV fast, one would have thought that Intel with their near- unlimited budget would have made it so.

<comment><USER2> _Look into a modern memcpy() implementation and prepare to be horrified. If it were that easy to make REP MOV fast, one would have thought that Intel with their near-unlimited budget would have made it so._

Look up "enhanced REP MOVS" (Ivy Bridge), and before that, "fast strings" (P6). It can copy entire cachelines at once and easily beats anything else except in tiny microbenchmarks where the negative effects of huge unrolled loops don't appear. In general, the historical performance of the string instructions is interesting and worth researching more...

<comment><USER4> Yes, and for Ice Lake they're introducing the yes-this-time-we-really-mean-it- fast-rep-mov, er, "fast short rep movs". Time will tell whether it beats a software implementation.

But my point still stands, if you're developing a new ISA, does it really make sense to add dedicated string copy instructions, using opcode space, adding die area for microcode ROM's, design and verification costs etc., considering that even Intel with all their money can't make them an obvious win compared to a software implementation?

But yes, both for x86 and RISC architectures, it's probably unwise to optimize memcpy() implementations by staring at microbenchmarks that do nothing else than memcpy() of different sizes, thus ignoring the I$ pollution that a monster implementation causes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> This video goes into the depths of CPU design, but is quite easy to follow.

Highly recommended!

</comment><comment><USER6> I don't know anything about chip design. How far away is this chip from competing with Intel Core i7 or Amd Ryzen 7s?

Will it require hundreds of people and budget in the hundreds of millions of dollar? Or can small groups of researchers develop BOOM more until it can compete in the desktop market?</comment>


An Experimental Course on Operating Systems - <AUTHOR> https://web.stanford.edu/class/cs140e/ <comment><USER2> If any Stanford students are reading this wondering if they should take this class:

Engler was one of my favorite professors at Stanford. He's kind, sharp, well- prepared, and consistently delivered great lectures.

One of the things that made him stand out to me are the insights he provided beyond what's in the papers we read in CS240. You can read the papers yourself, but the papers won't tell you things like "I think the reason this paper was accepted is different from the reason the author likely thinks it was accepted."

He's awesome, take his class. Find a good team, and, um, don't underestimate how much time CS140 takes. :)

<comment><USER3> Is the goal of the this class teaching student how to re-write the Pi3 's kernel/driver in Rust?

It is not that clear from the course syllabus.

"This course covers the following topics:

Disks, File systems, I/O, Threads & Processes, Scheduling, Virtual Memory, Protection & Security, Interrupts, Concurrency & Synchronization."

In theory, if those are the goals, one doesn't need Rust as part the first week's lecture.

Rewriting the Kernel in Rust sure makes a very interesting (and very tough) way to learn OS in 3 months.

<comment><USER4> It's not writing a new kernel in Rust, it's an OS course, where they touch on all the fundamentals. Instead of assignments being in C, they're in Rust.

</comment></comment></comment><comment><USER5> If anyone has looked at web frameworks in Rust, they'll have noticed one known as Rocket ([http://rocket.rs](http://rocket.rs)). The Rocket project is authored by none other than Sergio Benitez, who is _teaching_ Stanford CS140e.

<comment><USER6> I really should not have read that resume. Really doesn't help the overall inadequacy problem.

<comment><USER7> On the other hand:

 _At Google I worked with the Gmail performance team to decrease server downtime by detecting anomalous behavior before server failure. I designed and implemented an original anomaly detection algorithm based on local outlier factors._

Does anyone have any info about anything related to this?

I want to write a program to detect anomalous behavior in my systems too. (Mostly so I can completely ignore the useful information, but still.)

<comment><USER8> I can talk about my experience writing such a tool during my internship at a bank that rhymes with Oldman Bachs. Bear in mind, this wasn't my original project; since I had finished my first project, I was allowed to work on something else I find interesting. So it will probably not be very robust, but it worked.

The tool would run in trading engines and monitor different metrics of performance. CPU usage, while allowed to burst, shouldn't be sustained at 100% for a long time. Typically, these machines are monsterous and have hundreds of gigs of memory; therefore, they shouldn't come anywhere near 100% memory usage either. There's a bunch of other proprietary internal metrics that I can't really explain (stuff like latency of a particular kind of response).

Anyway, since I was most comfortable with writing the tool in Python (also, time was a constraint as I started working on the project towards the end of my internship), I wrote a modular tool with pluggable metrics. The reason why it wasn't a monolithic block: if the company decides to add a new metric they want to measure and follow, they should just have to write the logic necessary to retrieve that metric. The rest should be handled by my framework: anomaly detection, alerting relevant parties, and so on.

So banged out the framework and had just enough time to write two modules: CPU usage and memory usage (probably the easiest ones). With a simple moving window average and standard deviation, you can identify outliers: I marked everything outside 2*sigma as an outlier as it's better to have false positives than false negatives (but not excessively many false positives as that would be counter-productive and make humans ignore reports).

The alerting part was fairly straightforward as there was a built-in tool to do that. I ran a few tests with historical data and it was pretty good at detecting the anomalies that I would mark myself as a human. It could be better if someone smarter than could come up with a machine learning algo to do the same thing more accurately.

(I didn't productionize it as I didn't have the time.)

</comment></comment></comment></comment><comment><USER9> I have made a list of all the materials needed for this class with amazon links. Hope this helps people who would like to pursue this course from outside Stanford.

1\. 1 Raspberry Pi 3 [https://www.amazon.com/Raspberry-Pi- RASPBERRYPI3-MODB-1GB-Mo...](https://www.amazon.com/Raspberry-Pi- RASPBERRYPI3-MODB-1GB-Model-Motherboard/dp/B01CD5VC92)

2\. 1 1⁄2-sized breadboard [https://www.amazon.com/Qunqi-point-Experiment- Breadboard-5-5...](https://www.amazon.com/Qunqi-point-Experiment- Breadboard-5-5%C3%978-2%C3%970-85cm/dp/B0135IQ0ZC/)

3\. 1 4GiB microSD card [https://www.amazon.com/Samsung-MicroSD-Adapter-MB- ME32GA-AM/...](https://www.amazon.com/Samsung-MicroSD-Adapter-MB-ME32GA- AM/dp/B06XWN9Q99/)

4\. 1 microSD card USB adapter [https://www.amazon.com/Adapter-Standard- Connector-Smartphone...](https://www.amazon.com/Adapter-Standard-Connector- Smartphones-Function/dp/B01BXSKPES)

5\. 1 CP2102 USB TTL adapter w/4 jumper cables [https://www.amazon.com/KEDSUM- CP2102-Module-Download-Convert...](https://www.amazon.com/KEDSUM- CP2102-Module-Download-Converter/dp/B009T2ZR6W/)

6\. 10 multicolored LEDs [https://www.amazon.com/Multicolor-Flashing-Changing- Electron...](https://www.amazon.com/Multicolor-Flashing-Changing-Electronics- Components/dp/B01C19ENG4/)

7\. 4 100 ohm resistors [https://www.amazon.com/dp/B0185FCR66/](https://www.amazon.com/dp/B0185FCR66/)

8\. 4 1k ohm resistors [https://www.amazon.com/dp/B00CVZ46FM/](https://www.amazon.com/dp/B00CVZ46FM/)

9\. 10 male-male DuPont jumper cables, 10 female-male DuPont jumper cables

[https://www.amazon.com/Haitronic-Multicolored-Breadboard- Ard...](https://www.amazon.com/Haitronic-Multicolored-Breadboard-Arduino- raspberry/dp/B01LZF1ZSZ/)

Edit: edited for solderless breadboard link rather than a solderable one.

<comment><USER10> [Report of incorrect link deleted, as it has been corrected]

For the 100 and 1k resistors, I'd recommend something like this: [https://www.amazon.com/PIXNOR-Resistor-1ohm-10Mohm- Resistors...](https://www.amazon.com/PIXNOR-Resistor-1ohm-10Mohm-Resistors- Assortment/dp/B00SD6F6FC/)

That includes 20 1k and 20 100 ohm resistors, plus 20 each of 54 other assorted resistor values, and it costs slightly less than just buying the 100 ohm and 1k 10 packs that you suggested.

<comment><AUTHOR> No that is not the correct one, we are using a solderless board.

</comment></comment></comment><comment><USER11> Does anyone else think it's time for a new and promising operating system? The hegemony of OS X/Windows/Linux has basically gone on for a generation.

Shout-out to BeOS (the old geeks will know of it) which was the last promising new OS I encountered... and that was many moons ago

<comment><USER12> Here is another thought. One has to realize that nobody wants an operating system. People only use them because it is the only way to run the applications the users actually wants to use. If you could run an office suite, a browser and a mail client without Windows or Linux, that is what people would do. At best an operating system is absolutely invisible, realistically it causes additional pains over those inflicted by the applications. I can not really imagine how this could work, but a new non-OS would probably be a better idea than a new OS.

<comment><USER13> Application management, window management, resource management, document management, etc. OSs are more than just the applications they run, they provide the user ways to manage their workflow.

On the other hand, you know what OS was practically invisible? DOS. And DOS was pretty great, so maybe you're on to something.

<comment><USER14> MS-DOS wasn't that great. Oh, don't get me wrong, it's great at being a singer user, non-reentrant interrupt handler on a painful to program architecture [1]. A lot of applications skipped using device drivers entirely for things like the keyboard, video and serial I/O (using such made the program run more slowly).

Do you know how much work it was to redirect the input/output of an MS-DOS application? It can get pretty insane [2].

[1] You had to pick a memory model to compile against for one thing---tiny, small, medium, compact, large or huge. You had to deal with FAR and NEAR pointers, and it really drove home the point that sizeof(int) != sizeof(long) != sizeof(void *) when writing C on that system.

[2] [http://boston.conman.org/2015/12/13.1](http://boston.conman.org/2015/12/13.1) More info here: [https://github.com/spc476/NaNoGenMo-2015](https://github.com/spc476/NaNoGenMo-2015)

<comment><USER15> I wrote a fair number of DOS programs. The memory models wern't that bad, at least you had choices... I also wrote code on machines that had 64k address spaces, with soft banking. That was worse... What I remember being a huge PITA was memory management on macOS in the system 5/6 time-frame. I vaguly have memories of struggling with locking/unlocking handles.. Heck googling about it, turns up a whole wikipedia article which spends a bit of time describing it in general.

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

Anyway, in dos, .ost little utilities and such worked just fine in tiny (and you could use .com which simplified everything even more). Medium and compact were sort pointless because if you were writing anything you expected to grow beyond 64k then you used a HLL and let the compiler deal with most of the fiddly stuff. IIRC One of the compilers (may have been turboC) had an project/link option which let you cycles through all the memory models, and with a quick rebuild you could check executable sizes or run little benchmarks. I did a fair amount of programming in Turbo Pascal, and I just checked the manual, it basically hid the entire memory model argument, even going so far as to have that "overlay" functionality which was basically a software paging unit for your program which would load groups of methods from disk as necessary.

Yah, and I wrote TSR's too... and hacks to take over bios/dos INT calls, etc etc etc. These days it seems any software project that has been around for a few years is orders of magnitude more difficult than the stuff people claim was hard about DOS. Heck there are _network_ drivers in linux that are orders of magnitude more code (and more complex) than DOS or probably the vast majority of DOS applications. People simply didn't write 100 million line DOS programs so dealing with little hardware oddities is simple vs trying to ferret out VM barrier bugs in linux (or whatever).

</comment></comment></comment></comment></comment><comment><USER16> Sounds cool!

Mildly related: I found "Nand To Tetris: The Elements of Computing Systems" to be an amazing, bottom-up, hands-on approach for learning about the fundamental layers of computer architecture, from hardware to assembly to OSs.

<comment><USER17> A wonderful complement (albeit with significant overlap) is Charles Petzold's Code. It's written as prose so doesn't include exercises but the book is infused throughout with the mastery attained by its author. His synthesis of different ideas and the historical context he provides give a very nice perspective on computing. While nand2tetris makes for a good textbook to work through, Code makes for a better subway read.

</comment></comment><comment><AUTHOR> I am currently taking the class. Its an embedded systems + OS class that undertakes the challenge of writing an operating system for a raspberry pi 3 in Rust. The lectures aren't recorded sadly, but its the first time offering something like this and both Sergio and Dawson are fantastic professors!

</comment><comment><USER15> I guess its "experimental" as in your will in a lab setting with experimental (rust!?) code for traditional operations on an rpi.

Not that you will be experimenting with new OS concepts.

Which is sort of a shame because it seems much of OS research might be turning back to concepts that haven't been explored since the "RISC/unix" revolution in the late 80's early 90's proclaimed that multiple privilege level machines, capabilities, full ACL controlled operations, message passing kernels, and dozen's of other concepts wern't "fast" or fell to the wayside because the RISC and traditional unix model couldn't support them, while we continue to pay a huge hidden tax for the flat address/paged memory model...

</comment><comment><USER18> Note that the "e" is inspired from CS107e [1], the experimental version of "Introduction to Computer Systems". 107e also uses a Raspberry Pi to help students incrementally build up a working knowledge of basic system components including the processor, memory, and peripherals.

[1] [https://cs107e.github.io/](https://cs107e.github.io/)

</comment><comment><USER19> Looks similar to "Baking Pi" from Cambridge. [https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/](https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/)

<comment><USER20> I'm afraid I disagree. An OS course needs to at least cover virtual memory, processes and filesystems. Doesn't look like "Baking Pi" does.

<comment><USER21> That depends on what you mean by "Operating System". Lots of real time operating systems don't have virtual memory or file systems. But I would agree with you that the "Baking Pi" course covers little of what one would typically associate with an operating system, it is much more of a course on low level ARM assembly and interfacing with a frame buffer.

</comment></comment></comment><comment><USER22> Will this become the Rust's era Minix (which encouraged a certain student to do an improved version?)

<comment><USER23> That would be Redox.

[https://www.redox-os.org/](https://www.redox-os.org/)

<comment><USER24> Redox looks very cool!

It is very funny that their "Screenshots" tab is full of pictures of real computer screens:

[https://www.redox-os.org/screens/](https://www.redox-os.org/screens/)

<comment><USER25> When HDMI was new one of the things that went around gamer circles was the fact that it was possible to do video capture on a second computer by daisy chaining them together. That way your game isn't compromised (as much, you probably still have higher latency) by trying to capture video.

I don't know if any modern video cards can still do that, but it might be good for these guys to look into it.

<comment><USER26> You can still get HDMI capture cards as the more popular streamers use them so their main computer is unencumbered with video mixing.

Most video cards these days have built in support for capturing video and encoding it on the fly in hardware, with a <5% impact to performance. This wouldn't work for these guys as its probably a feature enabled by the driver.

</comment></comment></comment></comment></comment><comment><USER27> It looks like you need to be a Stanford student to be able to watch the lectures. Can anybody here recommend a good OS course(video preferably) for beginners?

I am a self-taught developer and would love to learn it in my free time.

<comment><USER28> You don't really need the lectures - I took the main version (cs140) with ousterhout. His notes are condensed and give you a good summary of the basics. They're also open to the public:

[https://web.stanford.edu/~ouster/cgi- bin/cs140-spring14/lect...](https://web.stanford.edu/~ouster/cgi- bin/cs140-spring14/lectures.php)

</comment></comment><comment><USER29> I hope they turn this course into a MOOC.

<comment><USER30> Sadly, Stanford isn't as commited as MIT to open their courses. Only a handful of them can be found on Coursera/Lagunita.

<comment><USER31> Do you know why?

<comment><USER29> Don't they have their own edx platform?

<comment><USER30> It's a fork of edx's platform called "Stanford Online –Lagunita".

</comment></comment></comment></comment></comment><comment><USER32> I'd love to follow along, but I don't see a parts list to get the matching parts.

<comment><USER33> Assignment zero lists the following parts:

        1 Raspberry Pi 3 (Model B)
        1 1⁄2-sized breadboard
        1 4GiB microSD card
        1 microSD card USB adapter
        1 CP2102 USB TTL adapter w/4 jumper cables
        10 multicolored LEDs
        4 100 ohm resistors
        4 1k ohm resistors
        10 male-male DuPont jumper cables
        10 female-male DuPont jumper cables

<comment><USER34> Oh _hey_ , so it's actually a course in operating systems combined with embedded programming? That's really neat!

<comment><USER35> I'm not sure I'd consider a system running full blown Linux with self hosted development tools, graphical environment and so on to be a typical embedded system.

Edit: I suppose they may not be running Linux on the Pi, certainly not the graphical variants on a 4GB card.

<comment><USER36> Not sure where you are getting that info... but xfce is just above 2gb. You could easily run a graphical desktop on that.

</comment></comment></comment></comment></comment><comment><USER37> Sweet! I have been looking for a good opportunity to build something with Rust in a domain I already know, and this looks like a right mix of everything!

</comment><comment><USER38> See also: [http://rust-class.org/](http://rust-class.org/)

(Note though that this uses Rust as it was in 2014.)

<comment><USER39> Yeah, with the caveat that Rust in 2014 was a very different language; we had a runtime back then!

[http://rust-class.org/0/pages/final-survey.html](http://rust- class.org/0/pages/final-survey.html) was very instructive to read at the time.

</comment></comment><comment><USER40> Is this supposed to be a replacement for using PINTOS to build an OS in C? I remember the PINTOS projects as one of the most rewarding things I worked on in my college career.

[https://web.stanford.edu/class/cs140/projects/pintos/pintos_...](https://web.stanford.edu/class/cs140/projects/pintos/pintos_1.html#SEC1)

<comment><AUTHOR> Its an alternative. Rather than using a virtualized environment, you build everything yourself for a raspberry pi 3. No scaffolding, nothing. and its in Rust!

</comment></comment><comment><USER41> Interesting. Can anyone take this course or Stanford students only?

<comment><USER42> Well, the lecture notes and assignments seem are available online, so one can follow at your own pace

Assignment 0: [https://web.stanford.edu/class/cs140e/assignments/0-blinky/](https://web.stanford.edu/class/cs140e/assignments/0-blinky/)

<comment><USER43> That's awesome. It's very well written. In just five minutes of reading, I learned what registers and memory-mapped I/O are and how they apply to the Pi. Old news to CS students but for this guy with a liberal arts degree, super helpful. I'm grateful that the document took the time to explain this kind of thing.

<comment><USER44> Did you complete assignment 0 yet?

</comment></comment></comment></comment><comment><USER45> It seems the 2 biggest hurdles of creating a new OS (aside from designing and actually writing the damn thing) is software support and driver support...

Silly idea, but how about a "super" terminal OS... that does a few primary things:

1\. Responsive clients for various UIs (X, VNC, RDP, SSH, Powershell, etc.) - Having a full UI to use my smart phone would be awesome. 2\. Run VMs (which can run docker, etc.) 3\. Uses some mechanism (wave hands here) on the remote machines to facilitate storage, computation?, graphics, audio, clipboard and printing on the local terminal. 4\. Strong support for a few devices. Pick a few network cards and graphic cards to support, perhaps a few other basics, and leave it at that...

I know it would still take years of writing a LOT of code, but this could reduce the lack of software support. Drivers are still a sticky issue...

(Yeah, like I said, a silly idea!)

<comment><USER46> Plan 9 sorta does 3. Can execute on one device, display on another, play sound on two others, and store wherever. This was always my pipe dream w/ that OS.

</comment></comment><comment><USER47> Have a look at the cheat sheet, it's extremely illustrative for intermediate Rust programmers:

[https://web.stanford.edu/class/cs140e/notes/lec3/cheat- sheet...](https://web.stanford.edu/class/cs140e/notes/lec3/cheat-sheet.pdf)

<comment><USER48> Here is the original link – it was made by Raph Levien:

[https://docs.google.com/presentation/d/1q-c7UAyrUlM- eZyTo1pd...](https://docs.google.com/presentation/d/1q-c7UAyrUlM- eZyTo1pd8SZ0qwA_wYxmPZVOQkoDmH4/edit#slide=id.p)

<comment><USER39> A quick note: while this is a good way to get a grasp on how these types work, it also exposes/implies things that are implementation details and not guaranteed. This is why we haven't put it in the docs, awesome of a resource as it is.

<comment><USER49> My feelings are hurt!

Nah, just kidding. An example of the kind of thing that might change, the current stdlib mutex implementation currently depends on pthread mutex objects, which can't be safely moved, so there's an additional allocation to box them. The parking_lot crate is an alternative implementation that interfaces with the system at a lower level, so can avoid this allocation.

I found I learned a lot about Rust's low level implementation details when making the chart, so can definitely see how it would be useful for such a class, and am very happy it's being used in this way.

<comment><USER39> <3

By the way, I'm extremely sad to be missing your talk at the Recurse Center; I'm in Canada until Monday :(

</comment></comment></comment></comment></comment><comment><USER50> For anyone interested in following up on the course, I have created a cs140e subreddit [0] as I think it will be useful for those interested. Feel free to join.

[0] [http://www.reddit.com/r/cs140e](http://www.reddit.com/r/cs140e)

</comment><comment><USER51> Wow, I would have loved to take this class in my undergrad. This looks really cool!

</comment><comment><USER52> Could someone explain to me how Golang would compare to Rust for this purpose? I'm a Golang newbie and I always wondered if it would be possible to write an OS in it (+ some assembly).

<comment><USER53> Golang isn't generally suited to real time or near real time systems (like operating systems) because of its garbage collector. It will pause (not for very long) whenever it likes to tidy up and that can cause problems when interacting with hardware where timings are potentially critical.

<comment><USER52> Thanks, makes sense!

</comment></comment></comment><comment><USER54> I'm pumped too see the new OS architectures Rust will allow for.

<comment><USER55> Same as C. Rust is basically C with hardcoded checks enforced and put in by compiler that good programmers already know to put in.

<comment><USER56> > Rust is basically C with hardcoded checks enforced and put in by compiler > that good programmers already know to put in.

I have a feeling you know absolutely nothing about rust.

Even the best programmers and programs in C have issues with what the borrow checker will catch. Moreover, the expressiveness of the type system is world's above and beyond any other main-stream (so not Haskell or ocamel) language. Saying it's C with checks is like saying French and Hungarian are the same, but with some different words.

<comment><USER57> I think you are correct about Rust being substantially different from C, but that's a nasty way of saying it ("you know absolutely nothing about..."). Is it really necessary to speak that way?

<comment><USER58> It wasn't that nasty. Might just be because I have no sympathy for people saying things like they are fact, yet don't know what they are talking about.

<comment><USER59> Except the context of the quote was OS architecture so dmitrygr was correct -- Rust will not provide different OS architectures.

Moreover, it _was_ mean-spirited. Probably because they were reacting to the second part of dmitrygr's quote.

<comment><USER39> On a fundamental level, sure, a new language doesn't inherently make a new architecture possible. But you have to think of it from an affordance perspective: what architecture does Rust make _easier_ or _better_?

Consider the Stylo project in Firefox, for example. Yes, Mozilla could have done the parallelization in C++ instead of Rust. They even tried! Twice! But it failed both times. That doesn't mean that it's impossible.

In my experience, this is what people mean when they say things like this.

<comment><USER59> Sure, but you're moving the goalposts :)

Look, I'm a big fan of Rust - I want to see it succeed. I go to Rust meetups in my city, I've advocated for it's adoption in my company, yadda yadda. But I don't these vague half-truths are good for the language or the community. In fact, I think they'll be harmful to the community over time as the language will fail to live up to expectations. When I started programming, Java was in the position of Rust. It was being given so many vague platitudes that it experienced push back a few years later as developers realized it didn't fix all their problems.

I don't mean for this post to be mean or condescending. Tone is hard to transmit over the internet.

<comment><USER39> I don't think it's moving the goalposts. It's where they were set in the first place. Furthermore, nobody is making promises of solving all the problems, the OP said they were interested to see what might happen, which is a very different statement than "this will happen" or "this will happen and fix everything."

That is, I 100% agree with your comment, but I don't see it happening in this thread.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER60> Rust + Rpi interests me and I might wanna follow along. Are they using an available kit from an online retailer ? Getting/shipping individual parts is a pain where I'm from.

</comment><comment><USER61> I wonder: is there room for a new OS to truly surpass Linux/Windows ?

I would love to see more commercial success for micro/nano-kernels (vs. the staple monolithic kernels)

</comment><comment><USER9> Can someone point to a reliable website where I can buy the required materials? I think this is going to be a big question for beginners.

</comment><comment><USER62> Welp. I dont even go to Stanford, but applied anyway cause it looked good. Wish me luck getting in :)

</comment><comment><USER63> I'm glad they transitioned into Rust. OS classes I've taken before were nowhere this cool.

<comment><USER64> UV actually had a Rust based OS class four years ago! The language was at something like 0.7 so I'm really excited to have this course with up-to-date Rust.

</comment></comment><comment><USER65> Rust + OS design seems like the sweet spot for teaching future systems programmers. Nice idea!

</comment><comment><USER66> Seems the chances of a non stanford student getting this class is pretty slim. Super lame.

</comment><comment><USER67> Can anyone from any corner of the world register for this class?

</comment><comment><USER68> Why was the title changed? It used to be "Stanford CS140e: Writing a Raspberry Pi OS in Rust"

<comment><USER39> HN usually prefers the <title> of the webpage, in this case, that's "Stanford CS140e - Operating Systems". However, it's already a link at stanford.edu, so the first half is redundant, but "Operating systems" is a zero-information title, so "An Experimental Course on Operating Systems" was used instead, as it's the sub-title of the page.

I'm not a mod, so I can't say for sure, but I bet that was the thought process.

<comment><USER25> Proving again that heuristics don't solve problems, they just make them less obvious.</comment></comment></comment>


Why Your Startup Shouldn't Hire a Marketer from Microsoft - <AUTHOR> http://www.rocketwatcher.com/blog/2010/12/why-your-startup-shouldnt-hire-a-marketer-from-microsoft.html

<comment><USER2> Conversely you may find a person who, when free of the political, hierarchical, and prone to play it safe environment that is Microsoft marketing (or many departments in many large corp's), will become a fantastic hire and combine their new found responsibility with years of experience to completely out-manouver companies with far bigger budgets.

At the end of the day, if you place more weight on a the employment history of the candidate than the person, you may as well just flip a coin when determining whether they will meet your needs.

</comment><comment><USER3> Very to the point. I got in the wrong way, I am a startup marketer currently in a large company, and trust me it's nuts. The one thing people think about last is selling. Everything is about the running political score and I just don't get it. We have marketers who make 210K sitting around doing nothing much, even worse, they aren't interested in technology or the stuff they sell. Damn man, it sux, the money is good for the while though.

<comment><USER4> The feeling likewise: most C-level executives don't care about the well-being of their employees.

</comment></comment><comment><USER5> Good overview, but it's important to keep in mind that there are definitely some very talented people at Microsoft that have their creativity and talents strangled to death by layers of horrible management.

Reading some of these blogs about Microsoft's internal culture (Mini-Microsoft and others) illustrates this pretty clearly and makes for very fascinating reading.

<comment><USER6> Very true. I generally agree with what the article is saying -- and there are exceptions to every rule.

MiniMSFT and others are indeed fascinating reading.

<comment><USER7> I would never hire MiniMSFT. Taking him/her out of Microsoft would ruin some fun reading.

edit: OK... I would hire him/her, but only after he/she left Microsoft. Denying MiniMSFT such a rich source of inspiration would be inhumane.

</comment></comment></comment><comment><USER8> Reasonable enough to say that people with big-company backgrounds often have expectations that amount to "first I'll hire 4 people to do the job you are expecting me to."

I would hire someone from Microsoft over someone from IBM any day. But I agree, I'd rather try and find some disgruntled Yahoo worker and at this point that ought to be easier.

</comment><comment><USER9> From personal experience, all four of the Microsoft marketing employees I've interacted with have been complete tools.

</comment><comment><USER10> The daily Microsoft bashing HN post. There are literally thousands of startups started by ex-Microsoft marketers, developers, sales people and they are doing great. Microsoft is definitely doing great as well.

People are smart and can adapt. They will fight for politics and budget in big organization and they will get work done at startups. Labeling someone as "non-hire" just because they worked in Microsoft is plain stupid. Neglecting so much success and real on the field experience - definitely not smart.

By the way, using the same logic - marketers from Google and Facebook shoud not be hired too? Or this will not appeal to the HN community, no Microsoft, so noone to hate.

Of course reading the OP author bio confirms that - senior positions at Siebel, IBM, etc - they are obviously THAT MUCH different from Microsoft, really. So much hypocrisy. So much bullshit.

Come on.

<comment><USER11> The microsoft bashing here is pretty minimal. Hackers in general do not like microsoft because it makes sub par lousy buggy ill thought out products, operates morally questionable business practices, and is fairly incompetent with new products.

Microsoft got lucky, once, by being in the right place at the right time (And having the right connections).

I'm not saying I agree with the OP or not, but any microsoft bashing that goes on is more than warranted. They have crushed businesses, held back innovation, wasted millions of hours of peoples lives trying to make IE not completely suck, etc

They do not innovate to improve users experience, they act to defend their monopoly. Look at the mozilla vs IE story. Once IE was dominant, they shelved development of it for years - it had served its purpose, which was to crush mozilla and hold back innovation of the web as a platform.

<comment><USER7> > Microsoft got lucky, once

To be fair, they got lucky a good many times. They wrote a BASIC interpreter (MITS even paid them to work on that) for the nascent personal computer industry that was mostly there when needed.

Microsoft's BASIC was the first language many of us learned to program in. The other day I solved Google's "are you a programmer" tests using both an Apple //e and a TRS-80 Model III (emulated with MESS). It was nostalgic.

<comment><USER12> I think it might be fair to say that MS has gotten "lucky" more times than probably any other tech company, including Apple. Maybe only IBM has gotten "lucky" more often, but they also have a much longer history.

<comment><USER7> Microsoft didn't have to count entirely on luck - the were also aided by some really incompetent competitors...

I remember shopping for a new desktop PC right after OS/2 2.0 was launched. IBM charged more for a PC with their own OS (even though it included Windows) than for one with Windows alone, the sheer boneheadedness of that baffled me so completely the person on the other side of the phone taking my order thought I hung up. In the end, I forked out the extra US$ 50 or so and got the OS/2 box. The OS was really nice, very advanced for the time.

At that time, running a Unix GUI on a PC was a ludicrous proposition.

</comment></comment></comment></comment></comment><comment><USER13> I am really amazed by the irony in the writer's bio:

"I've held senior positions at large global companies including IBM, Nortel, Siebel Systems (the world's leading provider of CRM solutions acquired by Oracle), and Sybase..."

<comment><USER14> I know her personally. This is what she currently does:

April comes into a startup that has a proven business model and brings it from 30ish people to IPO or acquisition. She is extraordinarily intelligent, technically knowledgeable, approachable, and successful. She is one of the key people in the Toronto tech scene, and even if she cut her teeth on big tech, she really is a growth phase startup person at heart.

With respect to this post, I actually don't care much for it, but some of her other ones are _gold_. Specifically I've liked:

[http://www.rocketwatcher.com/blog/2010/10/marketing- metrics-...](http://www.rocketwatcher.com/blog/2010/10/marketing- metrics-101-for-b2b-startups.html)

[http://www.rocketwatcher.com/blog/2010/05/a-new-marketing- fr...](http://www.rocketwatcher.com/blog/2010/05/a-new-marketing- framework.html)

[http://www.rocketwatcher.com/blog/2010/11/startup- marketing-...](http://www.rocketwatcher.com/blog/2010/11/startup- marketing-101-2.html)

[http://www.rocketwatcher.com/blog/2010/09/competitive- intell...](http://www.rocketwatcher.com/blog/2010/09/competitive-intelligence- startup-style.html)

<comment><USER13> Interesting, thanks for sharing. I'll check those out.</comment></comment></comment>


Assange: US Waging 'Lawfare' in Bid to Control the World - <AUTHOR> http://sputniknews.com/us/20151008/1028223233/us-lawfare-julian-assange.html <comment><USER2> >The concept explains that intricate legal developments are used as a substitute to a military occupation...Critics have argued that such initiatives actively undermine the sovereignty of governments

The very idea of the UN and treaties by nature undermine the sovereignty of governments, and that is obviously not an inherently evil thing. Yes there will always be criticisms when balancing the creation of an international legal framework that supports a stable international community at the cost of relinquishing sovereignty. However, I assure anyone that as deplorable as one might find US "lawfare" (if you buy into this argument) against Snowden or Kim Dotcom, that the US political actions are far better than military operations such as Russia into Georgia, and I am left wondering why SputnikNews seems to be suggesting that use of armed force (military) is a more legitimate way of expanding international influence than through international organization and bi-lateral treaties...why advocate for military protection of territory over diplomatic means, are we that far removed from WW2 we simply forget the consequences of might is right?

<comment><USER3> > _why advocate for military protection of territory over diplomatic means_

Because you are Vladimir Putin and your economic policies of cronyism have led to a general long-term economic decline (exacerbated by sanctions for things like invading Ukraine). You want your various media mouthpieces to play up a threat from competing powers; it will justify your actions to your countrymen, explain away your economic woes, and drive a wedge between them and people who advocate for political freedom.

</comment></comment><comment><USER4> Sputnik[1] is a Russian government-controlled website with very little credibility when it comes to anything Western. Secondly, this is Assange, while no doubt the US is guilty of a lot of things, Assange and Wikileaks' purpose seem to be an anti-US organization at this point.

I also find it ironic how a group "dedicated to transparency" aren't themselves transparent with their finances.

>The WikiLeaks chief said the US investigation of himself and others involved in leaking sensitive government information is a prime example of Washington engaging in lawfare

>"I'm an Australian, Why Is the US Investigating Me for Espionage?"

Is he serious?

[1] [https://en.wikipedia.org/wiki/Sputnik_(news_agency)#Receptio...](https://en.wikipedia.org/wiki/Sputnik_\(news_agency\)#Reception)

<comment><USER5> Instead of arguing where something is posted, it's better to concentrate arguments at things that matter. PG has an excellent hierarchy on where to concentrate disagreements [0].

And don't forget, BBC is also funded by a government. So is Canadian CBC. CNN also gets a lot of gov contracts and gov crossover.

And just recently, it was revealed that even 60 Minutes is engaging in propaganda on behalf of State Department [1].

Propaganda is truly everywhere now.

[0] [http://www.paulgraham.com/disagree.html](http://www.paulgraham.com/disagree.html)

[1] [https://twitter.com/Snowden/status/649628016268734464](https://twitter.com/Snowden/status/649628016268734464)

<comment><USER6> BBC is not funded by government. It is a separate licence fee and have governance in place to keep it at a very long arm length away from government. Which may be a reason why the current government want to change/destroy/modernise ot so that it can influence output.

<comment><USER7> The BBC is funded by a government tax on TVs [1], and to an outsider this looks an awful lot like government funding.

[1] [https://en.wikipedia.org/wiki/Television_licensing_in_the_Un...](https://en.wikipedia.org/wiki/Television_licensing_in_the_United_Kingdom)

<comment><USER8> > The BBC is funded by a government tax on TVs

It's not a tax on TV's. It's a license you pay _only_ if you watch live broadcast television. It is not funded through normal taxation mechanisms such as PAYE, VAT etc. Individuals and organisations decide whether they need to pay the TV License or not depending on whether they need to or not.

The license fee is collected by the BBC via private contractors (the major one being Capita) under the umbrella of the TV Licensing Authority. This money is paid to the UK government which then pays out to the BBC.

[https://en.wikipedia.org/wiki/Television_licensing_in_the_Un...](https://en.wikipedia.org/wiki/Television_licensing_in_the_United_Kingdom#Licence_fee_collection_and_use)

</comment></comment></comment></comment></comment><comment><USER9> I don't buy it. The US is bringing their cases to protect their interests and the interests of their economies. It's not about territory control, it's about industry control. I don't agree with how they're going about it, but I'm not going to make up motivations that don't fit just because of my disdain for it.

Of course, this is one reason why I'm not in politics.

<comment><USER10> _> It's not about territory control, it's about industry control._

He's talking about application of laws in foreign territories. Naturally, for the benefit of US and its own industry. How is that substantially different from what you're saying?

<comment><USER11> Every day we're hearing about another country attempting to apply it's laws on people not in the country. I've seen Canada, France, Germany. The US is huge in this, but they're hardly alone.

[1] Canada: [http://www.cbc.ca/news/canada/british-columbia/google- ordere...](http://www.cbc.ca/news/canada/british-columbia/google-ordered-by-b- c-judge-to-block-website-from-search-results-1.2679824) [2] France: [http://www.pcworld.com/article/2984524/privacy/france- reject...](http://www.pcworld.com/article/2984524/privacy/france-rejects- googles-appeal-on-right-to-be-forgotten.html) [3] Germany: [http://abcnews.go.com/Technology/story?id=98593](http://abcnews.go.com/Technology/story?id=98593)

</comment></comment></comment><comment><USER12> Good point made by a sketchy guy. :/</comment>


Draggabilly - JS library to make elements draggable - <AUTHOR> http://draggabilly.desandro.com/

<comment><USER2> This is great, it even provides hardware acceleration for browsers that support CSS 3D transformations (which is important on mobile devices), all without the overhead of jQuery UI.

</comment><comment><USER3> This is excellent!

Any plans on doing the same thing for resizing?

</comment><comment><USER4> What is bower? The link to it from your page appears to be broken...

<comment><USER5> Twitter's package manager for JS. <http://bower.io>

</comment></comment><comment><USER6> Nice one!</comment>


Ask HN: Review my startup/website: http://colate.it - <AUTHOR>

Hi Guys and Girls
I'm fairly new to web development and have just pushed a new personal project of mine online (with the hope that it will help get me a job!).
In short, the site gathers news links from various news outlets (i know there are probably plenty that do something similar) including less well-known sites in the West like Al Jazeera and China CCTV News to help give a more well rounded view (if the person wants). There is then an Opinions section where signed in users can write their opinion on a news story (the story doesn't have to be from my site). All users can read the opinions regardless of whether they're a signed in user.
You're feedback would be greatly appreciated but please don't be too harsh! I'm still learning and i know there's plenty more than can/should be done especially if i get some traffic.
Thanks so much <comment><USER2> I think the platform is good. It's simple and easy to read. The content is just RSS stuff so try to add something interesting. Checkout [https://www.zublim.com](https://www.zublim.com). They are working really hard on getting quality content that's not just murders rapes and wars. But I think your layout is better. Without good original content nobody will use it.</comment>


Ask HN: How do you manage versions of non-code files? - <AUTHOR> Does anyone has a recommendation on how to do version management of non-code files?
For example - sharing presentation with designer for polish, who then makes some adjustments but we still want to keep 2 version to compare and merge later.
Then this presentation is sent out to another customer and some slight changes are required for that. In the end you end up with a ton of folders each with 2-3 versions of the same content..
A Git-type system with branches would be perfect, but you can't force everyone to use command line interface <comment><USER2> Google Drive has version management, so you can have keep everything in one Slide file, and review changes.

I think dropbox has it too

</comment><comment><USER3> > but you can't force everyone to use command line interface

Tortoise SVN.</comment>


What do you think of NANO, the cryptocurrency? - <AUTHOR> https://nano.org <comment><USER2> Nano is lightning fast and has an excellent mobile wallet. Very simple to use because there is no fee to set and no fee to pay. It is a near perfect peer to peer payment network. It has been a pretty awful investment for most of its existence.

</comment><comment><AUTHOR> Here's a good article explaining why centralization is unlikely to happen in NANO: [https://medium.com/@clemahieu/emergent-centralization-due- to...](https://medium.com/@clemahieu/emergent-centralization-due-to-economies- of-scale-83cc85a7cbef)

</comment><comment><USER3> Works as intended with no extra fluff or overpromises.</comment>


Programming Languages in 2014 - <AUTHOR> http://news.kynosarges.org/2015/04/05/programming-languages-in-2014/ <comment><USER2> Ode to the javascript would be a better title. Yes, javascript is getting more popular but what would be interesting is to see how javascript growth compares with growth of it's derivatives or languages that compile to it. The sheer amount work done to avoid Javascript at its current state is mind-boggling.

</comment><comment><USER3> Wait. Python is growing? Somehow something feels off. I'm guessing that's not in the web dev field but rather in the data analysis field. Been keeping an eye out for remote web dev work with a company using python and best practices from extreme programming (especially TDD) and it's almost impossible. The most common stack I see from that kind of company is rails or a js based stack (purely subjective observation there).

Need to take a more careful look at this stuff.

<comment><USER4> > I'm guessing that's not in the web dev field but rather in the data analysis > field.

I believe this is correct. Python is not likely growing in app development, but for data analysis and related backend tasks - in the same areas R is seeing a popularity boost.

<comment><USER3> Bummer for me. Learning ruby these days and trying to pick up other js related things. It's utterly overwhelming.

<comment><USER4> It is, but does not need to be destructively so. Become an expert in a few, and competent in several (over time). If app dev is your thing, with Ruby/Rails and JS you probably can't go wrong. Pick up some PHP for when you (will) encounter it.

</comment></comment></comment></comment><comment><USER5> > _Dart now always compiles to JavaScript_

Client-side Dart code, yes. But that's something you had to do for compatibility reasons anyways.

Also, don't forget that Dart also exists outside of browsers. It's a fast scripting language with excellent tooling. I use it for almost everything nowadays.

They are also working on a second JIT-free VM (Fletch) for iOS and similar locked-down environments. It's small, highly concurrent, pretty fast, and it supports atomic code updates via some wire protocol. So, Dart doesn't just compete with TypeScript on the browser side, it also completes with languages like Ruby, Python, and PHP on the server side and even with compact embedding- friendly languages like Lua.

Dart's future looks bright, but it's definitely a lot less browser-centric than initially anticipated.

</comment><comment><USER6> Anybody else get the feeling the author of this post really likes TypeScript?

<comment><USER7> Well, to be fair, saying a JS code-slave (of which I am one) really likes TypeScript is like saying a malnourished man lost for a month in Death Valley sustaining only on dead maggots and his own urine really likes dining at the Home Town Buffet. He would already have been overjoyed with some coffee and harmony, yet the gods decided to give him a real meal.

You won't find a single Javascript engineer who hasn't been tortured by "Undefined is not a function" or worse on a daily basis, so something that promises to liberate us from this evil is always appreciated.

<comment><USER8>
      "use strict";

<comment><USER8> I guess because of karma or something I actually got the "undefined is not a function" error today. And I had no idea what was wrong!

Tried the same in NodeJS and that gave:

      Object  has no method 'bar'

So I guess it depends on what implementation of JS you use for development. Still JS is much easier to debug then assembly (compiled languages).

</comment></comment></comment></comment><comment><USER9> It seems it's a good thing I made a resolution to really grok JavaScript during 2015.

Also, sad to see Ruby usage go down. It's my day-to-day language. But then again, it's just a language/tool.

<comment><USER10> I'd take these rankings with a grain of salt.. still see quite a large demand for Ruby (granted, mostly Rails) devs and gigs.

</comment></comment><comment><USER11> R seems to be doing well. What's the explanation for the strong growth in R on github in Q1 and Q2 2014?

[http://githut.info/](http://githut.info/)

(Scroll down to "TOP ACTIVE LANGUAGES")

</comment><comment><USER12> Will be interesting to see how Microsoft adopting GitHub and Open Source effects these numbers next year. Although I suspect the cross platform .NET support would make more of an impact.

</comment><comment><USER13> R is in the top 20!</comment>