Ask HN: Why won't your company hire remote workers? Why not work in an office? - <AUTHOR>

This last set of "Who's Hiring?"[1] and "Freelancer? Seeking Freelancers?"[2] threads made me realize that there are two main groups that can help each other, but decidedly won't. It seems there is a large group of qualified and willing workers that have a strong desire to work from home, and another separate group that wants qualified workers to work in the physical seats that they provide. The other interesting wrinkle in all this, is each side is usually willing to compromise on other important things, just because of the physical location of where the work is done. On the side of the companies, there is a large unmet demand for skilled workers, to the point where compensation packages spiral out of control and barely qualified people get treated like royalty. On the freelancer side, people are willing to work oddball hours, at significantly lower pay, to have the freedom of sitting at home to work.
So my question is two parts: 1) If you work in an office, why won't your company let workers telecommute full time? 2) If you telecommute, why are you unwilling to work from an office
<comment>
[1] http://news.ycombinator.com/item?id=4857714
[2] http://news.ycombinator.com/item?id=4857717 </comment><comment><USER2> I think the bigger and more established the company, the more willing they are to allow telecommuting full time. I know people who work for Bank of America and IBM and they have never been to the office. Those companies have tens of thousands of employees, and the math just makes sense for them. Each remote employee is money saved on office space, parking passes, pots of coffee, etc.

For smaller companies, it seems to be harder to accept telecommuting. It could be that in smaller companies, the focus is growth, which is often aided by the type of face-to-face collaboration you get from having everyone in the office. Or it could be that bosses just don't trust what they can't see, and in smaller companies, they are in a better position to regulate it.

The strange part is, I am many times more productive working from home than in the office, and I have demonstrated it on many occasions at multiple companies. Sometimes I can get a whole week's work done in a few hours at home. Other times I sit in the office and surf the 'net all day, not getting any work done. The bosses have never complained when they catch people goofing off at work, as long as they put in a full day, but they are always suspicious of people who work from home, requesting email updates throughout the day.

</comment><comment><USER3> Dedicated to telecommuting here, for so many reasons that I hardly know where to begin:

* I don't want to lose 2h/day to unpaid work (i.e. 1 hour commute each way). That's 500 hours/year if I take two weeks vacation, or a little over 60 8-hour workdays per year -- time that I'm away from my loved ones and from my work -- what a waste!

* In an office environment, especially the now-trendy open office plans, it is difficult-to-impossible to manage interruptions and actually get work done efficiently.

* Most of the better jobs in my areas of expertise are outside Indianapolis, but I'm committed to staying here for family reasons.

* By working from home I avoid the tendency to eat poorly, the inevitability of getting trapped in close contact with smokers who set off my allergies, and don't bother people when I need to get up and _move_ , which means I do that more: all things that improve my health.

* Working from home means I don't have to take time off if my kid is home sick from school or has a day off, I don't have to stick him in day care, and I can keep a more stable work schedule despite the furnace guy coming or a package being delivered or whatever.

* Working from home means I can manage my work space the way I want, complete with one standing work area and one sitting, a loud-as-heck metal buckling-spring keyboard, country-western music (yes, you read that right), fountain pens, and a steady stream of oolong tea.

* I think better when I work from home, because I can step away from the keyboard and run kata for ten minutes when I'm stuck, grab the laptop and sit outside or at a local coffee shop for a change of pace, or whatever I need to do to get my mind churning.

* I have useful things like email and chat logs to help me make sure I know what's going on, as opposed to someone waylaying me in the hall on the way to the restroom and assuming that I will accurately remember what they wanted when all I really want to do is pee.

* Remote work generally comes with more flexible hours than in-office work, which means that I can accommodate parent-teacher conferences, my karate schedule, etc. while still working full time.

</comment><comment><USER4> The short answer for why I work 100% remote? Because I can.

That's really the single greatest feature of being a developer today. You can do your thing from pretty much anywhere in the world with no reduction in throughput.

I can (and have) set up shop for the winter on some remote Central American surf break. I can (and have) moved my main residence to a small village in the French countryside where the quality of life is good and there's enough bouldering to last me a lifetime of afternoons off. I can (and have) simply packed my whole development world onto a 12" Thinkpad and headed off on the road for an entire year.

And all those places have wifi. And I can work there. So I do.

So even if I found a company that did happen to have an office right next to that perfect left reef pass off the coast of Sumatra, I probably still wouldn't want to commit myself to working there full time. I already have an office there. As well as everywhere else I'd like to be.

It didn't used to be like this. And it still isn't for most professions. But it absolutely _is_ for software. As a developer, I think you'd be crazy to pass up on it.

So yeah, that's why.

</comment><comment><USER5> Aside from the "I need to see you working" aspect, which reflects not only on bosses but also investors (have to justify that schweet loft in SOMA that's costing an arm and a leg), there's also the concern of IP leakage- code can be copied by a competitor, server access can be gained, and sensitive company activities are harder to keep under wraps.

Doesn't matter that these are probably just as if not more likely to come from the office itself than from a remote worker.

I think in the end it comes down to access; if the server barfs or the CEO wants to know why X is X and not Y, they highly value that in-person access, dispatchable in seconds rather than hours or days. They want a living, breathing being to do XYZ to. Employee productivity takes a backseat to pointy-haired-boss productivity (and that of their cousin, pointy-haired- investor), and since the employee isn't signing the checks..

I think it'd make an excellent thought experiment, particularly with bay area rents being what they are, to try to launch a company where all staff must reside in the same structure but don't have to work from there (or are even expressly forbidden from doing much work there). Instead of "you have to work here, where you sleep isn't our problem" it could be "you have to sleep here, where you work isn't our problem".

Employees' rents tend to drive company's cash burn far more than meets the eye (An $800/mo. bedroom, plus 50% for state & fed income taxes, plus ~25% for payroll taxes, ends up socking a business' bottom line for almost $20k, when the business could spend half that directly for the same effect), and an employee will get far more use out of a bed than a desk (since the desk can be their lap, coffee shop, public park, outside, etc.).

Why won't freelancers work from the office?

1) The office is 1,000 miles away and you have ties to where you live now

2) The office is in a country you don't qualify to work in

There are philosophical reasons why some freelancers choose to be freelancers, but I think most choose the role because it's the only one possible given where they live.

</comment><comment><USER6> I really wish I could do both. I've been telecommuting for almost 5 years now and I'm about to go insane (not to mention that its not a good way to make lasting connections or learn from your peers, among other reasons I dislike telecommuting). On the other hand, I remember working in an office and being 'forced' to be there every day at a certain time is anathema to how I think programmers should be treated. I'd like it if the entire staff comes in about two days a week and can otherwise use a shared office space whenever they want. In fact, I think there's probably a business opportunity there for co- working space owners.

</comment><comment><USER7> This is something I've been thinking a lot about lately.

In the employer/employee relationship, I think the balance of power has tipped too far towards the employer. I'm supposed to show up at their office for eight hours a day, five days a week, fighting serious traffic both ways, which saps a lot of my energy. Leaving for any reason other than lunch is frowned on. I won't have any control over other people interrupting me and making noise. I'm left with no choice but to structure my entire life around the job. I'm more than willing to work hard, but that's too much to ask.

By working at home, I can take a nap when I'm feeling unmotivated, take two hours off on a nice afternoon to walk my dog and then make up the hours later when the sun has gone down, be at home to meet the repair man, and so on. My quality of life goes up by a _lot_. This is so important to me that I'm willing to take a serious pay cut to get it.

My experience is that working for a company that merely _allows_ remote workers isn't enough. If the majority of the company works in a central office, you are at a constant disadvantage. It's not that your coworkers are conspiring against you, they just aren't going to include you in every hallway meeting that you might have otherwise participated in. So if you want to be a full-fledged team member in good standing, but still work remotely, you almost _have_ to work for a company that is 100 percent remote.

I am fortunate enough to have just such a job, right now, working on iOS apps. Boy, do I ever love it. I can only hope that it continues to work out for me, for a long time to come.

<comment><USER8> _In the employer/employee relationship, I think the balance of power has tipped too far towards the employer. I'm supposed to show up at their office for eight hours a day, five days a week, fighting serious traffic both ways, which saps a lot of my energy. Leaving for any reason other than lunch is frowned on._

I agree this is usually the case, but I don't think it's _tipped_ towards that: it's been like that since at least the 19th century, and is basically what mass employment in companies looks like. If anything, the employer's control over working habits is somewhat more relaxed now than it used to be, especially in tech. Programmers in 1960s IBM had to follow dress codes, and had to be in the office at 8am, whereas most tech companies today are pretty relaxed about both dress codes and shifted work schedules (e.g. 10am-6pm).

</comment></comment><comment><USER9> For (1), from a young company's perspective, I've found it much easier to communicate and steer in the same direction when a teammate on a project is in the same room. As another person pointed out, face-to-face collaboration is vital at the growth stage.

As for (2), I sort of telecommute (work from a cafe or public place) sometimes when I need to work on an individual task that requires some creativity or sustained concentration. Changing my physical environment from time to time also seems to help stimulate creative juices. During those times, the office environment can be detrimental.

</comment><comment><USER10> I hate working in an office, I don't know why I've been trying to find a small space to rent myself.

So far I'm loving working remotely when I can get the peace to do so - we have a 1 year old and my soon-to-be wife is out Monday-Friday. There's nothing better than making money while sitting in your house coat :-)

</comment><comment><USER11> Hiring a new employee to work remotely requires employers to give a lot of blind trust to someone that is a stranger. I think trust should be earned not given so I would not let someone start off by working remotely.

The company I work for has been burned several times by remote software consulting firms (some well regarded) that created garbage applications. They now require all work be done in the office, and (speaking on their behalf) the difference is very significant. Communication is the key to success, and remote work really complicates things unless you work hard to have a great communication infrastructure in place.</comment>


Does your startup pass The Sleep Test? - <AUTHOR> http://markmaunder.com/2010/does-your-startup-pass-the-sleep-test/

<comment><USER2> For those of you whose businesses should pass the Sleep Test (as in, have no permanent impediment like requiring sales presentations for $75k authorizations in B2B) but don't, I really can't recommend SEO enough. It is the gift that keeps on giving -- today, tomorrow, and until the end of time -- and it works whether you're asleep, at a day job, on a date, etc. Similarly, display advertising, search advertising, free trials, and automated fulfillment. (When I found you could send someone a CD with a HTTP POST I nearly had kittens.)

<comment><USER3> What resources would you recommend for learning more about SEO (either online or in books) ?

<comment><USER2> This is a broad topic, like "What would you recommend for learning programming?" I recommend the SEOMoz blog, the SEOBook blog, and building stuff. Much like programming, you can read yourself up to a low intermediate... after that, you learn by building, seeing what worked, building some more, seeing what worked, etc.

(SEO is as much a marketing challenge as a technical challenge, and for that part of it, you can cross-apply any marketing books you want. "How To Win Friends And Influence People... To Link To You".)

</comment></comment></comment><comment><USER4> Isn't this pretty obvious?

Oh, btw, that first morning when you wake up and find out you earned money while you were asleep... feels great.

<comment><USER2> Just wait until the day you spend seventeen hours at the day job, collapse at a hotel for six hours prior to doing it again, and on waking and turning on your Kindle found that you made more while sleeping than you did while working.

That feels... great. Just freaking great. _sigh_ 30 more days.

<comment><USER5> What do you have on your Kindle that tells you how much money you made?

<comment><USER6> The kindle as a simple xhtml browser. So any basic website that works well with mobile browsers will generally work.

</comment></comment></comment></comment><comment><USER7> This article may create a wrong attitude towards customers and business imo. I believe it is indispensable to go out and talk and listen to people instead relying only on online-tools (by the way, that's what 37signals always have done, too). A company that is happy to pass the sleep-test, is very likely to start drifting off...

</comment><comment><USER8> Unless your business earns revenue while you are sleeping, it won't scale.

I find this statement oversimplified. I works for some models like basecamp, but some social services's business model can be simplified to "register for free and WE will pay you $100(ok, maybe not in cash but in value that they spend on average user/ or value that user gets of using them)". However as we can see some of these services growing really fast and probably can be huge success in future, just by monetizing their huge audience.

So i guess initial statement is mostly address bootstrapped startups, not taking VC/angel into consideration. I'd modify it to smthg like:

Unless your business earns revenue or traction while you are sleeping, it won't scale.

<comment><USER9> Presumably, when they attach the monetizers to their huge audience and begin extracting money from them, it will happen even when they sleep, so the statement still stands.

</comment></comment><comment><USER10> I guess Chili's doesn't scale?

<comment><USER11> "If you're a brick-layer who employs other brick layers and also employs a sales person, driver, accountant and all the other business components so that your business runs while you're not there, you CAN scale."

So yes, Chili's scales. The owner(s) of franchise granting rights makes money from franchisees while they sleep. The owner of each franchise makes money from wait and kitchen staff while they manage their money and buy another franchise.

</comment></comment><comment><USER12>
      [To be able to scale] your web app business must also:
      1. Not require additional staff time per customer

Well, I guess that means immensely succesful enterprises like Facebook and Twitter don't scale. After all, they've been hiring more and more people while growing, in part to deal with all their customers.

<comment><USER13> It's there, in the end:

 _Final caveat: I've written this post discussing this concept in absolutes i.e. you either do or do not pass the sleep test. Of course in reality there is not a single web app business that does not need to employ more staff as their revenue and customer base grows. Google is a fine example of a business that is designed to avoid having to employ more people as revenue or customers grow and they employ over 20,000 people today. But this test is a useful way to measure and think about how efficiently your business will scale._

</comment></comment><comment><USER14> passive income + good content (which is inherently viral)</comment>


Blockchain's Occam Problem - <AUTHOR> https://www.mckinsey.com/industries/financial-services/our-insights/blockchains-occam-problem <comment><USER2> Centralisation is much simpler than decentralisation. Decentralisation therefore only has value if it's able to overcome problems posed by centralisation, e.g. censorship of finicial transactions. Therefore, blockchain's only viable app is avoiding / defending oneself from government / banking controls. Every other use case is better suited to traditional centralised architectures.

</comment><comment><USER3> > McKinsey's work with financial services leaders over the past two years > suggests those at the blockchain "coalface" have begun to have doubts. In > fact, as other industries have geared up, the mood music at some levels in > financial services has been increasingly of caution

Who writes this stuff? I assumed with McKinsey you'd at least get exceptionally clear and concise communication and analysis.

Granted all the assumptions are likely to be made up and the conclusions nonsense, but still.

<comment><USER2> They need to make money still. So the pitch now seems to be: hire us to clarify the confusion for you. The pitch was previously: hire us to ensure you don't get disintermediated. I see this article as capitulation. And about time.

</comment></comment><comment><USER4> In case of Goldman an article like this was followed by an acquisition of a crypto startup (Poloniex) about a year ago.</comment>


Ava: A refined, futuristic test runner - <AUTHOR> https://github.com/sindresorhus/ava/# <comment><USER2> Is it futuristic because it runs tests concurrently?

<comment><USER3> It also shoots lasers, runs from the gpu and is in the cloud

Edit: despite i made myself giggle, I realize this comment is disrespectful to the hard work the ava team put in. I will stand by it though because I believe its to the benefit of people to realize how intention and theme doesnt necessarilly match reality. But I love spaceships more than coffee tbh (hard competition though)

Edit: i love how my comment was upvoted before my second. Glad we are a thoughtful group. Basically that tells me emotional responses are rewarded/punished rather than arguably productive. Criticism is important

</comment></comment><comment><USER4> Started using it with Enzyme, fell in love with unit tests again. Upgrade your tired old Mocha/Chai tests today! Keep Sinon though, Sinon is chill.

</comment><comment><USER5> Is this a test runner like karma or a testing library like jasmine?

<comment><USER6> Jasmine

</comment></comment><comment><USER7> Also discussed here:

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

and here:

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

</comment><comment><USER8> Happy contributor to this project. It's great! Small useless nitpick: It's "AVA".

<comment><USER9> HN auto-titlecases things, Afaik.

</comment></comment><comment><USER10> tl;dr: JavaScript test runner that runs tests concurrently and is designed with ES6 features in mind

</comment><comment><USER11> Considering it is still single threaded, does the fact that it is async really matter unless your tests do a lot of I/O?

<comment><USER6> AVA also run test files concurrently in separate processes.</comment></comment>


The Ongoing Quest for the 'Brain' Chip - <AUTHOR> http://techcrunch.com/2015/01/31/the-ongoing-quest-for-the-brain-chip/

<comment><USER2> Please,

I'm hardly alone and go to send that one of the largest problems facing us is computer science industry right now is that we have rampant complexity is just too much goddamn complexity.

So it's return first principles find a cleaning clear basic notation laws of form notation is a basic clear and very easy-to-use translates directly into digital logic circuits can emulate CPUs and design new CPUs. These things will be easy-to-understand easy to teach, and also easier reason about and feed to things such as the total machine.

Oberon System provides user interface metaphor superior as well as complete and well integrated system and a small package again it's easy to learn and teach and use. Plus well-documented. I have a strong suspicion that although there may be others there is a certain essence or simplicity to the laws of form basis and then adding on the joy language metaphor or notation and then using the higher order software metaphor as a guide to implementation. The form of software that should've all is more or less single corpus with variants of the single corpus being like how the Oberon system has everything included and one CodeBase and you're just extending it you don't have one central CodeBase that is extended but re-factored extended re-factored integrates and supply in all the pushbutton intention.

That flight we have a reasonable software system we can begin to implement things like the narrative interface theatrical design Jeff please her face and have personally have had a hard time explaining… Essentially our nervous system allows us to notice small cues like a tiny twitch in the corner of your eye can grab your attention let you know that you know the dogs there or shut subtle shift of your cats body language but you know whether it's hungry or wants to go outside or whatever 40 meals for paying attention to the reason why our display systems and peripherals couldn't achieve the kinds of subtlety resolution needed to engage with these companies when you're logical systems on humans we need to get to the point where our computers are instead of inscrutable masses mostly hidden rules they're very simple mechanisms that it responded very so please understand ways but with a great degree of discrimination subtlety such that you don't just like whiteys Marshall metaphor but just a guess sword is a decisive or simple device Marlice at Olathe lever with you sharpen bitch but people talk about when you get really good at swordplay outcomes an extension of your arm the same thing happens with any tool or thing that he's physically for one time even though to look self maybe somewhat subtle you can extend your sensorium and your intention your motor muscles memory into the tools speak and it literally become something like an extension of your body just like your arm is essentially here's your skeleton in your arm and your flesh form such as framing How to use the first place and I stress going to it and just learn how to adapt it and that's part of your structure so our computer systems to be like that but currently they're digging form of like broom or a hammer or sword it's mushy and that you can't get that kind of reliability to keep shifting like quicksand or mosher Puddy under your hand as you try to use so that's where current system suck and that's why I think this new system will be better since much simpler and relaxing very direct interface pushbutton he automatically no way but then we can make it subtle and detect you know find gradations of your order bottle outputs as it is and for peripheral and it can display fine no visual cues and things that engage your nervous system smore speaking its own language as opposed to just to know hey look we can make decent flasher flop up-and-down is not terrific let's let's make it apparel ask the background image as you scroll are we special accessing you know you do because you can not because the deal is spectacular for the particular kind of information you're trying to present or because it really enhances your document it's stylistic thing right ourselves where is Francis you have some's resume in your face it also includes kind of painting or moving around you could have the background shifting into me and parallax and it's actually giving you kind of 3-D psychological map remodeling reference point you know for how the things the virtual space return are trying to move.

<comment><USER3> I'm reasonably sure that the comment is either made by troll or someone suffering from mania.

<comment><USER4> I took a look at some of the poster's other comments and they were coherent. This one sounds like a Markov chain generator or dictation gone wrong.

Or mania. That's a possibility.

... Getting downvoted? Seriously? Anyone want to step forward and claim the original comment made perfect sense?

<comment><USER5> I agree, it's either a freshman attempt at a turing test machine or someones account got hijacked.

<comment><USER6> or most probably someone is showing off his AI ;)</comment></comment></comment></comment></comment>


Lumia 920 and Lumia 820 With Windows Phone 8 - <AUTHOR> http://daringfireball.net/linked/2012/09/05/nokia-lumia

<comment><USER2> Really love what Nokia has done with the Lumia line. Definitely the best handsets running Windows Phone, and if I weren't so enchanted by Apple's walled garden, I'd probably consider it over the next iPhone.

The Lumia 920 is the uniPhone in all the right ways. Reminds me very much of what Palm tried to do with webOS and the Pre — Microsoft and Nokia are just in a better position all around to pull it off.

Having said that, very much bummed by an announcement of what seems like a great product that doesn't include pricing and/or ship dates. As to why they were announced before the new iPhone, it seems obvious to me that if they aren't ready to ship, you'd at least want some mindshare to stem the tide of the looming iPhone launch. I bet at least some people will wait to upgrade.</comment>


Nice syntax – Popular languages' syntaxes compared - <AUTHOR> https://areknawo.com/nice-syntax-popular-languages-syntaxes/ <comment><USER2> I find it really annoying that the author would write code in C#, C++, and JavaScript differently even when the languages share the same syntax for that area. For instance, even when the languages shared the same syntax for do- while, in some versions he would write the while condition on a separate line and others not.

I'm also not sure what Python is doing in there. It's not a very C-like language. And if he wanted to show the diversity of different ways of doing things, he seemed to have gone out of his way to only showcase a family of languages that are unusually similar to each other (apart from Python).

Additionally, the comparisons fail to actually show where the languages are different or the same. He claims that C# only has 3 types of loops: do, do while, and for. Then he compares that to Python which he claims only has two: for and while. The problem is that Python's for loop is actually C#s foreach loop. This would actually be a very good way to illustrate that Python loops are conceptually different from those in other languages and how generators are built into Python. But he ignores that, while also ignoring other Python constructions which are pretty unique to Python as a language. As far as I know, C# doesn't have anything equivalent to Python's while-else or for-else loops. I might go so far as to say that the information provided about loops in these languages is incorrect.

My last criticism is that if we're meant to compare these snippets of code, it would have been much more readable had they actually been placed side-by-side, rather than lay out everything vertically.

</comment><comment><USER3> This is using Python 2, which is end-of-lifed. Those bare print statements are gauche. Python does have a variable keyword, `global`.

While JavaScript _can_ omit semicolons, it's an incredibly bad idea outside of console/Node REPL. In particular it'll merge adjacent closures or constants, and you'll have an incredible time trying to find that error. Semicolon everything.

The arrow function as ()=>{} is clearer and less likely to suck up adjacent terms.

There's no point in even showing C#, since it's just Java with the capitalization swapped. Go, as well, but at least it's slightly different.

OP should learn some languages which aren't just FORTRAN-with-C-syntax, like Scheme (or any LISP), Haskell, ML, etc.

</comment><comment><USER4> If you like this, I think you'll like [http://rigaux.org/language- study/syntax-across-languages.htm...](http://rigaux.org/language-study/syntax- across-languages.html) more.

<comment><USER5> Thanks for sharing; I found it more interesting than the article.

</comment></comment><comment><USER6> This article fails to bring up a couple of points I thought might be useful, particularly when talking about C++ and Java. In particular:

* Talking about the C++ type system without mentioning templates is selling the language short.

* Both Java and C++ have some form of type deduction in newer versions of the language.

* Both Java and C++ have for loops that work on collections.

</comment><comment><USER7> This reminded me of language / library attributes that I've been delighted by over the years ...here's a few:

C :

\- function pointers combined with structs.

\- Ability to use pointers to go anywhere on the machines address space (think embedded, kernel code etc) and muck with registers, shared memory etc.

C++ :

\- smart pointers - shared_ptr and friends. I'm not a big C++ fan in general but when I learned about smart pointers I was really impressed.

Java :

\- interfaces - after treading around C++ objects in the 90s, interfaces were a dream

\- 'Runnable' interface and Thread class coupled with any object's wait(), notify() and notifyAll() methods.

\- generics

Javascript :

\- async / await ..once I figured out how this worked i was really impressed.

\- object literal syntax. (Perl hashes were also pretty delightful years before - but not quite as much as JS)

Python:

\- Iterators and the litany of looping and ranging constructs.

</comment><comment><USER8> [http://hyperpolyglot.org/](http://hyperpolyglot.org/)

</comment><comment><USER9> This is a minor nitpick but I feel that the usage of the arrow function in Javascript was overly verbose.

Instead of:

      const add = (a, b) => {
        return a + b;
      }

It could be written as:

      const add = (a, b) => a + b

Or functions can also easily be turned into curried functions by doing:

      const add = a => b => a + b

Which can be really powerful when used properly.

I felt it was worth mentioning, but I understand that the goal of the article was not to provide a in-depth comparison.

</comment><comment><USER10> I've got to say that none of those are nice, because none of those are Lisp.</comment>


Fight Malaria One Mosquito at a Time by Altering DNA - <AUTHOR> http://www.nytimes.com/2014/07/17/science/a-call-to-fight-malaria-one-mosquito-at-a-time-by-altering-dna.html?_r=0

<comment><AUTHOR> In papers published yesterday in eLife and Science, Harvard scientists including George Church reveal how Cas9/CRISPR genome editing tools can be used to create powerful "gene drives" to artificially shape the evolution of populations.

Source articles: eLife: [http://dx.doi.org/10.7554/eLife.03401](http://dx.doi.org/10.7554/eLife.03401) Science: [http://dx.doi.org/10.1126/science.1254287](http://dx.doi.org/10.1126/science.1254287)</comment>


Swifter – A Twitter Framework written in Swift - <AUTHOR> https://github.com/mattdonnelly/Swifter

<comment><USER2> Can the OP tell us anything about building their Twitter framework in Swift. Any gotchas or problems they came across building it? Is Swift ready for the primetime. Should I start switching all my apps to Swift ASAP? Otherwise I'm just starting at code in a language I can hardly read.

<comment><AUTHOR> Most of problems I encountered while writing this came from Swift's interoperability with Objective-C. It can often be difficult to work with and takes a while to get used to. I actually think it would be worth developers considering porting their existing Objective-C libraries to Swift for this reason alone. That said, I don't think developers should start porting their App Store apps yet. It still feels very much like it's in beta and some functionality hasn't been implemented (such as static class variables). Despite this though, I think Swift has a huge amount of potential, and once things really kick off with it, we'll probably be seeing a lot more developers writing apps in Swift than in Objective-C. The language really has a lot to offer over Objective-C in my opinion

PS: hi kevin

<comment><USER3> I thought I was imagining the static class problem...the documentation, while well-written, leaves much to be desired, especially for the above-mentioned. I've enjoyed writing in Swift so far but the playground crashes often. Xcode has not yet, so that has helped.

</comment></comment></comment><comment><USER4> One question related to building framework on ios : does swift provide any benefit over objective c for creating frameworks ? I suppose it doesn't make any difference since those kind of issues are more related to the OS or the IDE but i was just wondering. Creating frameworks that you can easily distribute in both debug / release mode for both simulator/device has always been such a hassle ( and even more so when it contains resource bundles).

<comment><AUTHOR> The processes for creating frameworks in Swift is pretty much the same as with Objective-C. That said Xcode 6 has made it much easier to handle distributing frameworks for different devices

</comment></comment><comment><USER5> One gotcha is that Obj-C classes can't subclass Swift classes. Or at least that's what I got from the docs.

So writing frameworks designed to be subclassed means you're probably stuck in Obj-C for quite some years.

</comment><comment><USER6> FYI, there's another Swifter framework out there with the same name: [https://github.com/glock45/swifter](https://github.com/glock45/swifter)

</comment><comment><USER7> And it starts again - web framework, 2048, flappy bird, http server, PySwift, JSwift, How I switched from Go to Swift, Swide: The Open Source swift IDE.. :)

<comment><AUTHOR> This was actually part of something else I've been working on rather than attempt at deliberately reinventing the wheel. That said, I do think there's some benefit in rewriting existing Objective-C frameworks in Swift as Swift's interoperability with Objective-C can be difficult to deal with at times

<comment><USER8> Why is the code so verbose?

         let result = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, self.bridgeToObjectiveC(), charactersToLeaveUnescaped, charactersToBeEscaped, CFStringConvertNSStringEncodingToEncoding(encoding)) as String

<comment><AUTHOR> Almost all of Apple's frameworks written in Objective-C and C are incredibly verbose. It's just an adopted style of the language and although it's often a little difficult to look at, it can be quite helpful sometimes

<comment><USER9> Swift should be less verbose

<comment><AUTHOR> It is actually, but functions like the one mentioned above are bindings for Objective-C / C functions and share the same name as the function they bind to

</comment></comment></comment></comment></comment></comment><comment><USER10> cool bb</comment>


Show HN: Life – A secure, blazing-fast, cross-platform WebAssembly VM in Go - <AUTHOR> https://github.com/perlin-network/life <comment><USER2> At first glance, this looks like an ordinary interpreter loop [1] using a large switch statement. I didn't think this was all that fast in Go, compared to C. And yet the JIT version isn't hugely faster and can be slower. Are there performance tricks I'm missing?

[1] [https://github.com/perlin- network/life/blob/master/exec/vm.g...](https://github.com/perlin- network/life/blob/master/exec/vm.go#L340)

<comment><USER3> Do you mean the JIT engine in this same codebase?

It looks like it generates C code and compiles it on the fly. The generated code seems to do manual stack operations, rather than assigning values to variables, and it's compiled with -O1 so it won't be heavily optimized. It will be a bit faster than the interpreter because it avoids the opcode dispatch overhead, but if I understand the code right it's not surprising that it isn't a ton faster.

</comment></comment><comment><USER4> This is off-topic, but I really wonder what happened to adverbs in English, and why. When I was a boy — not that long ago — it would have been 'blazingly fast.'

The project itself looks pretty cool, though. It's neat to see WebAssembly starting to take off. I'm eager to begin programming browser applications in a decent language …

<comment><USER5> American English abandoned them. They are still used in British English.

<comment><USER6> It's common to avoid adverbs in general when writing fiction IIRC.

<comment><USER7> Not by removing the ly though, but by choosing a more expressive verb.

</comment></comment></comment></comment><comment><USER8> >…faster than all other WebAssembly implementations tested (go- interpreter/wagon, paritytech/wasmi).

Isn't Mozilla's implementation the fastest and most mature of them all? How does it fare against it?

</comment><comment><USER2> Note: benchmarks are comparing to other wasm interpreters (in Go and Rust), not browser implementations.

<comment><USER9> Yeah this claim:

> is faster than all other WebAssembly implementations tested

is pretty meaningless once you realize this.

I'd be really surprised if this outperformed V8 or SpiderMonkey, but I'd love to be proved wrong.

<comment><USER3> Looking at the benchmark results, it's really not very fast. Over 3 seconds for fib(35)??

</comment></comment></comment><comment><USER10> Saw this on /r/golang and made some comments there. Good work! Always happy to see more non-web uses of WASM. Here's to hoping some of those higher-level features come to WASM soon so that we can really start sharing code instead of in the primitive constructs we have to use now.

</comment><comment><USER11> In short: a reasonably compliant, customizable VM without native dependencies, great for running code in cross-platform sandboxes.

A JIT is planned but not yet implemented.

<comment><USER12> > A JIT is planned but not yet implemented.

I see "Life (JIT)" in the benchmark plot. What is it?

<comment><USER13> Well, there's one in the repo that generates C code from the bytecode, compiles it with cc, and dynamic-loads it.

</comment></comment></comment><comment><USER14> How fast is this compared to browser javascript vm "implementations" of WebAssembly?

<comment><USER11> AFAICT WebAssembly VM is implemented in native code in the major browsers (Firefox, Chrome, Safari, Edge). It's pretty fast, and has a pretty limited interface to JS or DOM.

<comment><USER15> Native code or not shouldn't matter that much for a JIT. I've heard Cliff Click say in a talk that if he were to write another VM, it'd probably be in something like Java. The memory management of fairly arbitrary graphs like you get in a compiler really benefit from garbage collection, and it's nice to run the compiler sort of through itself to get dynamic profiling for optimization.

<comment><USER11> I mean, implementing a WebAssembly VM inside e.g. JVM is both possible and practical, but it's a very different approach from implementing it in native code, let alone any JIT approaches.

<comment><USER15> I mean, implementing a JIT is orthogonal to implementing it in another VM. See JITing meta circular evaluators like Jikes or Graal.

</comment></comment></comment></comment></comment><comment><USER16> The point here is not speed (that will come), the hope is it will bring privacy to your computational needs along with cost reduction and a little reverse crowdfunding ... perlin is a new distributed computation platform to spread execution of your code across disparate VM running on non-traditional machines. Goal here is to compete with big boys who run cloud VPS hosting services such that folks with spare cycles rent their hardware so other folks can execute their code ... to quote :

"Researchers, developers, startups and enterprises incur excessive costs to power up the cloud machines/instances they rent from centralized cloud computing providers.

Perlin is creating a decentralized, trustless cloud computing marketplace which delivers massive computational throughput and power with the ability to attain high transaction volume and market activity, effectively reducing the cost of computing power."

[https://www.perlin.net/](https://www.perlin.net/)

More to the point and I quote :

"Decentralized cloud computing.

Perlin's compute layer is bootstrapped on top of it's DAG-based ledger unlocking a plethora of underutilized compute resources from everyday devices, to form a decentralized cloud computing marketplace that combats the inflated pricing models set by the oligopolistic cloud computing market."

"Perlin is the first practical, trustless and decentralized cloud computing marketplace that leverages underutilized compute power in everyday smart- devices to make supercomputing economically viable and accessible globally. This is achieved via a DAG-based distributed ledger using Avalanche consensus."

[https://www.reddit.com/r/perlin/comments/8vq0c1/the_perlin_n...](https://www.reddit.com/r/perlin/comments/8vq0c1/the_perlin_network_allinone_thread/)

</comment><comment><USER17> I understand the basics behind WASM. What does WebAssembly VM in Go mean?

Can I write Golang code and see it executed through Life? Or will it execute my WASM binaries, compiled through whatever?

If the later, how is Life VM meant to be integrated into a web browser (if this is a goal)?

<comment><USER18> _Can I write Golang code and see it executed through Life?_

Is there a Life target for the Go compiler?

</comment></comment><comment><USER19> Is WebAssembly more secure than Javascript when it comes to escaping the sandbox? I see exploits every year in pwn2own for Javascript.

<comment><USER20> That question should be answered in future pwn2owns, probably :) but since it reuses JIT architecture in existing JS engines, my guess is that it will mostly benefit from previous security and sandboxing advances.

</comment></comment><comment><USER21> This is not about cellular automata? I feel misled.

Can it be renamed to something more indicative of virtualization?

</comment><comment><USER22> Does the lack of OS dependencies mean that it can't present a graphical user interface? Isn't that the main intended usage of WebAssembly, providing a cross-platform user interface that usually runs in a browser?

</comment><comment><USER23> Can CPU and memory limits be enforced? If so, how is it done?

<comment><USER24> It looks like this Life VM has a "RunWithGasLimit" function that can run WebAssembly for a limited number of steps. I'm not sure if it pauses or aborts the VM when the limit is reached.

On a related note: you can enforce a CPU limit on WebAssembly in any engine by using wasm-metering[0]. Note that if the WebAssembly hits the limit, it is entirely aborted, not paused. So wasm-metering is good for limiting the CPU usage of a WebAssembly binary that has short functions called regularly, but not capable of time-slicing a long-running WebAssembly function. I think you'll need custom support from a WebAssembly VM (or a much more extensive preprocessor) for that.

[0] [https://github.com/ewasm/wasm-metering](https://github.com/ewasm/wasm- metering)

</comment></comment><comment><USER25> Can't immediately see any mention of of how to accommodate file access on local system (or permanent storage within sandbox) - any pointers?

<comment><USER24> WebAssembly has no native filesystem APIs or any built-in APIs to the outside world. A WebAssembly binary may specify that it wants to import functions by certain names, and it's up to the user of the WebAssembly to implement and provide the functions that the WebAssembly wants to import. You could make a WebAssembly binary that imports a "readFile" function, and then you could load the WebAssembly in Go with this Life VM (or in Javascript with the native WebAssembly APIs) and specify your implementation of the "readFile" function in the host environment. Your implementation of "readFile" can then impose whatever restrictions it wants.

</comment></comment><comment><USER26> It's secure if so was written in description.</comment>


Nest Aware - <AUTHOR> https://store.google.com/US/product/nest_aware <comment><USER2> Before you install cloud-recording cameras in your home, especially from a major company which the police will check first, be AWARE that local and federal law enforcement can simply request your data from Google, no judicial search warrant required (as Google has no privacy interest in your data, and you have no privacy interest in data you voluntarily hand over to third parties such as Google, according to the US Supreme Court).

Basically a letter on law enforcement stationery will do: "We need access to all video, on an ongoing basis, from 123 Elm St., as it may be relevant to an ongoing investigation." Done.

Some people may be fine with this but many should think carefully.

<comment><USER3> Where do you get the idea that Nest/Google will simply hand over video from users without an actual warrant?

That's not what I'm reading/interpreting from the information here: [https://nest.com/legal/transparency- report/](https://nest.com/legal/transparency-report/)

<comment><USER2> Where do you get the idea that a search warrant is required to get a third- party to hand over data about you?

[https://en.wikipedia.org/wiki/Third- party_doctrine](https://en.wikipedia.org/wiki/Third-party_doctrine)

And no, there's nothing on that nest.com page that says otherwise.

</comment></comment></comment><comment><USER4> It was frustrating to discover that Google is pushing everyone to migrate from a Nest Account to Google Account without offering a path to migrate for paying G Suite customers.

Any companies that have Nest cameras + G Suite for employees are out of luck.

<comment><USER5> Yeah I noticed that, I've been using "Google for domains" or whatever they call it now for about a decade. I snuck in when it was free, but I do pay for extra storage and the nest subscription.

The account migration stuff is just confusing - "You must log in with your google account!" "No, not that google account, you can't use that!"

<comment><USER6> I have to figure the underlying reason is that Google can't trust that you, the user, own that Google Account as it actually owned by the entity that owns the GSuite organization. They are treating all GSuite users as transient in order for controls to be set up for what happens to user data when they leave the organization.

Of course, for you and me and hundreds of thousands of other who use a grandfathered GSuite, the user and entity are the same person.

Thus, for services that potentially have some limiting reason to not allow GSuite users to access, we hare orphaned for the time being.

I've been waiting FOREVER to either add a family member to my Play Music subscription, or me to theirs. Alas, neither plain Google Account nor GSuite account can co-exist.

There are dozens of other Google services incompatible with GSuite users.

It is frustrating.

<comment><USER4> Even if you set aside those legacy G Suite accounts, this is still also a problem for any business on a current paid plan. Nest even advertises their products to businesses here: [https://nest.com/nest-for- business/](https://nest.com/nest-for-business/)

However, they fail to tell you that your company will be unable to use it with G Suite. There's nothing the administrator of the G Suite account can do either.

</comment></comment></comment></comment><comment><USER7> Nest makes too many decisions for their users that I disagree with. Not sure if other camera companies do this, but they used to give users the option to show a light or not on the camera and they since then have forced all Nest cameras to show the light, if someone is breaking into my house I would rather they didn't know where the cameras were so the camera could get a good look at their face. Secondly during COVID they just forcibly reduced the quality of the stream.

<comment><USER3> The light problem is solved very easily, by the way. Just use a small piece of black electrical tape to cover the LED.

</comment></comment><comment><USER8> The company that is gathering the most data about you online is now also an expert on observing people through audio and video surveillance.

Not a pleasant thought.

</comment><comment><USER9> Is this an ad? What's "hacker news"worthy about this?

</comment><comment><USER10> I would never pay anyone to spy on me 24 hours a day.

<comment><USER11> Horrifying. My neighbor just installed one of those simple to use cameras in their windows looking at their driveway and our home. The old country had some basic privacy laws, but here I can't do much about it apart from installing blinds.

What is this fascination with recording everything at all times?

<comment><USER12> I think most people get them as a deterrent to break ins, not to spy on their neighbors.

At least thats why I have one. I had my house robbed a few years back, which was actually horrifying. Insurance covered all the valuables, but the stuff that hurts is what can't be replaced like things from loved ones who are gone. Also your sense of security gets tarnished after something like that. I still wake up in the middle of the night sure that I hear people moving/talking in my house. Having a camera (and dogs, and just giving myself time to wake up and think things through) helps bring me back down to earth in those moments.

<comment><USER11> I can understand that having some unpleasant experiences in my city apartment. I will admit that dogs help.

I think my next house will be in the boondocks surrounded by forest with few to no neighbors.</comment></comment></comment></comment>


The first fully ecological search engine in the world - <AUTHOR> http://www.amazingstartups.com/ecocho-the-first-fully-ecological-search-engine-in-the-world/

<comment><USER2> I know this comment is going to be immediately downvoted, but holy god, what a stupid idea.

<comment><USER3> At first glance it does seem like a dumb marketing gimmick. And I'm not going to start using them, because I use Google via the Firefox toolbar.

Still, if hundreds of thousands of people were to switch to this search engine, in addition to being very profitable for Echocho, it would be a net gain for the environment over people using regular Yahoo. I doubt they can manage to fully cover the externalities of their existence, but it seems better to plant trees than to not plant trees.

Is TheHungerSite still around? They should publish statistics about how much good they have done in the world.</comment></comment>


"Chinese blondes" are probably not Roman descendants - <AUTHOR> http://blogs.discovermagazine.com/gnxp/2010/11/no-romans-needed-to-explain-chinese-blondes/

<comment><USER2> I actually know a few "100% Han Chinese" people who have slightly brown/reddish hair. At first I thought they were dyed, but eventually I was convinced that they were not.

In retrospect, I'm not really that surprised, considering China being continental, and the amount of trade/migration over the centuries.

</comment><comment><USER3> The same trait occurs in Iran & Afghanistan too. Not sure why this link's on HN though?

</comment><comment><USER4> as guessed before reading the article, they are indeed the uygur people.</comment>


Email & Teens - Using email hasn't taken root amongst the Millennials? - <AUTHOR> http://web-target.com/en/case-studies/203-email-and-teens

<comment><USER2> _The interesting question is not whether emailing is dead – the answer being no - but if it has any hope of surviving, or better adapting, to new generations._

There are two immediate hurdles:

Email marketing has ruined email. And I don't mean just spam. I mean whatever unsolicited shit you sent me because you're abusing the address I gave you. The signal:noise ratio is almost perfect on a social network. My email box is a daily exercise in frustration. There is also the desired automated emails, trudging though them is an issue, less of one, but they can be noise depending on what you're using your email for.

Directory services. If I want to contact someone at work, I alt-tab, ctrl-n type FLastname ctrl-k. Its a ridiculously lightweight action. At home, if I don't know someones email address looking it up involves stopping at a couple social networks, logging into Outlook Web Access if we happen to have some other organization in common, but thats probably not the address I actually want to send to. And after all that I can still turn up empty handed. The best case scenario is that they have their email address viewable in facebook, I bring them up on my droid (where facebook populates my contact list), start a draft email from the droid that I can then open up on my computer. Thats a pretty shitty best case.

Going forward, the best way for email to adapt (and a thing I've wanted to see for quite a while) is for a social network to embrace their person organization and relationship management and become a directory service. Essentially, when I type "Alice" into the TO box in gmail, thunderbird, outlook, cellphone sms, my aim client, anything, why isn't her address automatically populated if I know her on service X? Right now social networks want to create yet another communication channel rather than just giving us a way to manage the ones we have. Think of a social network that was designed to just to trade contact information, let say vCards. I friend Alice and Bob on vCardBook, and suddenly I have a vCardBook LDAP server I can throw at my email client to have Alice and Bob's addresses at the ready.

</comment><comment><USER3> Millenials and teens are not synonymous. Fully half of Millennials are no longer teens. The oldest Millenials are 30.</comment>


Tablet Takeover Suggests Ereader's Demise  - <AUTHOR> http://www.huffingtonpost.com/2011/05/05/ereader-tablet_n_857766.html

<comment><USER2> This is something I dont understand; Why are we not using e-ink in signage more.

E-readers are great gadgets - but there is a multi-billion dollar signage market that is waiting for disruption.

Make e-ink screens in larger formats and use them all over the place.

A hospital I recently worked on had over 1 million dollars worth of signage, static traditional signage, printed up. And they were struggling to find better ways to do signage and wayfinding.

If we have e-ink panels that were easily integrated into structures and addressable (arduino wifi cards) we could really do some interesting things with signage.

Let the tablet market takes its course, while e-ink fills in areas that tablets are too much.</comment>


Way.js – Simple two-way databinding - <AUTHOR> https://github.com/gwendall/way.js <comment><USER2> Was posted 3 days ago - [https://news.ycombinator.com/item?id=8176672](https://news.ycombinator.com/item?id=8176672)

<comment><USER3> lhorie's comment still applies here: Mithril.js does more than this library, and it weigths 10 times less, minified and gzipped (~5KB vs ~50KB, with dependencies).

[http://lhorie.github.io/mithril/](http://lhorie.github.io/mithril/)

<comment><USER4> I'm looking at this link [https://github.com/gwendall/way.js/blob/master/way.min.js](https://github.com/gwendall/way.js/blob/master/way.min.js) and github is telling me the minified version is only 9k. Not sure where you're getting 50k from.

Also, I looked at your mithril link and even though it's a smaller file size, the framework does way more than just databinding, which seems to be the only thing way.js does.

<comment><USER5> I think you need to look at the way.bundle.js for the version with dependencies as it relies on jquery.js, underscore.js, underscore.json.js, js2form.js, and form2js.js

<comment><USER3> That's indeed what I'm refering to.

Mithril doesn't have any dependencies. It takes 13KB minified, down to 5KB when gzipped.

</comment></comment></comment></comment></comment><comment><USER6> [http://knockoutjs.com/](http://knockoutjs.com/) is also a great simple data binding lib but without any dependencies.

<comment><USER7> I recently looked into React and Knockout at work, as previously we had been using JQuery for all frontend stuff. I'm not much of a frontend developer, but I found things to like about both React and KO. We aren't making single page apps, but we do need to create more rich user interfaces in the browser. I spent a week exploring both, creating two different UIs in each.

For environments where you don't have dedicated frontend people, I think Knockout is more approachable. I very much like the flow based programming ideas behind React, but in the end I think the need to either learn/implement the Flux architecture or having to follow chains of Javascript callbacks really dissuaded my coworkers from supporting it.

KO has a more familiar template-like approach. And now that the latest version also offers components, I like that I can use templates where they work and switch to components when necessary, which should eliminate some of the boilerplate I faced in React. I'm very excited to try out the new KO features, and I'm always surprised to not see much mention of KO in front end discussions at HN.

That being said, while working with KO there were times where I created bugs that would have been impossible or difficult to create with React. But I think for a team of backend developers that don't do much frontend work and who aren't that familiar with functional programming, React (whether callback property style or using Flux) is too much of a jump. For personal projects I'm interested in trying out React+Flux, though.

<comment><USER8> If you're going to dig any further into React, check out cortex's approach to simplifying nested data: [https://github.com/mquan/cortex](https://github.com/mquan/cortex)

</comment></comment></comment><comment><USER9> this is cool, but it's a bit misleading to declare something 'lightweight' if it has 5 dependencies including jquery and underscore

<comment><USER10> it is now dependency-free

</comment></comment><comment><USER11> I think AngularJS has a very strong 2-way databinding offering (with its many directives and implicit data-change detection).

It is actually possible to just use the databinding features of AngularJS without all the framework stuff. Just need a few lines of Javascript to get yourself a scope.

Or just use my code: [https://github.com/julius/AngularLite](https://github.com/julius/AngularLite)

</comment><comment><USER12> An alternative to declaring bindings in HTML is to generate the forms with javascript and bind the data with d3js. 2-way binding should be achievable with d3's support for event handlers. That should also provide more flexibility as you can always drop down to DOM APIS or include other Javascript-based form controls.</comment>


Ask HN: Using a version control system for your resume? - <AUTHOR> I often come across advice to have different resumes for different types of companies, and to continue making it up to date. As a living, breathing document, is it a good candidate for applying a VCS to? For instance branches for different resume types, but sharing common content. What are your thoughts on applying version control to your resume? I don't think this idea is an original one, but I don't see it mentioned much. <comment><USER2> It works better to keep a version controlled indiscriminate list of every single project and position and assignment and achievement you've ever done (plus a resume template). With that you can easily choose relevant points for a specific position at hand.

</comment><comment><USER3> I have my resume in LaTeX and keep versions of it tracked in Git, which works pretty well for me.

One thing I like about using LaTeX is that I can comment and uncomment bullets for various jobs I've done and modify the job description based on what I'm applying for.

I don't think tracking a doc or pdf file would work as well.

</comment><comment><USER4> I do not build my resume from scratch. Often it is exported to PDF from some other service. I store this PDF in the git repository for my website, which is published on GitHub Pages. So inevitably, my resume has snapshots.

File formats like PDF do not lend themselves to version control. It would be hard to merge improvements on a shared "feature" of your resume from one branch into another branch.

<comment><AUTHOR> I tend to use the .doc format and edit locally on my computer, and only export to PDF when I'm ready to send out the resume. I'm not certain if .doc would be much easier format to share changes on a resume.</comment></comment>


Computer Science Education Needs to Teach Us About Humans - <AUTHOR> http://nearthespeedoflight.com/article/2013_04_06_computer_science_education_needs_to_teach_us_about_humans

<comment><USER2> Do no Computer Science courses cover this in North America or has the author made a big assumption? My CS course covered this (not North America).

<comment><AUTHOR> Well maybe it's a bit of a generalisation, but I've studied at two different schools in Canada, and neither of them had these in their curricula. And I haven't heard of any other in North America which really do, either. I could be wrong, but I haven't seen any examples yet.</comment></comment>


An interesting Google Translate quirk - <AUTHOR> http://translate.google.com/translate_t?text=Nous+parlons+fran%C3%A7ais+ensemble.&langpair=fr%7Cen#fr|en|Nous%20parlons%20fran%C3%A7ais%20ensemble. <comment><USER2> Is this a quirk of statistical machine translation where the word English shows up in English texts where Francais would show up in French texts?

<comment><USER3> It's a lesson in the difference between _translation_ and _localization_.

In this case, Google's approach confuses the latter for the former, because its corpus contains parallel texts that have not only been translated (into a different language), but also localized (into a different locale). For example, it may be extrapolating incorrectly from a French document and an English document with the following phrases in the same location:

      FR Cliquez ici pour la version anglaise.
      EN Click here for the French version.

This sign is another good example of how parallel texts are not always translations:

<http://flickr.com/photos/jadelin/2205088201/>

(the Japanese "おかえりなさい" here means "Welcome home")

<comment><USER4> In your Japanese airport example I think they're intentionally not the same phrase. "Welcome back" to the Japanese people and "Welcome to Japan" to the foreigners.

<comment><USER3> Yes, that is why it's not a translation, but a localization (you know, for the locals).

<comment><USER4> Gotcha.

</comment></comment></comment></comment></comment><comment><USER5> Now remove the period at the end of the URL. :)

<comment><AUTHOR> Interestingly, if you remove "ensemble", then it reverses it.

So:

"Nous parlons français ensemble." -> "We speak English together."

"Nous parlons français ensemble" -> "We all speak French"

"Nous parlons français." -> "We speak French."

"Nous parlons français" -> "We speak English"

<comment><USER6> Also, it is language dependant, in German we speak French together:

Wir sprechen französisch zusammen

</comment></comment></comment><comment><USER7> Ive had this with Swedish as well.

Jag kan inte prata svenska

turns into:

I can't speak English

<comment><USER8> Nice. It looks like it's confusing the different meanings of "English": "a language originating in England" vs. "native tongue".

If you're translating something like "Give it to me in plain English", you'd want the second meaning. Likewise, "It's Greek to me" doesn't hold the quite same weight when translated literally into Greek.

<comment><USER9> Yeap. In Greek we say 'It's chinese to me'. I wonder what the chinese say :)

<comment><USER10> Good question. After a bit of searching, I found these nation / translation tables. Neat!

      * http://www.omniglot.com/language/idioms/incomprehensible.php
      * http://www.nationmaster.com/encyclopedia/Greek-to-me

</comment></comment></comment></comment><comment><USER11> HAH

it's a conSPIRACY!</comment>


Facebook 'intentionally and knowingly' violated UK data privacy laws - <AUTHOR> https://www.cnn.com/2019/02/17/tech/facebook-fake-news-disinformation-report/index.html <comment><USER2> I'll be interested to see if the government actually acts on these recommendations; they are a little preoccupied at the moment.

It's going to be difficult to get right. For example, there have been calls to compel media streaming sites to carry and prioritise BBC content. It's a related issue - content doesn't often meet criteria of fair and honest reporting, especially all the wacky conspiracy stuff which actually props up a lot of extremist thinking.</comment>


Show HN: Carmelo or LeBron? Correct Choice Wins $200 - <AUTHOR> https://www.doubleup.com/a/hn

<comment><AUTHOR> PS: If you think this is cool (and we do), then note that we're hiring Ruby on Rails engineers. And we're funded.

Reach out to russ@doubleup if you want to discuss. Tons of opportunity in this space for smart people.</comment>


Light painting animations directly from Blender - <AUTHOR> https://hackaday.com/2018/07/30/light-painting-animations-directly-from-blender <comment><USER2> I love seeing personal passion projects like this on HN - great inspiration for the day.

I'm curious as to what the build cost was for the whole rig, and on how long that project took. Seems like he milled a bunch of the aluminum jigs himself, which is pretty cool. Certainly a lot of effort and the results are quite neat. It would be interesting to see what more art pieces can be done now that the basic rig is setup - it would be really cool to "render" several-minute- long light painted videos now that it can be fully automated.

<comment><USER3> How would someone without access to a milling machine go about making custom aluminum parts like these?

I've had a couple projects that would benefit from aluminum milled parts, but I haven't been able to figure out how to go about making 1 or 2 parts without spending hundreds on setup or tooling costs.

<comment><USER4> If you are lucky, there is a maker space within reach. Even if they don't have the tools, maybe some member has.

Or the old-fashioned way: Talk with local shops who use the tools you need and get some quotes.

Edit: or look for alternatives to parts you cannot make yourself (material or design or both).

</comment></comment></comment><comment><USER5> Incredible technical work mechanically, electronically, photographically. Amazing artistic talent and personal drive.

3:19 and 4:22 remind me a lot of a tumblr page with animations like these. It's exciting how trippy they are. His direction and animation is beautiful, knowing that it's real light is something else.

</comment><comment><USER6> This is freaking crazy! I bet this guy could take his pick of video production shops to work for by sending them all this video alone. Huge props for doing it all open source!

<comment><USER7> Thank you!! One can hope, maybe someday I'll get hired. But on the other hand, it might be funner to stay indie and build a personal audience.

</comment></comment><comment><USER8> Blender really is an exceptional piece of software.

<comment><USER9> Isn't this comment like watching someone hand-build a supercar and saying "gasoline really is an exceptional source of energy"? I mean, sure, but it's not even 1% of the final product.

<comment><USER8> I guess I should elaborate.

Blender is extremely capable in a wide range of areas. It's much more than simply fuel in your analogy, it's much more like the car builder's toolbox or even his workshop.

Blender can do complex 3D modelling, physics based rendering (now including real-time EEVEE). 3D animation including rigging and physics interactions, Video editing, 3D motion tracking, plane tracking, image compositing and spatial audio.

Its grease pencil tool is execptional and allows for powerful 2D animation. The freestyle NPR renderer can export animation outlines to SVG.

It has a wide range of plugins for architecture, 3D printing and CAD.

Everything can be scripted via python and almost everything in the UI can be keyframed.

It is an exceptional project and a credit to the open source community.

<comment><USER10> I want to add onto this....

Blender is an amazing product being used by a ton of professionals, but a lot of people in the CGI industry don't admit to using it because it is free.

Because of this weird echo chamber of "Blender Shame" you have people who actively promote how cool Blender is, which is not always a conscientious reaction, but still stems I think from this reputation fight that Blender is in.

I think the whole PC MASTER RACE joke was a similar response to Apple snobbery.

<comment><USER11> Actually, "PC MASTER RACE" came from a comedy review of the Witcher. In context, the original quote:

> _What quickly becomes obvious is that Witcher is very much a PC exclusive > game, which are typically designed to be as complex and unintuitive as > possible so that those dirty console-playing peasants don 't ruin it for the > Glorious PC Master Race._

It was not originally intended to be a _positive_ term.

</comment></comment></comment></comment></comment><comment><USER12> Great project! Reminds me of pre-CG special effects that were also achieved with motion control and long exposures, like the 1980 HBO opening animation:

[https://youtu.be/wqzihgR_-SI?t=400](https://youtu.be/wqzihgR_-SI?t=400)

Or the slit scan technique used for the stargate sequence in 2001: A Space Odyssey:

[https://youtu.be/KhRo2WbWnKU?t=346](https://youtu.be/KhRo2WbWnKU?t=346)

</comment><comment><USER13> Skip to 3:20 or 4:25 in the video if you want to see an example of the results

<comment><USER14> For the lazy:

[https://youtu.be/O1bY66X1JKA?t=199](https://youtu.be/O1bY66X1JKA?t=199)

[https://youtu.be/O1bY66X1JKA?t=263](https://youtu.be/O1bY66X1JKA?t=263)

</comment></comment><comment><USER9> This is a fantastic hack. Does anyone know what that weird box in his rack is? (The one he packaged back up again at the end). It looks like it's something off-the-shelf to avoid writing code to turn the objects into GCode, but I guess this could have done more easily with a blender-to-gcode converter.

<comment><USER15> You mean the DragonFrame controller box?

[https://www.dragonframe.com/product/dmc-16/](https://www.dragonframe.com/product/dmc-16/)

It is bit weird how there seems to be this Arduino motion control stuff, and then also this dragonframe motion control and they are somehow integrated together. It seems to work fine for him, no doubt about that, but I feel like more integrated approach would be logical next step.

<comment><USER16> As I understood it, the Dragonframe controls the camera and the Arduino box controls the rig that moves the LED. (He describes this at around 8:08).

</comment></comment></comment><comment><USER17> Previous discussion (on the video): [https://news.ycombinator.com/item?id=17637834](https://news.ycombinator.com/item?id=17637834)

</comment><comment><USER18> Seems like a ton of work for pretty dismal results. Cool work though, just kinda disappointing what was captured.

<comment><USER19> Dismal? I find the resulting videos very pretty and I find it amazing that they were done mechanically, not using ray tracing.

<comment><USER20> I find the resulting videos to be no more interesting than animated renders, but the mechanics, engineering, and software skills to set everything up, connect it, and get it reliable/precise enough to produce anything at all I find utterly astounding.

Truly a cool project</comment></comment></comment>