The man you want to be does not matter - <AUTHOR> http://swiz.ec/nHr3YJ

<comment><USER2> "Past performance has very little correlation to future actions and those thinking otherwise are using a very simple thinking shortcut."

Maybe I am using a 'thinking shortcut', but can you please source the evidence for there not being a correlation between past performance and future performance?

<comment><USER3> What I've always hated about that is there is a sense of an immutable judgement going forward if at some point you perform poorly. Surely it's obvious that that idea is merely an approximation and life is somewhat more complex?

Isn't it the case that if past performance is an indicator of future performance then there is no hope of improving anything?

I really think there is quite serious denial of the possibility of bad things happening to people which effects their performance and it _not being their fault_ , often with very serious consequences for them.

I have a friend who had a family crisis occur during his A-levels; the impact on his future prospects was huge and he has had to struggle to stand a chance at getting a decent job. I personally had a family crisis during my degree which several impacted my performance and has destroyed my confidence, something which still impacts me today (though I did manage to get a 2:1 despite it all), does that mean I cannot perform well in the future?

I understand what you're saying about there being an overall correlation but I really do think you have to be careful about it - on the whole, it may be true, but it's the individual edge cases that matter, and adopting that position as if it was some immutable fact is dangerous.

<comment><USER4> I agree with what you're saying. A person's direction in life can change at any time and it's unfortunate that people judge and discriminate so carelessly.

They are acting rationally though. Take, for example, your anecdote about your friend's employment difficulty. The employer is just trying to get the best person they can for the job. They can't realistically predict future performance of the person they hire so they just rely on credentialism and base the decision on past performance/qualifications in the hope that a person who performed well in the past will continue to do so.

<comment><USER3> Sure, and it's understandable given the number of CVs companies have to filter through, especially the more desirable places - there has to be some way of filtering through.

I think it's very important to highlight that these judgements aren't etched in stone, though, it's a point which is lost in that phrase, hence me not being a huge fan of it.

</comment></comment></comment></comment><comment><USER5> Path dependence works, you know: the person you were will tend overall to shape the person you will be in the future.

You also can't just "decide to shape the future", you've got to actually analyze your past and develop ways of deflecting your current path. The problem people have is they think over-much and experiment too little.

</comment><comment><USER6> "We become that with which we busy our minds."

Don't know who said it, but I love it. And I think it's a good tl;dr for this post.

</comment><comment><USER7> Someone broke it;

"The requested URL /blog/the-man-you-want-to-be-does-not-matter/swizec/2071 was not found on this server."

<comment><USER8> [http://webcache.googleusercontent.com/search?q=cache:jxrNNtJ...](http://webcache.googleusercontent.com/search?q=cache:jxrNNtJhJwsJ:swizec.com/blog/the- man-you-want-to-be-does-not-matter/swizec/2071+swizec.com/blog/the-man-you- want-to-be-does-not- matter/swizec/2071&cd=1&hl=en&ct=clnk&gl=us&source=www.google.com)

</comment></comment><comment><USER9> Isn't tying ones self worth to others opinion a bit dangerous. There's always going to be people who don't like you/think you provide value etc. It's surely not healthy to rely on others for your self esteem, or to define who you are. This is only a small point from the article but I thought it important to question.

<comment><USER10> This revelation drove me to existentialism, which I lately realized was too inwardly-focused, but it ended up balancing my perceptions in a better way.

</comment></comment><comment><USER11> There are cases where thinking and not doing can help shape your future. In particular, I don't always have healthy thought patterns and spend a lot of time thinking about things that aren't really beneficial, often going around in circles. I think the author of the post would agree that I need to think about these things less! But while there may be some component of "doing" to correct your thinking (such as seeing a therapist, or doing online CBT, in the extreme cases) there is also a component of thinking. I've been trying to make more time to JUST think, which I suppose you might call meditation, and by allocating time to think, process, and move on I am reducing the _overall_ time I spend in unconstructive thinking.

</comment><comment><USER12> What if I don't care about being remembered, but just want to build something useful, and have economical success?

</comment><comment><USER13> I'm using Chrome on Windows. Does most of the font on this site look poorly rendered to anyone else?

<comment><USER14> It's a text-shadow. I remove those via firebug.

</comment></comment><comment><USER15> I love this article! Only had a chance to skim read it so far, but it looks along the same lines as a lot of things my friends have been discussing at the moment about making a worthwhile impact with our lives, especially the focus on NOW and starting small.

</comment><comment><USER16> It held together up until the last sentence:

 _Which do you think better to be remembered for?_

If the past doesn't matter and the future doesn't matter why then do you care how people in the future will remember you?

</comment><comment><USER17> This reminds me of the Italo Calvino short story "The Light Years".

<http://issuu.com/martuxa/docs/thelightyears>

</comment><comment><USER18> It DOES matter who you want to be and healthy ambitions never hurt. There are so many examples that hard work and time investment made someone a completely different person.

</comment><comment><USER19> We can't all save the world. I guess the next best thing is a web app that is useful to our users.

</comment><comment><USER20> can anyone post this article? Site is down..

<comment><USER21> [http://webcache.googleusercontent.com/search?sclient=psy&...](http://webcache.googleusercontent.com/search?sclient=psy&hl=en&biw=1154&bih=652&source=hp&q=cache%3Ahttp%3A%2F%2Fswizec.com%2Fblog%2Fthe- man-you-want-to-be-does-not- matter%2Fswizec%2F2071&pbx=1&oq=cache%3Ahttp%3A%2F%2Fswizec.com%2Fblog%2Fthe- man-you-want-to-be-does-not- matter%2Fswizec%2F2071&aq=f&aqi=&aql=&gs_sm=e&gs_upl=7147l8898l0l9173l6l5l0l0l0l1l237l973l0.3.2l5l0)

</comment></comment><comment><USER22> Excellent post.</comment>


Ask HN: Did you work too hard in your 20s? - <AUTHOR> <comment><USER3> I turn 30 in a week. I didn't work hard and neither did I have fun. The things I wanted to do like get in relationships or have a close knit friend circle never worked out because I just didn't have the people skills to make it happen. My 20s were wasted in nursing my own bruised ego and running behind people who didn't care about me. Neither did I work hard and make something of myself as a career. Most of my time was spent on half finished projects and playing games or Netflix. I maybe had two good years in all my 20s. I wouldn't say it was a complete waste because I at least realized what I was doing wrong but then a part of me also thinks I should had the wisdom earlier so that it could have been better. So overall, I just went through my 20s on autopilot. I couldn't do the things I wanted to do and I what I could do I didn't want to. I felt like I had no choice in my happiness. I was doing things that I thought I should be doing to live up to other people's standards instead of what I really wanted to do...if that makes sense. Now that I'm older, I have decided that I'm not the ambitious type and all I want to do is to chill and have enough money to not live paycheck to paycheck. The rat race is for the birds.

<comment><USER4> just wanted to add that i felt the same right until about 28 or so. Eventually those bad/neutral life decisions will serve a purpose to make sure you dont waste future opportunities. good luck

</comment></comment><comment><USER5> Quite the opposite. I didn't take my career seriously enough in my 20's, didn't save retirement, and had to make up a lot of ground. Spent 10 years in a dead end job, being underpaid. It was hard even finding a new gig because people wondered why my salary was so low, and if it meant I sucked.

Took me about 2-4 years of job hopping to get up to a salary respectable for my level of experience.

<comment><USER6> Why did you tell them your salary if if didn't help you?

<comment><USER5> It took me a few job hunting attempts before I realized being honest was a bad idea. In the mean time, I fought hard and pushed my then boss to give me a substantial raise. I then left shortly thereafter ...

</comment></comment></comment><comment><USER7> Yep. I started working full-time at 21 in 2010 and didn't stop until the beginning of 2020. Currently on a sabbatical (kinda) and passively looking for a new job in EU. In parallel with working full-time and being highly productive on the job (always was a top performer, thanks to mild OCD, I guess), I also married my gf, who gave birth to my son, when I was 24, and did my best to be a good husband and father all along. On top of that, I spent huge amounts of time (at nights, mostly) studying online courses, reading CS books, learning stuff, etc. Finally, at ages 27-30 I was quite involved with open source, in particular, my own projects: bittorrent library, which atm has almost 2K stars on github, and a face detection engine in rust.

All this said, it was definitely a tough period in my life, and I'm kind of happy, that it's over. My son is going to school this fall and does not require as much attention as when he was a toddler. My projects are kinda "finished", meaning that I'm not actively working on them anymore. If I'm reading something nowadays, it's mostly history, philosophy and natural sciences. Having time for myself, playing an occasional video game, going out to skate or just hang around in the city is important to keep sane and not lose the desire to work anymore.

So yeah, I've learnt first hand, what "hard work" really means, and learnt to value free time, leisure and hobbies.

</comment><comment><USER8> Hell no.

I lived a semi-bohemian lifestyle until I was 30. I worked maybe 25 hours per week and spent a shitload of time working on hobbies and doing hours of yoga every day. I took a lot of drugs, drank, slept around voraciously, and travelled across the US and to countries all over the world.

When I turned thirty I decided it was a good time to do adult stuff, so I did. I never accumulated debt and had always put away a small amount of retirement money through my 20s, so I wasn't terribly far behind. It took about two years to go from making $30k to making $100k.

There are trade-offs, but I'm at peace with my choices. I own a house, still work on my hobbies, got married, and I don't think I'll have many regrets around stuff-I-didn't-get-to-do.

And no, I never had a trust fund.

<comment><USER9> Thanks for sharing your experience. As a 25 year old right in the thick of it, trying to find my own personal balance, I'm curious to know your thoughts some more: 1\. What are some of the trade-offs you're still feeling the impact of? 2\. How did your "adult stuff" transition play out? Was it something smooth that occurred over a long period of time or a short immediate change?

<comment><USER8> Transition to "adult stuff" was quick. I turned thirty and immediately took on a full-time job at a tech company and moved into my own apartment. I still did a lot of my hobbies and spent time with friends, but I decided to invest myself in work and try to make some money. I was lucky in that I had programming experience and connections at a company that would hire me despite having limited experience.

It took a few years before I really decided to settle down, put down roots, and get married. When I decided to do it, though.. I went and did it immediately. I moved to a quieter, less expensive city, bought a house, a 20 year-old truck, and adopted a senior dog. My wife was the first person I dated in my new city, and she worked at the cafe closest to my office. She was probably one of the first people I met.

Fucking off in your 20s can be fun, but it can also be lonely and depressing and you're never immune from all the bullshit that makes life difficult... At some point in time, I decided that _I would rather be scared than bored_ and based a lot of my choices around that particular value. And that's one of the trade-offs: A lot of things are not going to work out, a lot of plans are going to fall through. You have to be flexible. You're going to be on a financial tightrope sometimes. Things are easier being settled. But, having more to lose, I find myself more resistant to changes and more risk-averse.

The longer-term trade-offs are just financial and professional. I could have been investing more of my money, or bought a house earlier. Getting yourself to a higher level of income is fairly easy, but missing out on 5-10 years of professional experience is difficult to make up for and that has long-term financial side-effects.

The fact that things turned out okay for me probably has more to do with luck that I care to admit.

</comment></comment></comment><comment><USER10> In my early 20s, I was making minimum wage. I only stayed at this job because it was comfortable and I didn't want to actually take a risk and go somewhere new.

When I reached my mid 20s, the business folded and I was forced to find work elsewhere.

I worked hard from 25-30.

At 30, I lived in Asia for a year (my dream that I couldn't actually realize in my 20s) and worked remotely (low pay and hard work, but was very good pay for where I lived).

Now that I'm almost 40, I have a house and make more money that any of my previous jobs. My job is actually the easiest it's been in decades, mostly because I overworked in my earlier years and working a regular job is rather boring and slow compared to my usual pace.

I think working hard in your 20s is required if you want to have a good life in your 30s+.

</comment><comment><USER11> I worked the whole time and at times too hard. I've been employed in some capacity or another since I was 17.

As I was approaching 30 I made a career change to tech. I did work too hard during this period because I was working full time and also spending all of my free time teaching myself new skills. Honestly it was a dark period because I wasn't sure if there was a light at the end of the tunnel in terms of breaking into tech and I was very unhappy with my job at the time. I studied on the bus. I studied after work. I studied on the weekends. It was like working two full time jobs.

I got lucky and was able to get a job as a software engineer. I spent the first year working too hard. I reported for my regular hours and then worked every night babysitting upgrades because I felt like I had to prove something or pay something back for the opportunity.

Overall, I think I took myself too seriously in my 20s. I'm glad I put the effort in because it was worth it in a way. But my perspective changed when people close to me started get old, sick, or both and passed away.

My perspective changed and I don't take myself as seriously anymore. However, I still struggle with feeling like my time is going to waste. Sometimes I have hard time relaxing and doing something for fun like video games because it isn't contributing to my personal development. I guess I'm still figuring that out.

</comment><comment><USER12> 29 now. I definitely worked hard. Absolutely no regrets.

First few years out of University I was working 2x as many hours for 1/2 the pay I make now at a startup. But honestly, I had just moved to LA anyway at the time and lived with the people I worked with (we lived/worked from an apartment) so it wasn't a big deal.

Financially I'm in an excellent place (2ish years worth of expenses saved up, more if I left Los Angeles for a low cost of living area). No debt.

Nowadays I don't work as "stressed" anymore, but I get a lot more done and work MAYBE 50 hours on a bad week, usually closer to 40. Probably because I quit drinking during the week and prioritized exercising and learning Chinese in the mornings.

I highly recommend anyone having a tough time prioritizing exercising to just bite the bullet and pay for a personal trainer. Especially if you're making over $80k a year, it's easily the best money I spend. It'll make you less stressed, more confident, and generally happier. People like to work with happy, stress free, confident people so career-wise it's the best money you can spend too.

</comment><comment><USER13> No. I started college at 21, got hired as a software engineer at 25 in the bay area, and from 25-28 I dated, traveled, partied, and had a fun time. I worked at most 40 hours a week and viewed work as income for my hobbies. I'm 29 now and get contacted by FANG companies all the time for interviews, so I'm assuming my work experience is somewhat decent. I have minimal savings and a substantial amount of debt and I'm not as good of an engineer as I want to be, but I feel like its not too late to turn things around and start working harder now to advance in my career, and I have no regrets about my life experiences.

<comment><USER14> What level are you at as an engineer? Can you help architect whole systems or are you able to just own certain functionalities fully?

</comment></comment><comment><USER15> Nope.

I worked broad though. I held 18 jobs through my 20s -- selling Kirbys (vacuum cleaners) and life insurance, working in China as a 3rd party inspector, bus driver, working on a solar commune, developing custom manufactured parts (think bearings), IT guy (Level I and II) and importing solar panels, among others.

This was not intentional. I just never felt settled and wanted to try a little bit of everything.

I look at my peers (like my wife and my brother), who stuck to one thing are doing far better financially than I am. However, I still don't know if I'd trade places. Some of those experiences were fantastic.

</comment><comment><USER16> I didn't work too hard in my 20s, but absolutely did in my 30s.

In my 20s, my work week was roughly 40-50 hours at software startups. I very, very, very worked late or on weekends. I had few obligations outside of work, so I had plenty of time to pursue interests, get outdoors, hang out with friends, etc.

By my 30s, I was married and had a kid. I was still in startups, but in positions of higher responsibility. By the end of my thirties, no hour or day seemed sacred and 50-60 hour weeks were the norm. When my son was young, I dropped him off at school and kissed him goodnight in the evening. My wife, who also worked full time, shouldered more than her fair share of the child care load. We finally decided to sell the house in the burbs and move to the city. My commute shrank by an hour each way and being close to home meant I could do school drop off AND participate in after school activities since school, parks, athletic fields, etc. were all a 15 minute WALK from my office.

Now, I'm in my mid-forties. After the startup I was a VP at was acquired, I've lived the big company lifestyle. Most importantly, I'm back to 40-45 hour weeks and feeling far more balanced in my life. My job lets me take the time to spend with my family and doesn't interrupt my nights and weekends, despite still being in a position of higher responsibility.

If I could do any era over, it'd be my 30s. I basically missed ages 1-4 for my son and was not a great husband/partner for my wife.

</comment><comment><USER17> I question this myself. I worked over 100 hours a week on the 3rd - <USER2> version of the iPhone. Did I make a lot of money from working there? No not really. More than I made at the 3 startups I joined afterwards .. but only because I didn't sell my stocks. Did I learn a lot yes absolutely, probably about 5 years worth. Has it helped my career: Absolutely. It's opened many doors. I usually get to pick what I want to work on.

Did Paul Graham and Sam Altman both try to convince me to quit and join a yc startup or start my own. Yes at 2 different Startup schools they told me I was wasting my time. Shortly after I did join heed their advice and join 3 separate startups ... with mixed results.

Did I work too hard? Ultimately no, because it's like investing in the market. Yes you think you'd rather have more (booze, travel, video game, etc) at the time, but those things don't improve your life in the long run. And ultimately I wouldn't change where I am today for the world ... minus the pandemic / quarantine / civil unrest.

</comment><comment><USER18> Yes, I did. Slept at the office during crunchtime, identified myself with a very unhealthy work ethic and got burnt out doing so. Many of my friends have gone through the same thing - I think it's very common if you're a young self taught developer in advertising/startups.

</comment><comment><USER19> I worked myself to the bone in my 20s. I live in NYC. I can't remember how many times it was a holiday or weekend night that i was toiling away. I had my own business and wanted it to be successful.It lasted decade, then the industry (print) collapsed, and at 38 I went back for a Masters and transitioned to tech. Most times I read comments on this forum, it is asking if there is some point at which you need to be 'serious' or have accomplished as particular goal. In the end I think such questions are pointless. Life is unpredictable. There is a bit of luck and timing in everything. IMHO the most important thing is to stay curious, out of debt, and avoid working for or with jerks. The stress isn't worth it.

</comment><comment><USER20> I didn't work particularly hard. Aside from a year or two at near the beginning, I've always worked 40 hours a week. Today (32) I have a house in a nice part of a not expensive city, no debt excluding mortgage, and a well funded 401k.

</comment><comment><USER21> Yeah.

I graduated college shortly before the 2008 recession and wound up stuck in a very bad, dead end (for my IT career) job. But I was helping put my wife through college.

While it wasn't direct IT work, it was plenty of 'crunch' time with the sort of boss who though that a good 'punishment' was to restrict you to 60 hours for the week Or send you home for the day and have IT lock your account... in either case announcing it loudly so the whole team knows you're the reason they're going to fall further behind.

</comment><comment><USER22> Yes. I am now 32 and realized how hard my personal life suffered from thinking I could accelerate my career by working as hard as I could starting around 2013.

Sure, I got promoted around once a year and my salary jumped 10-15% per year without ever having to switch jobs. I learned a ton about enterprise software and architecture from real world experience. I went from zero to hero at my last job and became one of the most dependable people in my department in less than a year of working there.

But it took a heavy toll. I went through two wonderful relationships that turned sour from resentment. I worked 58-70hr weeks on average this year with no weekends for four months. The worst was a year ago when I worked 100hrs/wk for 5 weeks straight which led me to severe depression, a failed project, and a missed 10k bonus.

I never had energy to do side projects or anything else except play video games, which didn't counterbalance my work. I spent very little time on cultivating my relationship with my partner so being around them wasn't relaxing. I had ego issues even allowing myself to relax and give myself alone time because it wasn't time spent learning and growing. My life revolved around helping everyone but myself.

I turned down a 42k raise before I left my last job because I knew what the stakes were had I accepted it in exchange for staying. More money and accelerated experience won't give you a happy life. It will destroy it instead.

I finished my last consulting project a week ago and I'm just taking a few weeks to heal. No responsibility, no coding, no stress, no worry, no chip on my shoulder holding a club over my head. I meditate an hour a day now, which is very therapeutic, and I allow myself to play video games all day without judgement. It's time to celebrate me, and I'm loving it.

After I heal, it's time to start my own business. I'm tired of spending my valuable time and energy helping other people become rich while I clean up after every stupid political decision they make. People are way too aggressive on timelines and cost without understanding the consequences on the software and on the morale of their employees. I need to get out of the rat race and attain financial independence, which was my original goal before I worked so hard, I forgot where I was going.

</comment><comment><USER23> Yes and no. I worked stupid, which was the worst of both worlds. While I did have fun the few years I lived in SF, I spent a few too many weekend afternoons trying to study or work on something, rather than exploring, or hiking, or making new friends. I still work hard out of my 20s, but try to reserve time each week for meaningful activity and leisure. Less so in the last few months...

<comment><USER24> I identify with this more than anything else said here.

"I worked stupid"

I put in effort on the weekends or night but it didn't make a difference in my career. I was too dumb to realize it.

</comment></comment><comment><USER25> I did, and was pretty successful for it, but it very nearly cost me my marriage and family, so at ~29 I had to change.

</comment><comment><USER26> I worked hard but I also travelled a lot. I was in a commited relationship throughout my 20s which made it all the more enjoyable.

But it did seem to go fast. Career wise I have progressed but I've always fantasied about doing the start-up thing. I've never even launched a proper (personal project) website

</comment><comment><USER27> I'm 30 now. I worked very hard in my 20s (50-70 hour weeks on avg) and eventually burned out badly at 29. While I still consider myself ambitious, I now have a completely different view on work and living in general. I'm very careful about how I spend my time and more aware about my mental health than I've ever been.

I don't know if I regret it though. I learned a lot and had cool experiences. Sometimes I think I needed to go through it to appreciate what I have now.

I will say though that I no longer have a huge desire to work at that "hot" startup. I've worked in one, and while it's cool to talk about at parties, it won't magically make you a happier person.

These days I'd much rather spend time after work with loved ones or tinkering on a silly hobby. I'm really glad I've been able to make peace with that. Like some of the people who posted here, I used to guilt trip myself for not spending every waking hour doing something "productive" \- I now realize how toxic that mentality was.

TLDR: I worked a lot, learned a lot, and changed from it to hopefully live a more sustainable lifestyle in the future.

</comment><comment><USER28> Yes. I made other people rich.

<comment><USER29> I can sing that song too. However, I'm in a good place now, and what went before led to here, so I don't let "might have beens" cloud todays joys. Trite, but true.

</comment></comment><comment><USER30> Hell no.</comment>


Preserve and embed Flash content without the Plugin, with JavaScript - <AUTHOR> https://malloc.fi/preserve-embed-flash-content-with-javascript <comment><USER2> Doesn't work with my Chrome 59 browser on Android Nougat</comment>


Linkerd: Twitter-Style Operability for Microservices - <AUTHOR> https://blog.buoyant.io/2016/02/18/linkerd-twitter-style-operability-for-microservices/ <comment><USER2> Suppose I designed something from scratch at former company, and then I decided to reimplement the same project after leaving the company (and perhaps turn that into an open source project), with mostly new code, but similar concept, would that be considered copyright infringement?

<comment> brown9-2 are there a lot of companies in the practice of copyrighting their internal architecture and patterns?

<comment><USER3> In usa everything that is copyrightable, becomes copyrighted at moment it is created. For instance that sentence, and this on, are protected works owned by me. The only reAson HN can legally use then is cause I gave them license, buried somewhere in Eula/site terms of use.

Also, an architecture is not copyrightable. Maybe patentable. Copyrights protect specific expressions, not a general idea, plan, or architecture. At least not yet thankfully I haven't seen anyone try to argue an unrelated software doing same thing is a derivative work.

<comment><USER4> But Twitter has a patent pledge with its engineers [1]:

        The IPA is a new way to do patent assignment that
        keeps control in the hands of engineers and designers.
        It is a commitment from Twitter to our employees that
        patents can only be used for defensive purposes. We will
        not use the patents from employees' inventions in
        offensive litigation without their permission. What's
        more, this control flows with the patents, so if we sold
        them to others, they could only use them as the inventor
        intended.

[1]: [https://blog.twitter.com/2012/introducing-the-innovator-s- pa...](https://blog.twitter.com/2012/introducing-the-innovator-s-patent- agreement)

</comment></comment></comment></comment><comment><USER5> [Edit: Apparently this _is_ language-agnostic, which wasn't clear from the blog post, so please ignore the complaints below. Will leave them here rather than deleting.]

I loved the pitch, but then I discovered that this is Scala only, which was disappointing.

Sure, if your entire organization runs on the JVM (like Twitter presumably does), then something like this is going to be fine. But many/most organizations use multiple languages, for various reasons. At my company we are currently looking into replacing our current microservie RPC (JSON over HTTP) with something better, and we do need to support Ruby, Go and Node.js, as well as plain HTTP from browsers.

The only viable cross-platform RPC technologies right now are gRPC and Thrift, both of which are rather heavy-handed (lots of IDL + code generation + client/server setup code), and neither of which solve the really hard problems (discoverability, load balancing, fault tolerance, etc.). It's also doubtful that gRPC is really in a usable state yet. Thrift is by far the most mature solution in this space.

Maybe we'll be able to take some inspiration from this project when building our upcoming solution, whatever it will be.

<comment><USER6> No no, you're missing the point, it's an RPC proxy which is language agnostic. It sits along side your application as opposed to being a library that you bake in.

<comment><USER5> I see. My fault for going straight to the Github repo rather than to linkerd.io.

<comment><USER7> We can definitely improve the docs a bit on this point.

But FWIW we totally agree with you. Finagle itself is a JVM library, and that worked well enough at Twitter [insert caveats here], but a big part of the reason we built linkerd is extending that model to non-JVM / polyglot services. There's SO much good stuff in Finagle... it would be a pity to confine it just to the JVM.

<comment><USER5> Yup. I do wish there were more work done on the actual client/server side (the P and C of "RPC"), too, something Linkerd can't solve for you, and which I believe Finagle does.

So far all our work has been JSON-over-HTTP, which is not performant. We've looked at gRPC and Thrift, but we've been dreading the prospect of having to pre-declare IDL, generate language glue and write client/server setup glue for every app.

At the moment, we're closing in on using NATS as a routing proxy, fulfilling a role very similar to Linkerd. Turns out it's fast enough that you can do RPC with it, and it seems very reliable. Language bindings are good to the point where you have to write almost no glue code. You have to pick a serialization format, and I think Msgpack might work well here.

<comment><USER7> I'm curious to hear what your experience with NATS will be. We haven't played with it. I do know that a ton of the work that went into Finagle was around resilience at scale: things like backpressure, circuit breaking, and generally tolerating slow, bad, or flapping servers. Personally I would want to see that sort of thing in any RPC system before using it at scale.

<comment><USER5> We're a small shop; each of our clusters are currently a couple dozen static servers at most. So we don't really do anything at what would be considered "at scale". For us, developer ease of use and performance is a higher priority.

But we're slowly moving towards a setup where we'll likely rely on autoscaling, and where we will likely need a more robust architecture.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is actually closer to Google-Style operability than it is to Twitter- Style operability. :) Twitter doesn't have an equivalent of GSLB (software load balancer), which is essentially what this is.

<comment><USER6> Have you seen Google's GSLB? It's not a proxy and it's a rather complex and powerful system. It aggregates and coordinates traffic flow but doesn't directly do any kind of forwarding. You could maybe think of Linkerd like GFE but even still, GFE acts as an edge gateway rather than internal RPC system. This is like a wrapper around stubby or grpc.

<comment><USER9> Do you have any public resources about Google's GSLB? Searching for it results in general articles about GSLB.

<comment><USER6> I've only ever found two things publicly available on this. The patent related to DNS GSLB [http://www.google.com/patents/US7581009](http://www.google.com/patents/US7581009) and the video by Simon Newton which describes the global footprint and some of the services [https://www.youtube.com/watch?v=DWpBNm6lBU4](https://www.youtube.com/watch?v=DWpBNm6lBU4). Most of what I know about GSLB is from my time working at Google.

</comment></comment></comment></comment><comment> brown9-2 The "sidecar" proxy model reminds me a lot of [https://github.com/airbnb/synapse](https://github.com/airbnb/synapse)

<comment><USER10> We definitely took some inspiration from projects like synapse.

However, Finagle, the core tech behind linkerd, provides some extremely powerful tools to do things like:

\- per-request routing to support things like "when I browse the site, use the staging version of the users service and production versions of all other services". ([https://twitter.github.io/finagle/guide/Names.html#interpret...](https://twitter.github.io/finagle/guide/Names.html#interpreting- paths-with-delegation-tables))

\- request cancellation, so that when a user request timeouts downstream work can be reclaimed

\- budget-based timeout management ([https://twitter.github.io/finagle/guide/Servers.html#request...](https://twitter.github.io/finagle/guide/Servers.html#request- deadline))

\- circuit breaking ([https://twitter.github.io/finagle/guide/Clients.html#failure...](https://twitter.github.io/finagle/guide/Clients.html#failure- accrual))

\- etc, etc.

We think that offering these sorts of features in a sidecar model will be extremely powerful.

</comment></comment><comment><USER11> This is a good step forward for Finagle as it eliminates the anti-pattern of encapsulating the communications functionality into a library. This inevitably turns any collection of services into a distributed monolith, killing the loose coupling that is the point.

</comment><comment><USER12> Totally unrelated: the effect/animation when you hover over the avatars (Safari) at [https://buoyant.io/#team](https://buoyant.io/#team) is really weird. Not sure if it's intentional.

<comment><USER13> It's fine in Chrome, but in Safari it's very jittery and animates the wrong images.

</comment></comment><comment><USER5> Looks like the support protocols right now are HTTP, Thrift (framed transport) and something called Mux. Is this intended to be pluggable?

<comment><USER7> Yup, absolutely. Any requests? :)

<comment><USER14> GRPC. It's really the only practical choice if you have Go, Node.js, and PHP apps that need to consume one central service. It also has a lot of the benefits that Mux brings.

<comment><USER10> Luckily GRPC can downgrade to HTTP/1.1, so if you want some of linkerd's features it isn't a total non-starter; but this is obviously less-than- desirable. We're working with the finagle team to complete finagle's netty4 integration, which will enable us to transparently introduce netty's http/2 codec into linkerd. This is a high-priority feature.

<comment><USER14> that's a fair answer.

It seems like there's overlap beyond lack of HTTP/2 support, where some of Finagle's features are handled by GRPC in different ways. I'd quite like to use the GRPC way, since Google is maintaining the bindings to many languages, and doing a decent job.

</comment></comment></comment></comment></comment><comment><USER15> "It can be done, but it takes years of thought and work to make everything work well in practice."

Really wish they expressed the cost in man-years. It's a few calendar years, and thousands of man-years.</comment>


Microsoft Said to Pay About $400M in Xamarin Acquisition - <AUTHOR> http://www.bloomberg.com/news/articles/2016-02-25/microsoft-said-to-pay-about-400-million-in-xamarin-acquisition <comment><USER2> I have really apprehensive and mixed feelings about this... on the one hand part of me feels that it's about time, and maybe the right time to bring Xamarin's tooling into the fold... their cross platform tooling for VS has been great, and .Net via mono has seen some integration of MS's new .Net core codebase where appropriate.

The paranoid in me acknowledges that outside of MS Office, they've pretty much never kept a non-windows client project alive for more than two major releases. I wouldn't mind seeing the VS Code codebase become closer to what VS proper could have been, and seeing more cross platform support in that regard. I do like what they've been working on in Azure services and integration, just hoping the teams don't come in just to die in a year or two (Managed JScript, IronRuby, IronPython for starters).

I'm honestly hoping for the best, but that hope is definitely tempered.

<comment><USER3> But there are a few things going on here.

1) All of .NET is open sourced under the Apache License (not some weird MS license)

2) Xamarin had started taking thousands of lines of code from the open sourced .NET framework and replacing parts of Mono with it (like System.Decimal, etc). So that merge had started happening anyway.

3) The "Mono" differentiation was probably going to go away with .NET Core maturing.

4) MS needs a quick step up with cross platform toolkits for .NET, and nobody better than Xamarin, who's been doing it for a decade.

If they abandon Xamarin, you still have an APL'd .NET framework that's fully developed out in the open, and nobody is really left in a lurch. You can fork it.

</comment></comment><comment><USER4> The 30m sales number is quite interesting. Contrast this with digia's sale report ([http://annualreport2015.digia.com/about-digia/business- overv...](http://annualreport2015.digia.com/about-digia/business-overview)). Very close competition!</comment>


The taming of the newbie - a comedy on IRC  - <AUTHOR> http://use.perl.org/~masak/journal/40110 <comment><USER2> In C, parentheses mean expression grouping, function invocation and cast... depending on context.

In English, many words have different meanings depending on context: e.g. not to be mean, but you know what I mean, right? Ordinary human speakers have no problem with this, even without theoretical linguistic training.

I'm not convinced that Larry Wall (a formally trained linguist) has chosen meanings and contexts that really do fit in with what human speakers intuitively expect. But it could well be that it is just that I am personally familiar with C-style grammar, and not with Perl's. If I "grew up" with Perl, perhaps it would seem natural?

Perhaps it's exactly the same as with human languages: that languages with very different grammars are not so easy to learn for most people. And... perhaps there is a linguistic window for learning programming languages, as there is for human languages (which is up to about 7yo)?

<comment><USER3> No, they mean different things depending on _syntax_. (char *) is never a function invocation.

<comment><USER2> I was picturing an AST, with the parentheses in the _context_ of that. However, you're quite right that _context_ seems to have a specific technical meaning here, and not the general one I was using.

</comment></comment></comment><comment><USER4> Interesting post about perl, but the end is most interesting about Life In General:

"But I guess there's also a moral to it all. We all start somewhere, and in a way it's reassuring to find five-year old proof of this fact. A newbie is just on a part of the learning curve you've already visited; they haven't had a chance to tweak their keyboard and developing environment to maximum efficiency yet, and they sometimes forget that the manual is there, or misread it in some way. So, don't hesitate to be be kind to them, and help them connect to the goodness that is perldoc, PerlMonks and Planet Iron Man so that they can grow and bloom into experienced wielders of Perl.

But don't hesitate to call them insane, either, when the situation calls for it."

The only thing missing from Life In General is The Fine Manual.

<comment><USER5> Reminds me of the mantra I repeat to myself whenever I start going to the gym again:

"Everybody's got to start somewhere"

<comment><USER4> And that reminds me of an observation I made after going to the gym for a few months (and that after doing nothing for 30 years) :

I'm not good at anything, but I'm better at everything.

</comment></comment></comment><comment><USER6> > nowadays we have flip for strings, reverse for lists, and invert for hashes

That seems utterly insane.

<comment><USER7> It follows Perl's philosophy very closely.

As an example: in Javascript, the binary + operator means either addtion or concatenation, depending on the type of the left-hand side. In Perl there are different operators for that, + for addition and . for concatenation.

That means that you have more operators, but you need less type conversions, because they happen implicitly.

This now follows the same philosophy: different operations have different names. List reversal is not the same as string reversal. Neither is hash inversion.

Within this context it's the most logical thing you can do.

<comment><USER3> Wait, nothing you just said makes renaming "reverse" "flip" more logical.

<comment><USER8> Sir, I have a frivolous data point for you. It's from a blog post I wrote shortly after the change from 'reverse' to 'flip' for strings (<<http://use.perl.org/~masak/journal/38800> >):

"Strangely enough, nothing happened when clicking the 'flip!' link... a moment's reflection gave the cause of this: a few days ago, [Larry Wall] has syntactically separated reversal of List (.reverse) from the reversal of Str (.flip); my code was like three weeks old and was still using .reverse for strings, which in the newest Rakudo got interpreted as one-elem lists, and list-reversed with no visible effect whatsoever. I fixed that, and found the fact that the link in the Lobster app was already called 'flip' an indication of the appropriateness of the name change. Perl 6 just keeps getting nicer and nicer."

The relevant piece of background is that I was porting the example application (Lobster) from the Rack framework, where the link was already called 'flip'. So, suddenly both the link and the method were called 'flip'.

</comment></comment></comment></comment><comment><USER9> Then I should no wonder I cannot program in Perl, and stick with Lisp, Lua, JavaScript & C.

<comment><USER8> Perl 5 has many other sides apart from the context-dependence. To mention a few, the regex sublanguage is deeply integrated into the rest of the language, there's an active and versatile testing culture, and CPAN hosts 17k modules for countless of fields and applications.

Some of those (such as testing culture) are mirrored in other languages' cultures, others (such as CPAN) are unparalleled in scope. Ignoring Perl 5 based on a single feature causes you to miss out on all the truly good parts.</comment></comment>


Why Amazon's CDN Offering Is No Threat To Akamai, Limelight or CDN Pricing - <AUTHOR> http://blog.streamingmedia.com/the_business_of_online_vi/2008/11/amazons-new-cdn-offering-does-not-challenge-akamai-and-limelight.html

<comment><USER2> this is a terrible article. It goes out to discuss how it isn't at all similar, but never bother to quote pricing from the mainstream providers, but we are asked to just take it on faith... I mean the points could be valid, but for gods sake give me some data to backup your wild claims.</comment>


Implementing a "sketch" style of rendering in webGL - <AUTHOR> http://floored.com/blog/2014/sketch-rendering.html <comment><USER2> 12 years ago for Quake:

[http://research.cs.wisc.edu/graphics/Gallery/NPRQuake/](http://research.cs.wisc.edu/graphics/Gallery/NPRQuake/)

[http://research.cs.wisc.edu/graphics/Gallery/NPRQuake/sketch...](http://research.cs.wisc.edu/graphics/Gallery/NPRQuake/sketchScreen.jpg)

Loved it back then. A bit harder if you don't have shaders, too.

</comment><comment><USER3> Cool!

It'd be awesome to see hatching that wasn't aligned to the particular planes, but rather the camera normal. That'd give it more of a "Take On Me" ([https://www.youtube.com/watch?v=djV11Xbc914](https://www.youtube.com/watch?v=djV11Xbc914)) look.

<comment><USER4> Not sure what you mean by "camera normal" though I suppose you've kind of specified a pair of intersecting planes for each surface point... This is an interesting area. Some discussion in Hertzmann and Zorin's paper from a few years ago (not realtime) [http://www.mrl.nyu.edu/publications/illustrating- smooth/hert...](http://www.mrl.nyu.edu/publications/illustrating- smooth/hertzmann-zorin.pdf)

</comment></comment><comment><USER5> This is really beautiful. However, be warned, the webGL widget completely froze my Firefox (on OSX), I had to kill the process to recover. No problem in Chrome though.

<comment><USER6> My general experience with WebGL demos on HN have been that they only work in Chrome. I prefer Safari as my everyday browser (for no configuration iCloud sync reasons), but even with "Enable WebGL" checked, no WebGL apps seem to work.

</comment></comment><comment><USER7> The cool tech aside, I am also extremely impressed by the diversity and balance of the team. Congratulations on building a very respectable workplace, that is clearly able to deliver! I wish you guys the best.

</comment><comment><USER8> Very impressive, but navigating in the widget was quite difficult with a trackpad (MagicTrackpad). Not entirely sure that porting FPS key commands to an embedded widget makes sense.

<comment><USER9> It doesn't have a concept of a viewer so you go straight towards whatever you're looking at. It's quite easy to end up outside the room looking in through the floor :)

</comment></comment><comment><USER10> Very cool. The shaders fail to compile in the demo though, in Safari (on OS X 10.10). I get

[Error] Shader: invalid fragment shader 'bilateralGaussianBlur'</comment>


ShowHN: Quickly find people with the right skills within your company - <AUTHOR> http://blog.discoursehq.com/2012/10/discourse-214-quickly-find-people-with.html

<comment><USER2> Awesome!</comment>


Switching From React To Vue.js - <AUTHOR> http://vuejsdevelopers.com/2017/05/28/switch-from-react-to-vue-js/ <comment><USER2> I have built applications using React and most recently Vue2.

Both are very very similar and if you are familiar with one you will be able to pick up the other quite easily.

In regards to webpages both are capable of doing the same things and fit the same uses cases.

That said however if I was to start a greenfield application today, I would choose React. The reason for this is that react is better known, it is easier to find solutions for, and it has more mature guidelines for things like project structure and best practices.

Vue is good competition for React and it will certainly help keep it on it's toes. However in regards to longevity, I feel React will be around a lot longer than Vue. React has the full support of facebook and is being used by other major vendors. Vue is also used by some big sites, however it has no official backing that I know of and is maintained by a "Benevolent dictator for life".

In a year or two I predict that I will see another article with a title along the lines of "Switching From React To <insert new hotness here>". It is very unlikely in my opinion that I will see a "Switching From Vue To <insert new hotness here>" article.

<comment><USER3> Vue is backed by one of the biggest companies in China. You need to do more research. Vue is more popular in China than React. I would say I would rather start a new an app using Vue because of the learning curve is a lot faster to pick up than React.

<comment><USER4> A non-trivial amount of info and discussion around Vue (esp. third-party packages) is in Chinese. Whether that's a plus or a minus depends on whether you understand the language.

<comment><USER5> That's for sure a minus, even if you speak the language. You are restricted to a smaller subset of developers that can improve the ecosystem (and let's be frank that most good developers should know English but not Chinese, internationally speaking).

<comment><USER6> The logic may not be sound as you cannot tell for sure if there are more English speaking front end developers or Chinese-only speaking ones, given the population of China.

<comment><USER7> There could roughly be as many front end developers in India ... which has 23 languages.

China also has multiple languages and dialects, see: [https://en.wikipedia.org/wiki/Languages_of_China#/media/File...](https://en.wikipedia.org/wiki/Languages_of_China#/media/File:China_linguistic_map.jpg)

English is the lingua franca of software development and I don't see that changing anytime soon.

</comment></comment></comment></comment></comment></comment><comment><USER8> I have (some) experience with both React and Vue 2 and definitely prefer the later. Vue is very minimalistic but unlike React provides a lot of functionality out of the box. Stuff like the router, the computed properties, automatic change detection, HTML templates, scoped css, animations, ... . But what's more important is the fact it does all these things in an extremely elegant and unobtrusive way. The computed properties are an often overlooked but good example of this. You simply declare an object property that is dependent upon other properties and voila, that's it. It's there in your component together with the rest of your data for you to use in your template. It gets memoized, it gets change detection, it just works (TM). No need for Redux, Reselect, selector functions or any of those things. I love the simplicity of this approach. And this is just an example, but this very minimalistic approach applies to everything that Vue offers.

<comment><USER9> > unlike React provides a lot of functionality out of the box. Stuff like the > router, the computed properties, automatic change detection,

I never studied Vue, but the article starts saying "Both have separate, but commonly used, router and state management libraries". This doesn't look like "out of the box" to me.

<comment><USER10> [https://vuejs.org/v2/guide/routing.html](https://vuejs.org/v2/guide/routing.html)

For most Single Page Applications, it's recommended to use the officially- supported vue-router library. For more details, see vue-router's documentation.

[https://github.com/vuejs/vue-router](https://github.com/vuejs/vue-router)

\--

[https://vuejs.org/v2/guide/state- management.html](https://vuejs.org/v2/guide/state-management.html)

Vue offers vuex: our own Elm-inspired state management library.

[https://github.com/vuejs/vuex](https://github.com/vuejs/vuex)

\--

Out of the box or not, they're part of the same github org, they're officially supported and they're documented in the official docs. I think this is just splitting hairs.

<comment><USER9> Redux has been from the same github org for a very long time too: [https://github.com/reactjs/redux](https://github.com/reactjs/redux)

And react-router, while not being on the same github, is pretty much considered a standard too. It's ok to not split hairs for vue.js, but then you shouldn't do the same for react...

<comment><USER11> react-router, do you mean v1, v2, v3, or v4 (or perhaps v5 and v6, I haven't checked if there was a new release with breaking API changes during the past 12 hours).

<comment><USER12> I mean react-router is almost a 3 year old library trying to handle a rather complex problem. The first three versions were largely the same with no major changes that I can think of except for switching from context to higher order functions.

I think everyone is a little dramatic about the number of versions of the library, especially when they are going to continue to support v3.

<comment><USER13> Well, that just makes things even worse - now you have to choose which version to use, which is just proving the OPs point.

<comment><USER14> If you don't like having to choose which version of react-router to choose, you probably should be using a preset like create-react-app which makes this kind of decision for you. Or you should use something other than React which includes everything and the kitchen sink.

<comment><USER13> Exactly! (snark aside)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Things you're sacrificing when going away from React:

1\. Stability. FB uses it for their main product, which is probably the biggest web app of them all, they pay many devs to work fulltime on it. People coming from Angular, who had to migrate all those breaking changes over the years know the struggle.

2\. Options like React-Native, React-VR and co. React enables your devs to acquire a whole new range of possibilities. It isn't just a web framework.

<comment><USER16>
        Options like React-Native

When you use React for a web app, how close are you to turn it into a React Native app?

<comment><USER17> the hearsay is that if you used only components that are available for both, it'd take very little extra boiler plate to get it working on both native and web. But all non-trivial apps have their own components and that's what makes native difficult.

<comment><USER18> This really isn't the case. I have built apps with lots of code reuse on native and web.

Abstract all data logic and you can use the exact same code for both apps. This of course does not include your view layer. If you do it correctly, all you have to do is make a new set of view components. Stateless ones. Because you are injecting the state from your non platform specific components.

It makes it extremely fast to build for other platforms. It just takes a few apps to fully understand how to abstract these things perfectly.

</comment></comment></comment></comment><comment><USER19> Working with React for almost 3 years now. Came from Angular, Bootstrap, jQuery, etc.. Done small and very large projects with it. It scales better than anything I've used before. It's amazingly reliable and robust.

Looking at Vue I cannot think of 1 single benefit I gain by switching. It doesn't even come close to what React is capable of imao. I really have no clue why people are pushing this at all.. Are there any examples of large projects that switched from React to Vue without suffering a loss?

<comment><USER20> Vue has electrolytes and it is gluten free. Seriously though I think Vue is the latest shiny example of everything that is wrong with the javascript community.

Javascripts huge problem is the lack of a standard library or better yet a standard way of doing anything. To fill that void alone came NPM. With a million tiny fragmented micro libraries. Then it became a common to start reinventing the wheel and selling your idea to build up your community by claiming the trivial syntax changes make it so much easier to use. I like you have no clue why people are getting so excited about rewriting their apps all the time.

I think of Vue like attempting to reinvent the calculus of react with a clever syntax and more simplified form but results in a Riemann approximation.

I think Vue is more frontend focused where react is achieving far more like react fiber. I do not doubt the power of js community to keep cloning things into forms they are more familiar with and claim a smaller payload is best metric of success.

Who would have thought so much open source collaboration would lead to so much fragmentation?

I wonder what machine learning algos will come up with when they design their own programming language, because I think programming languages are being held back by discussing what syntax makes me feel good to type out.

<comment><USER21> The problem is that people assume that old = bad. As soon as one technology is starting to have a nice big community and enough ressources to be usable, the hype for something new destroys it.

People could use Angular 2 Years ago just fine, what on earth happened that it suddenly became so terrible?

Also those are just frontend frameworks! Why is everyone glorifying those??? Is Backend an after thought nowadays? "We got nodeJS... The frontend guy know JS. He will code something, don't worry."

</comment></comment></comment><comment><USER22> I think it's important for any comment or post touting the superiority of Vue to also provide insight into the author's experience with and feeings about React. You very rarely hear from devs who were loving React, tried Vue anyway, and came away believers. This leads me to wonder whether it's not so much that Vue is "better," it's more that it operates in paradigms that are intuitive to some individuals and teams in ways that React might not be. I don't see that as a hit against it or anyone but as a very satisfied React, it does make me take every glowing Vue writeup with a grain of salt.

<comment><USER23> They are pretty similar, though one thing this article lightly touches on is the standalone .vue file, which works absolutely beautifully. JSX feels like a hack to me, and the ability to write HTML, JS, and CSS _as such_ in a single file greatly simplifies everything. You can even use different flavors of each (ES6, Sass, etc) no problem. I would be shocked if this feature doesn't find it's way into react, angular, and others.

</comment></comment><comment><USER24> Vue and React both seem a little too heavy in boilerplate. It's also interesting that Vue seems to think that mutable state is a good thing (well, vanilla React does have mutable state too...).

For the boilerplate (and large bundle size!) problem we have [http://markojs.com](http://markojs.com) that looks very interesting.

However, I think what we really might want is something closer to ClojureScript's re-frame ([https://github.com/Day8/re- frame](https://github.com/Day8/re-frame)) and Reagent. However, Clojure and it's tools aren't really that great for beginners/juniors and/or people with little experience in FP and lisps.

Maybe in the near future we'll see a little bit more FP style JS solutions pop up?

<comment><USER25> At the risk of sounding like a shill (I bring up Riot a lot), check out Riot.js. It's a bit rough around the edges in terms of docs/presentation, but it's by far the most minimalistic and most productive "react-like" ui lib I've used.

It's all very very expedient and you can pick it up in a day and be churning out advanced applications with very little mental load. It also supports in- browser compilation so you can get up and running instantly without having to set up Webpack/Browserify/Whatever, which is great for testing it out. Later on you can easily transition to using its offline compiler + whatever packager you want.

The main downside is the community is small. But it's very close to Vanilla JS so I've practically never encountered an issue where I needed riot-specific help.

<comment><USER24> I've done some work on Riot actually!

If you like them, check out RE:DOM - the author of that one did some work on Riot too.

RE:DOM might be even more minimalistic and lightweight than Riot.

</comment></comment></comment><comment><USER26> Our company migrated to vue.js, 4 months ago. Our complex app is messy with JSX, router, and new dev can't keep up with code. Now we start every new app with Vue.js. The gap between junior dev and senior dev comes closer. They can collaborate with less bugs, less problems and less time to develop.

<comment><USER27> Is it because of the technology or because of the team? Rhetorical question - I am by no means attacking you or your team, I just clicked on your "is messy with JSX, router" sentence and decided to put my reply under yours.

I see many people tackling React but not developing in a 'React' way. For example I recently saw on HN some user complaining that he had to create N functions to handle N items on a form, while computed properties would have done the trick with only one.

I have no experience with Vue but extensive with React, having developed both small and bigger apps and the only real issue for bigger apps was that it was hard for new users to grok the project initially because of the component- based approach of React.

I do agree that the learning curve for React is pretty steep, but you reap the benefits later on as React 'scales' extremely well in my opinion.

<comment><USER28> router and redux make it messy (or rather lack of standard of routing and global state management in react makes every one create their own half assed implementations)...

also transitioning web developers from writing giant HTML pages to thinking about smaller components is a difficult, without dedicated react designer.

All these make non trivial react apps a graveyard of crappy jsx and messy untyped tangles of JavaScript code.

<comment><USER29> > also transitioning web developers from writing giant HTML pages to thinking > about smaller components is a difficult, without dedicated react designer.

Can you elaborate? I naturally gravitate towards separating code into components in a framework-agnostic sense - React was very intuitive to me and devs I've talked to seem to feel the same way. Writing huge atomic pieces of HTML is nothing but a huge headache; it's awful to maintain as it results in copious amounts of redundancy / tech debt.

<comment><USER28> perhaps I was being impatient observing a group of web developers and designers trying to jump into a large React project, practically with no prior experience in react (although familiar with Angularjs, html, css, js, dom) - however the fact is that after 3 months of dev, the react codebase turned into an absolute mess - albeit following best practices around branches, testing, pull request reviews, continuous delivery to staging environments etc...

The main issues seemed to do with global state management favored by Redux (hello global variables, I thought we were over you years ago :) ) and tendency to jam html into react components designed as screens, rather than components.

</comment></comment></comment></comment></comment><comment><USER30> I have no doubt VueJS will be the most popular framework in a couple of years, right now the adoption rate is not as fast as it could be because people have already invested in React/Angular so switching so soon looks like a downside, but people just getting started and that have zero investment in any of the 3 frameworks will go for VueJS without a doubt, because is much more easy to learn and equally or even more powerful.

That was my case, I spent several years sticking to jQuery and waiting for the wave of "a new JS framework out every x months" was over, and after researching which framework to learn, VueJS was a clear winner.

The syntax is way more simple and elegant, and as soon as Weex is stable it will be able to power mobile apps too!

</comment><comment><USER31> There is a bit of React kool-aid in here, makes me really wonder if any of them have actually tried using Vue because the benefits and improvements you will see with Vue are immediately noticed.

To be frank, the OP actually did a poor job of presenting Vue here because it only mentioned the similarities, which doesn't do any good for Vue. It did not get into areas where Vue is better than React, which is what most would be interested in hearing.

If you ever put React and Vue.js side by side and compare, it is almost a no brainer to switch. How it handles bindings, the way they got Redux done right, and the single file component style, are all improvements over React IMO. I'd jokingly say if React were to keep improving and evolving for the next couple years, it may possibly look like Vue.js as of today.

<comment><USER32> Interesting. I hadn't touched React in months and recently spent a week with Vue. I had trouble getting up and running and was soon longing for React, or at least what I remembered of it.

<comment><USER31> Look up nuxt.js. It is like react starter kit for Vue, comes with SSR and webpack configured, etc.

<comment><USER33> While Vue is awesome, Nuxt is quite horrible. Nuxt's developers have made some _very_ weird design choices that you can't opt out of if you want to use it. For example, you have to define your routes by defining a directory structure[1], which means you have nonsense tree structures, no aliasing, etc. While they've provided an easy to start SSR solution, the rest of it is simply bad.

[1] [https://nuxtjs.org/guide/routing/](https://nuxtjs.org/guide/routing/)

</comment></comment></comment></comment><comment><USER34> Do people like Vue because it's more declarative than react? Is it mostly angular devs switching and getting the best of react but still having directives?

I like the control react gives me without the black box 'compiler' which seems like it makes a bunch more choices for you.

I'm probably biased, someone cmv?

<comment><USER35> I hate directives. There is nothing you can do with them you can't do with just plain callbacks or putting React components inside another that renders its children. HTML templating directives are stupid too, I find myself looking up syntax references for angular even though I've used it for ages. (Think semicolons and magic variables like `$event` or `index` in *ngFor bindings – you don't need these unfortunate and necessary syntactic choices if you just use JSX.)

So yeah, Vue is probably slightly more declarative than react, at the usual cost of having to learn all the declarations. When I first looked at it, I saw the 'v-' prefix on HTML attributes and just stopped.

<comment><USER36> +1 debugging angular directive was a nightmare... but things might be different with typescript checking on angular-directives...

(but ironically, react-typescript got props checking faster...)

</comment></comment></comment><comment><USER37> The far biggest problem with Vue for me is the template language. Once you've used JSX you just don't go back to Angular style templates.

<comment><USER38> A couple notes:

(1) You can use JSX with Vue. [https://vuejs.org/v2/guide/render- function.html#JSX](https://vuejs.org/v2/guide/render-function.html#JSX)

(2) By "Angular style templates" do you mean Vue's Single File Components? Because from my POV they're glorious, and the primary reason I'd be reluctant to use React instead of Vue.

<comment><USER39> Re #1: for both React and Vue, if you don't stick to the most common and standard methods for implementing functionality, you're going to cause yourself a lot of unnecessary pain. Everything around those ecosystems (documentation, debugging tools, libraries, etc) is designed for streamlining development for people who don't stray from the mainstream.

</comment></comment></comment><comment><USER40> At our company we built single-page apps using Vuejs. It's very simple to pick up and easy to merge with existing templates and code (as it looks and feels a lot like standard HTML).

it takes less than a day for a dev to be up and running with Vuejs, where React is a bit more tedious to get started with.

</comment><comment><USER41> The major problem with this tutorial is that it doesn't cover single file components ([https://vuejs.org/v2/guide/single-file- components.html](https://vuejs.org/v2/guide/single-file-components.html)) at all, which are superior to (and preferred to) implementing string based render functions (which rely on a runtime template compiler). Indeed, the Vue NPM package doesn't even provide the runtime template compiler by default. Stuff like what the article promotes are great for development if you just want to include a <script> file, but are clunkier than the way that you're actually supposed to do things.

<comment><USER42> > The major problem

I did not see it as a problem. I appreciated the light weight approach being shown first. In fact, for my use case, I prefer not to bring in the ecosystem. That could change, and the article introduces the heavier approach.

> the way that you're actually supposed to do things

The one message that comes out of the Vue camp and happy users is that Vue can fit many project types - small to large. Not having to always use single file components is the pragmatic part of that inclusionary message.

<comment><USER41> That approach is actually heavier - the template compiler needs to be distributed (extra 15kb gzipped) and templates need to be rendered at runtime.

<comment><USER43> I think they meant "lighter integration" \- you need less tooling to get going. Bad for performance, but good for dipping your toes in.

But that is important to note - it's not the most performance way to do it.

<comment><USER42> Correct... I was referring to the tooling ecosystem.

</comment></comment></comment></comment></comment><comment><USER44> I remember a couple of years ago when people were posting about switching from Angular to React. Now it's React to Vue. I'm going to be honest and concede that Vue may well be better than React. But having used React productively for a couple of years now, I don't really see much point in throwing out something that works well in favour of something else that also works well. Back when it was "why we switched from Angular to React", it was easy to understand because Angular 1 is awful. But React isn't awful at all and I don't really see what I'm going to gain by switching to Vue.

</comment><comment><USER16> What are good examples of popular websites (not behind a login) that make use of Vue or React?

I ask because I keep reading about it, all programmers seem to use it, but I just don't come across websites that use it. Is it only used for backend dashboards? Or do all Vue/React sites fail to gain traction for some reason?

<comment><USER45> Mobile Twitter uses React. [https://mobile.twitter.com/facebook](https://mobile.twitter.com/facebook)

Airbnb uses React [https://www.airbnb.com.au/rooms/432044](https://www.airbnb.com.au/rooms/432044)

Facebook, Facebook Messenger, Instagram, Netflix, Reddit Mobile, new Reddit Profile pages are all high profile sites using React that aren't just 'backend dashboards'.

<comment><USER16> Interesting. The ones not behind a login (Twitter,AirBnB,Reddit Mobile) are sites that feel laggy and clunky to me. With slow loading content, loading animations, laggy scrolling, too much stuff opening in new tabs, confusing interfaces.

I wonder if React causes/incentivises this or if it's design decisions by the coders/designers/managers.

In contrast, pages like Reddit Desktop, Google and Amazon work much better for me.

<comment><USER46> Actually the new Twitter Mobile called Twitter Lite is super fast, did you try the latest version? It's a full progressive web app that works offline, has notifications and super fast scrolling. It was designed to work on low end Android device, give it a try: [https://mobile.twitter.com](https://mobile.twitter.com)

<comment><USER16> At first it gives me a white page with a little blue twitter logo. Then the twitter logo disappears and I see a white page for a second. Then it gives me a strange blue page with a giant twitter logo and two buttons glued to the bottom that tell me to log in.

<comment><USER47> Are you perchance using a RFC6214 network? Because the page is around 600kb compressed and renders in less than 500ms for me, on an empty cache.

</comment></comment></comment></comment></comment></comment><comment><USER48> I'm currently making a mobile f2p game in Unity. I previously had created a Cocoa app for the game item creation/ db management. Since we changed the architecture of the game pretty heavily, I needed to rewrite the tool. I chose Electron + Vue over Cocoa. Despite having very little web dev/JS experience, I was able to make a fully functioning app in under 3 months that syncs with a server and has multi user editing. Huge fan of Vue. Haven't had the pleasure/displeasure of React so can't really compare.

</comment><comment><USER49> What is the state of isomorphic / server side rendering for Vue and React? Is it a straightforward thing to setup?

<comment><USER38> I haven't done this with Vue yet, but it looks pretty easy to do both prerendering and server-side rendering[1].

A more complete solution, Nuxt.js[2], appears to be gaining in popularity as well.

[1] [https://ssr.vuejs.org/en/](https://ssr.vuejs.org/en/) [2] [https://nuxtjs.org/guide](https://nuxtjs.org/guide)

</comment></comment><comment><USER50> I've always felt that React is a constantly churning ecosystem. The patterns keep changing too fast for me to settle down or catch up. That way Vue.js has done an amazing job. Sort of reminded me of Rails. Today I'm happy with Vue.js for my small to medium applications. Keeps things simple and beautiful.

</comment><comment><USER9> > ... If message is passed as a prop to any child components, Vue knows that > they depend on this will be automatically re-rendered as well. That's why > there's no need for a shouldComponentUpdate method on Vue components.

I think that React does the same? If a component's props and state don't change, shouldComponentUpdate doesn't get called at all IIRC. shouldComponentUpdate, instead, is useful when a state or prop _was_ changed, but it's possible to quickly detect that the change _won 't_ require a DOM update anyway.

<comment><USER51> There's a default shouldComponentUpdate implementation in the React.Component. It does a shallow compare of state and props. When you define shouldComponentUpdate you are just overriding that implementation. So it's always called, its just you don't need to always define it.

<comment><USER52> The shallow check is on React.PureComponent. shouldComponentUpdate just returns true by default in React.Component components. See here for details: [https://facebook.github.io/react/docs/react- api.html#react.p...](https://facebook.github.io/react/docs/react- api.html#react.purecomponent)

</comment></comment></comment><comment><USER53> When I switched from Ember to react what I missed the most was the two ways binding, the computed properties and the router. From dabbling in Vue.js it seems to have incorporated the best of both worlds. I read over some of the technical implementation and it seems pretty sane. It seems too good to be true and I am honestly wondering what is the catch. Everything I have read about vue has been very positive so far. I am curious what are some of the cons of using vue

</comment><comment><USER54> It's been eighteen months guys, time to rewrite all our front end code from scratch!

<comment> a-guest So true! And now you need to do a re-write with each of the top 250 frameworks of 2017. [https://twitter.com/HackerNewsOnion/status/86819780153190809...](https://twitter.com/HackerNewsOnion/status/868197801531908096)

</comment></comment><comment><USER55> The things touted as benefits sound like disadvantages.

</comment><comment><USER56> I'm curious as to why some people refer to Vue as "the new hotness".

I understand the concept but Vue was realeased in February 2014, which seems pretty ancient in JavaScript years.

Wasn't React released only a year prior? Well, it's been around since 2011 but it was open sourced in 2013.

Either way, Vue has been around and in use for a little while now.

</comment><comment><USER57> I dunno. I wouldn't call React lightweight.

</comment><comment><USER36> you can use mobx to make react 'vue-like'

</comment><comment><USER58> I stopped reading at "both are fast and light weight" because I don't find react to be "light weight". React is 275K (nearly a quarter of a meg) when it is minified and gzipped. 750K when it is not minified/gziped.

We're talking about a web page UI here. It should be tiny for users with slow connections. React seems big to me and I can't justify it except in very large applications.

As such, I struggle to find the reason React is so popular. Perhaps I'm a bit old school. People say it's easy to reason about, but I don't find that to be true in real world large applications with a lot of developers working on them.

Still, I'm trying to like react, but these things are a struggle for me.

<comment><USER59> > React is 275K (nearly a quarter of a meg) when it is minified and gzipped. > 750K when it is not minified/gziped.

That statement is completely false.

email@example.com:

react.min.js is 21335 bytes uncompressed, 7353 bytes gzipped.

<comment><USER58> I'm including everything you need to deploy in those numbers. You included only React and not React-Dom. My own try at setting up React results in a 750k js file when I follow the instructions below. I realize this isn't minified yet and I welcome feedback on how to make it better.

[https://www.joeldare.com/blog/post/create-a-react- app/](https://www.joeldare.com/blog/post/create-a-react-app/)

The top search results for react minified size show similar numbers to my 250k. There are a lot of people throwing out a lot of numbers that are different. Versions likely play a role, especially after 15. Here are some references.

[https://gist.github.com/Restuta/cda69e50a853aa64912d](https://gist.github.com/Restuta/cda69e50a853aa64912d)

[https://stackoverflow.com/questions/19807946/why-is- reacts-f...](https://stackoverflow.com/questions/19807946/why-is-reacts- filesize-so-big-given-its-small-api)

Nothing I can find references a size as small as you mention with react and react dom. Most recommend writing with ES2016 which probably adds Babel overhead as well. When I build "Hello World" myself, I can't get anywhere near the small sizes.

I'd love someone to give me a proper smack-down on this. I want to love React since it's a recent requirement of my job. But with my current knowledge of it, I can't seem to get the size down.

<comment><USER59> You need to add uglify to your webpack.config.js.

[https://webpack.github.io/docs/list-of- plugins.html#uglifyjs...](https://webpack.github.io/docs/list-of- plugins.html#uglifyjsplugin)

</comment></comment></comment></comment><comment><USER60> Why would anybody do that? Maybe only when you charge by hour it makes sense because making something more complicated than Todo list is a struggle.

<comment><USER61> Why?

</comment></comment><comment><USER62> I don't get it. Lets say that you have a well formed team, then you have a designer. A designer is who does the UI but know or care so little about programming. With React, the UI is practically JSX that very few people know (in comparison with html) and what we will get instead?, the result is the same html that it tries to avoid.

<comment><USER63> JSX is very close to HTML. Maybe the issue is expecting designers who have zero dev skills to build front ends in a time of responsive design and rich JS interfaces. You wouldn't hire a print designer with no Photoshop experience to design a site, and you shouldn't hire a graphic designer with no web dev skills to build front ends. If you're team is really well formed, you might have an experienced graphic designer, a UX expert, and a front end developer who does the actual building as well as making day-to-day design decisions. The design/interface experts would work at a higher level of creating an overarching design language and UX guidelines.

<comment><USER64> Only in the first world clients pay enough for such a team to make a living. Not a case for other countries.</comment></comment></comment>


I'm Your First Customer: Fraud Detection as a Service for Payment Aggregators - <AUTHOR> http://callmeed.posterous.com/im-your-first-customer-fraud-detection-as-a-s

<comment><USER2> Isn't this something he could set up on his own end? Sounds like a problem similar to spam detection.</comment>


Most of the world's great music is out of copyright and waiting to be free - <AUTHOR> http://songseed.com

<comment><USER2> Did you make this site? If I were the creator, I would not show it to strangers until I seeded it personally with 100 or so tracks. Nobody likes an empty party.

EDIT: typo: "current for forever" => "current form forever"

</comment><comment><USER3> This site has so much potential!

</comment><comment><USER4> You might have a hard time getting orchestras to donate their work. Who knows, though.

At any rate, once the recordings from the 1950s go into public domain, almost the whole body of classical work will be available.

<comment><USER5> Thanks for having a look :) If you're an an ameter orchestra, or even most professional orchestras then all of your money is made from people coming to your concerts. Thus - if you had a way of getting free publicity by getting your name out there ( _and_ sharing the music you and your fans are passionate about) you'd be irrational not to.

</comment></comment><comment><USER6> Very cool, hope to see this take off!

</comment><comment><USER7> Bookmarked. I'll be back. If this turns out to be as good as it can be, I'll be back often.</comment>


If you have a new Macbook you can't charge the new Earpods without an adapter - <AUTHOR> <comment><USER2> Don't they just charge via lightning? So a usb-c to lightning cable will work, no?</comment>


Patents Do Not a Product Make - <AUTHOR> https://512pixels.net/2020/01/patents-do-not-a-product-make/ <comment><USER2> The economics on that look terribly bad. Keyboard is too high or screen is too low. Keyboard is too close to the screen.

I suppose you'd adjust those but for a single piece of glass product, your sort of stuck with placement.

Honestly, what's wrong with a wireless keyboard? Or a wired one?</comment>


Ask HN: One macOS desktop computer, stand-up desk and sit-down desk - <AUTHOR> [This might be more appropriate for Stack Exchange or Reddit, but I wanted to try here first.]
I have a macOS desktop computer. During the day, it's a work-work computer and my stand-up desk is where I use it from. In the evenings, I do side gig work, project stuff and other things that invariably happen when I'm at a second (sit-down) desk, which has a comfortable chair and that helps my mind think.
I have 4x screens, each is a different model. Two on the stand-up desk, two on the sit-down desk. I have macOS set up to recognise them individually in a horizontal 4x1 array.
I have one user account because sometimes side gig stuff becomes work-work stuff and it's more convenient to have it all in one place.
When I start my evening stuff, I log in and move all my windows to the screens on the sit-down desk. When I'm done, I shut down. In the morning I log in and move the windows back to the stand-up desk.
There's a lot of moving stuff around, and my morning peak of motivation and focus is offset by rearranging screen furniture. Every. Single. Time.
I'm looking out for a way to harness two working environments/zones/etc on a single-user, multiple-desk macOS system and save myself some of the repetitive work. Re-reading this, I hope I'm not coming across as some sort of lazy or entitled tool (I'm not).
I am very grateful for input and ideas, and thanks for reading. <comment><USER2> I don't know about the options for Apple's operating system, but this is the sort of task that tiling windows managers (such as Xmonad or i3 on Linux) make short work of with a few keystrokes. [1]

Tiling window managers provide extensive control in exchange for a brief learning curve and the very occasional corner case where manual pixel perfect window alignment has enormous benefit -- I can't remember any.

I recall reading that Xmonad will run on Macs if the display manager is changed from Apple's proprietary code to X11.

Good luck.

[1] I have been using Xmonad for several years and I will never go back to a non-tiling manager (large piles of cash might create an exception).</comment>


WebToSnailMail - <AUTHOR> http://www.gfilter.net/webtosnailmail/ <comment><USER2> Haha. Better yet, how about send an e-mail and have it transcribed to a real letter?

(And of course a quick Google search reveals www.postful.com)

</comment><comment><USER3> =) I thought they were going to send it using live snails... clever, thanks.

</comment><comment><USER4> The address is at Google HQ.

</comment><comment><USER5> How is this any different from printing out an article myself?

</comment><comment><USER6> This tickles me. :)</comment>


Fixed (YC S14) Parking Ticket Service Gets Blocked in San Francisco, Oakland and LA - <AUTHOR> http://techcrunch.com/2015/10/12/fixed-the-app-that-fixes-your-parking-tickets-gets-blocked-in-san-francisco-oakland-l-a/ <comment><USER2> It doesn't seem that Fixed was doing anything that contravenes the law.

We still are a nation of laws, and not of men. One would think that, in the interest of justice, governments couldn't ban an automatic appeals system like Fixed. People do have the right to an appeal.

<comment><USER3> The whole sidestepping-the-CAPTCHA-on-a-government-website is a rather gray area in terms of legality.

<comment><USER2> Possibly, although if you were to think about the purpose of a CAPTCHA, wouldn't it run roughly like this:

 _To ensure that a given submission is the affirmative action of an individual human being._

And, if an individual human being stuck with a $100 parking ticket has asked Fixed to send an appeal on his behalf, and Fixed has a script that fulfills the CAPTCHA, and Fixed never does this without being hired and paid by a unique individual, then I don't think the purpose of the CAPTCHA is being violated at all.

</comment></comment></comment><comment><USER4> why not just provide their mobile app the ability to submit things directly?

Just need a basic scriptable browser interface (i.e. a scriptable httpclient), this might change day to day (but no different if all server side). If one could just have a sufficient api (what to GET, what to post, what state needs to be saved, how to get user to enter captcha....) one should be able to keep the instructions updated on the server side and have it always be submitted from the phone.</comment>


Rewriting your test suite in Clojure in 24 hours - <AUTHOR> http://blog.circleci.com/?p=66

<comment><USER2> In the vein of mmullis' suggestion, I've successfully used Emacs batch mode to reformat huge Runa code bases. I blogged about it here: [http://www.lispplusplus.com/2013/10/mass-clojure-file- format...](http://www.lispplusplus.com/2013/10/mass-clojure-file-formatting- with-emacs-batch-mode.html)

</comment><comment><USER3> Did you consider using Emacs batch mode for re-indenting the source in bulk?

</comment><comment><USER4> curious as to why you guys left Midje (I use clojure.test as well). What plugins/infrastructure were you missing?

<comment><USER5> For me, this is the essential bit: _clojure.test is simpler and less magical_. You can read the clojure.test source code and understand it in an hour or so - the trickiest bit is the extension system (e.g. throws?). Midje has a lot of really dark macro magic and the code is... complex.</comment></comment>


Possibly horrible product, but the best Amazon Customer images and reviews - <AUTHOR> http://www.amazon.com/AutoExec-WM-01-Wheelmate-Steering-Wheel/dp/B000IZGIA8/ref=cm_cr_pr_product_top <comment><USER2> Well most of the comments are jokes.... I'm guessing that this appeared on something like reddit or digg?

"Wow is this thing great! I use it as a "mini-bar" when the friends and I go out to the bars. I can quickly fix multiple shots of tequila for myself and the friends as we drive from one bar to the next. We also discovered that if you place a pillow on top of it and turn on the cruise control you can catch quick naps on the interstate. If you swerve to the left or right the rumble strips on the road wake you up in plenty of time before you get into trouble. I can now take longer trips without being tired!

Also, i am now dating a midget and she fits nicely on the steering wheel desk which allows us to experiment sexually while driving. This thing is like WD-40 or duct tape, it is a million and one uses!"

<comment><USER3> Yes: [http://www.reddit.com/r/WTF/comments/dxd8e/love_those_custom...](http://www.reddit.com/r/WTF/comments/dxd8e/love_those_customer_images/)

</comment></comment><comment><USER4> There's an entire community that's built up around odd products found on Amazon: [http://www.amazon.com/tag/amazon%20oddities?ref_=tag_dpp_cus...](http://www.amazon.com/tag/amazon%20oddities?ref_=tag_dpp_cust_itdp_t)

</comment><comment><AUTHOR> What does this say about the old adage: "All publicity is good publicity"?

</comment><comment><USER5> This is why America is great.</comment>


Has anybody else noticed Facebook is sending more notifications than usual? - <AUTHOR> https://twitter.com/ankitkr0/status/982928464293408768 <comment><USER2> Yep. Where previously it was about replies to my own stuff, now its about activities that others make</comment>


Utopic lets you see what content is trending amongst your friends - <AUTHOR> http://eu.techcrunch.com/2011/03/03/utopic-lets-you-see-what-content-is-trending-amongst-your-friends/

<comment><USER2> Blogged more about what we are doing with Utopic yesterday: [http://kaljundi.com/2011/03/02/see-whats-popular-among- frien...](http://kaljundi.com/2011/03/02/see-whats-popular-among-friends- utopic-me-preview/)</comment>


Is GIT Greedy? - <AUTHOR> https://twitter.com/andrestaltz/status/1008424416424980480 <comment><USER2> This has nothing to do with Git and everything to do with GPL. GPL is the reason why things like Linux and Git have such a strong community: if you use GPL code, you have to contribute back to open-source. GPL is greedy in the sense that it won't let you combine it with closed source code. It's not greedy in any monetary sense. Either be part of the community or find another tool.

</comment><comment><USER3> I don't understand how anyone can try to spin having to respect the author's rights when using their work as being "greedy". I mean, a guy picks up someone else's life work, wants to sell it as his own work after doing some minor tweaks, and once he is faced with the need to comply with the original author's requests he has the gall to describe that as being greedy?

It seems to me that the only greedy part in this deal is the guys who want to take other people's work and ignore the rights to those who actually created the stuff they want to sell as their's.</comment>


Google Indexes Images from PDF Files - <AUTHOR> http://googlesystem.blogspot.com/2015/08/google-indexes-images-from-pdf-files.html <comment><USER2> While interesting that they do this, it does not appear they are doing anything difficult. The linked PDFs have images embedded, as opposed to say being scanned and then automatically recognizing image borders and such.

</comment><comment><USER3> This only supports restaurants keeping their menus in PDFs.

<comment><USER4> which is great, because 80% of the websites are for otherwise acceptable restaurants with mediocre site presence and implementation. The 20% that have a worth-visiting mobile implementation still don't support the "view the desktop version of this site" requiring me to re-download-and-install Dolphin Browser on android just so I can manually spoof the browser agent to "Desktop".

I wonder if there would be a market for a rancur-approved sticker/logo that you can place on your website, and index and search by, to help usability- conscious users rid their online experience of pesky mobile implementations.

</comment></comment><comment><USER5> > Back in 2008, Google started to use OCR to index the full text of scanned > PDF files. Now Google extracts images from PDF files and makes them > searchable.

The astounding rate of progress of Google! In only 7 years they have gone from extracting PDF text, to extracting the embedded images. When will the miracles of those technical wizards cease to astonish all who gaze upon their brilliance ?

I wonder if there were some other reason Google waited so long to include PDF images? Perhaps something legal. Since the actual technical requirement is really clear, the photographic image bytestreams are simply stored in the PDF, and the utility for people seems quite large, there being a lot of images stored in a lot of PDFs.

Perhaps it was simply overlooked or not on the roadmap until they made a lot of other perhaps judged as more-important changes to their image search such as changes to their image representation indexing ( which they do by majority color it seems ) and image content indexing ( which it seems they contribute to using DNN generated descriptions ).

It seems likely they would have rolled this out in a limited fashion maybe a few times over the years before waiting longer to do it, pending whatever was missing for a general release.</comment>


IOCCC vs. Clean Code - <AUTHOR> https://athos.blogs.balabit.com/2011/11/ioccc-vs-clean-code/ <comment><USER3> very interesting - but I wonder how much of this can be automated - <USER2> could be a nice benchmark on deobfuscation utilities. Besides the obvious possible things (strange syntax, whitespace, indentaiton) and very difficult ones (giving human meaning to things - although pattern matching and ML could maybe be applied here) is there anything non-obvious that exists now ?</comment>


Integrate Your Rails Layout in Your Wordpress Theme (or any PHP application) - <AUTHOR> http://www.alfajango.com/blog/how-to-include-your-rails-app-layout-in-your-wordpress-theme-or-any-php-application/ <comment><USER2> That's really impressive.

If like many businessmen you find yourself having more money than time, view any page rendered in Rails, save the HTML, and upload to these guys. <http://www.themespress.com/> It is all automatic and costs $10. Then you can serve them from the same site with a bit of reverse proxy magic. See: [http://www.kalzumeus.com/2009/08/22/using-wordpress-and- rail...](http://www.kalzumeus.com/2009/08/22/using-wordpress-and-rails-on-the- same-domain/)

You don't get designer quality outcomes, obviously, but it will let you add a Wordpress blog to any Rails site you have in twenty minutes or less.

Example: <http://www.bingocardcreator.com/blog/> (main site Rails, blog served from Wordpress, theme created directly from above site with one-line modification to remove dates from blog posts.)

<comment><AUTHOR> That's pretty cool, I hadn't seen that. Seems like it would take more time though than coding it in once and then not having to maintain updates and redesigns in your Wordpress theme.</comment></comment>


Ask HN: What is this Geiger Counter measuring on CNN? - <AUTHOR>

http://ireport.cnn.com/docs/DOC-573238<p>Some people are panicking after seeing this. I'm no radiation expert but it seems to me you have to know how this is calibrated and what it's measuring. Can anyone out there tell? <comment><USER2> Viewer gullibility?

<comment><AUTHOR> Heh. Was hoping for someone who could state an actual level of radioactivity.</comment></comment>


The gender wage gap in Silicon Valley - <AUTHOR> https://medium.com/code-like-a-girl/the-gender-wage-gap-in-silicon-valley-f32229dcf935#.bcnwk9qq2 <comment><USER2> Why almost nobody who claims to "know statistics" adds standard deviation values to a chart with median or mean? And then "median is better to understand the distribution!" No, it is not, it's similarly useless. Give me the sigma.</comment>