Ready for Production Apps: Flutter Beta 3 - <AUTHOR> https://developers.googleblog.com/2018/05/ready-for-production-apps-flutter-beta-3.html <comment><USER2> I've been playing around with Flutter for a few weeks now and I'm convinced that this is the future of cross platform app development. I was initially put off by having to learn an obscure language (Dart), but the reality is, it's a lot easier to learn than learning all the semantics, tools and practices that come with a massive ecosystem like React.

<comment><USER3> I'm evaluating it. Why do you think it's the future? What's the feature you value most?

<comment><USER2> I've been a React fanatic for several years, so my opinion is colored by that:

1\. Great DX (developer experience) - a single language (Dart); no need for JSX, JavaScript, JSON, Flux/Redux and various other libraries. You can focus on the business logic rather than battling the ecosystem.

2\. A single set of components (no iOS or Android specific navigator components etc.)

3\. No longer need a JS engine to run - truly native

4\. As fast as promised

<comment><AUTHOR> Being agree with all 4 points I see two drawbacks:

1\. Not using OEM widgets. Even the rendered widgets may look good, they can't beat the native widgets optimized for the particular platform.

2\. The choice of Dart as the main language.

I can understand both points though

<comment><USER4> I don't think using non-OEM widgets is a bad thing because it's not like Electron; Flutter uses Skia to render widgets, and it's fast. There is an article [https://medium.com/flutter-io/why-flutter-doesnt-use-oem- wid...](https://medium.com/flutter-io/why-flutter-doesnt-use-oem- widgets-94746e812510)

<comment><USER5> I'm always concerned that accessibility is being left behind. Android and iOS both put great efforts into making their UI accessible, why do the work again? Chances are that the accessibility of those third-party components will be worse or maybe doesn't even work at all.

<comment><USER6> The problem is that the accessibility work already needs to be done on every platform (for now we have two really popular ones but nobody can be sure what the future brings).

Also, if you could just recompile your app for a new platform and release (more or less), it would remove the biggest barrier to entry for possible new platforms: Adoption.

<comment><USER5> That's not what I meant. Android and iOS already have their own widgets with accessibility features in place. iOS even better than Android. It took years for them to develop to where they are now.

Now Flutter is making its own widgets that look and handle like the corresponding native widgets. So they need to implement accessibility all over again in the same way that is already present on the platforms. Google is thus redoing all the work they already did in Android.

A lesson from modern software development is that software is developed incrementally and because accessibility is never high on those priority lists, it will lack in quality at first and take multiple iterations to get up to the same level as the native accessibility of the OS, if it even gets there in the first place.

<comment><USER7> I think accessibility was a requirement for an internal google flutter app, have you had a chance to look at [https://flutter.io/accessibility/](https://flutter.io/accessibility/)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> nevi-me I like the direction that Flutter has taken, cross-platform without the baggage of being a web platform.

If you know JS and Java, Dart is very easy to learn. About a few hours' worth of tinkering and you'll be good.

I had an Android app [0] that I was trying to build with Kotlin in the evenings/weekends. I switched to Flutter, and was able to get something out of the door in less than the time I spent on Kotlin/Java.

I like the mix between Flutter and being able to call native APIs. The only thing I'm missing right now is good maps support. Google and Mapbox have some prototypes, but it's still too early to use them (for what I want to do).

[https://play.google.com/store/apps/details?id=za.co.movingga...](https://play.google.com/store/apps/details?id=za.co.movinggauteng.mytrain)

<comment><USER8> > cross-platform without the baggage of being a web platform.

Simple ability to run in the browser, even not perfectly, would still add a lot of value though..

<comment><USER9> From Laws of spacecraft design -> 39\. Any exploration program which "just happens" to include a new launch vehicle is, de facto, a launch vehicle program.

I suspect adding ability to run in browser imperfectly would just invite demands for Flutter to become a web dev framework entirely.

<comment><USER10> Good point, but that would still be welcomed, though I'd probably prefer it be a diffeent product (ala the opposite of react-native).

Flutter has shown that it's possible to build a truly native implementation from "web" tooling. I've shipped apps with Ionic and such before (but not React-Native yet), but despite how much care goes into the application, they've still never felt native, and Flutter bridges that gap perfectly.

If it somehow managed to also be able to deploy the same code to the web, perhaps using a different (or providable) CSS grid, I think it's as close to a holy grail as we'll manage.

</comment></comment></comment></comment><comment><USER11> This all sounds very cool until you need something in your app that is not provided as third party module yet, or numerous third party plugins that you are using start being unmaintained or buggy or they don't support your use case.

Then you'll need to write your own plugin in native language, but you have been writing in Flutter and you don't know enough about the native platform.

My opinion, if you don't know native development yet, make two "boring" applications in kotlin and Swift and learn the native platforms. Long term you'll be a better more complete app developer. Later if you want to try flutter or react-native you won't be locked by what plugins can do.

<comment><USER12> Learn Swift+iOS & Kotlin/Java+Android then Dart/Flutter. How many lifetimes is that to become deeply proficient?

<comment><USER13> I do consulting across Java, Android, .NET, C++ and Web stacks.

I am a Language X expert that knows every little detail, surely no.

Am I proficient enough to keep costumers happy with the results and willing to keep assignments for new stuff coming my way? You bet.

<comment><USER12> The second sentence doesn't quite make sense to me. Are you saying you hire yourself out to customers as an expert in Java, .Net, C++ & web stack but with only enough detail to produce work that keeps them happy?

<comment><USER13> Yes, in a way that is it, just I haven't stated that I am an expert, rather that I know them well enough to deliver quality work.

Most companies don't have software as their core business, they just want something that works for their business case, and most of the time they even value more domain knowledge and social skills than beautiful technical solutions.

If it works, fulfils the SLAs and the internal teams are happy with the delivery acceptance review, that is all that matters.

<comment><USER9> I think whats adding to the confusion here is the "I am a Language X expert". I suspect the Am and I need to be interchanged there.

<comment><USER13> You are right, I got that part wrong.

I am surely not a language expert.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The title is a bit of an oxymoron; aren't production-ready and beta mutually exclusive in most cases? The examples they showcase seem like pretty small and simple apps. The musical one seems like it could've easily been a web app, since it's just displaying information.

<comment><USER15> Amen. They are trying to have their cake and eat it too.

</comment></comment><comment><USER4> I am having a side project built with Flutter. (here: [https://play.google.com/store/apps/details?id=zero.sleep.com...](https://play.google.com/store/apps/details?id=zero.sleep.comchat) ). The ecosystem is not as big as ReactNative (because Dart + it's new) but the developer exerience is really good. Dart is not that bad, and I really love the toolings even they were in the experimental state. Hot Reload, good IDE, typed, Java-like but less verbose, stream...

<comment><USER16> This is beautiful, thanks for sharing. Do you have a repo hosted somewhere I could poke around in?

</comment></comment><comment><USER17> Anyone else wants them to release flutter for desktop so that we can replace electron?! Someone at Google please make this a possibility!

<comment><USER18> Something like [https://github.com/google/flutter-desktop- embedding](https://github.com/google/flutter-desktop-embedding) ?

<comment><USER17> Yes!! This is a great start! They have a gold mine in their hands. I hope they understand that and make it a possibility!

</comment></comment></comment><comment><USER19> There are several aspects of Flutter that are compelling. The two which I find the most interesting are speed of development and the platform independence when designing the app.

Speed of development: I've seen Flutter development referred to as a "double hot reloading" dev paradigm: UI and app logic. Hot-reloading the UI on design changes isn't new (React Native, NativeScript, and even Xamarin can do this) but the team at Google made a purpose-built debugging compiler for Flutter which separates state management from the app logic so if you're working on code deep into an app and need to fix something in the logic, the executing code is reloaded while the app's state and UI remain where they are so you don't have to start over from the launch screen, log in, start your transaction/order/process..... This process cycle -- launch, login, start an order, get to the state of an order to test the logic I just altered -- used to consume five to ten minutes per iteration when I was doing Xamarin work. Being able to edit and re-run the application logic without losing state and starting over is HUGE!

Platform independence: the UI for Flutter apps doesn't rely on the native OS widgets of iOS or Android (or Fuchsia!) but a C++ layer that bundles and ships with the app in question. It's akin to building a business app in game template where you can custom-define everything about the UI and any widgets you want to use... a lot of work but they will look and act the same on iOS and Android (and Fuchsia) and presumably run fast. This is a massive difference from Xamarin where cross-platform apps end up using the platform- native widgets which is known to result in non-trivial amounts of "if (Platform_Android) {...} else if (Platform_iOS) {...}" or just going the more sure-fire way of not entering Xamarin-debug-hell: make the UI for your app using the platform-specific Xamarin-tooling and move as much code to the share logic layers which don't need to be changed between Android and iOS.

The final thing I'll say about Flutter: I told a colleague who thinks that C++ is the _ideal_ cross-platform mobile language about Flutter. Two weeks later he came back, told me he made a demo app with it, then decompiled the resulting IPA and APK files to inspect the assembly code and he concluded that it was essentially the same as if the app had been written in C++ from the get-go. I'll take his word for it since I lack the skills to verify that for myself but it certainly speaks well for the performance potential of Flutter!

<comment><USER20> > _This is a massive difference from Xamarin where cross-platform apps end up > using the platform-native widgets which is known to result in non-trivial > amounts of "if (Platform_Android) {...} else if (Platform_iOS) {...}" _

Is your Xamarin experience using Xamarin.Forms? It sounds like Forms allows for more cross-platform gui code reuse. I'm doing a lot of investigation into Xamarin because I'm learning C# this summer for an internship and I love the language.

<comment><USER19> Xamarin.Forms provides an abstracted UI definition of common controls across platforms. This makes design faster since you can simply specify a Button or a Picker without knowing or caring that the actual implementations on iOS are UIButton or UIPickerView (eg: UIDatePicker) or that on Android they are android.widget.Button or android.app.DatePickerDialog. All UIs defined in Xamarin are rendered with OS-native widgets.

</comment></comment></comment><comment><USER21> Biggest blocker for me is not being able to use WebView.

Issue [https://github.com/flutter/flutter/issues/730](https://github.com/flutter/flutter/issues/730) has been open for 2+ years with no solution.

It would be nice to know how big of a challenge this is or if there is a plan to solve it at all.

<comment><USER22> There are existing options for this: [https://pub.dartlang.org/packages/flutter_webview_plugin](https://pub.dartlang.org/packages/flutter_webview_plugin)

</comment></comment><comment><USER23> How good is FFI in Dart? I mean how fast and easy is it? I see that it can call C and C++ libraries, but that's nowadays a basic requirement for any FFI. I'm looking maybe for an opinion and maybe some kind of numbers to back up it's performance.

As far as I understand it on Android it's compiled to a CPU native binary and has to use NDK and JNI to do anything. If that's a fact it's funny that on Google's own platform it has to go through two FFIs - Dart to C to Java. While on iOS just one - Dart to C, because what's there not to it for Obj-C?

I'm dreaming for a truly native everywhere platform. Something that would compile to DEX or JVM byte code for Android, CLR on Windows and a binary everywhere else. While using native widget toolkit for each platform - practically without any FFI. Also respecting HIG of each platform. Yeah, I'm a dreamer.

I heard about [https://www.elementscompiler.com/](https://www.elementscompiler.com/) , but I would also like for it to be open source. :P

<comment><USER24> I mean, if you're gunna use C++ libraries, is there a reason not to just make the whole app in C++ (like with Qt/QML)? Seems adding a new language/toolchain to the mix is a recipe for headaches.

That's a genuine question :) I don't do any app development so maybe I'm missing something - is Qt not sufficient? It seems to run on everything as-is

<comment><USER23> I didn't say anything about C++ libraries, at least in case of my dream thing.

The problem with Qt is that it draws its own widgets. It is close on some platforms like with Gtk+ theme, but most people report how it does not look native on their platform. Also on Android it has to use JNI and NDK so it's not native to Android as DEX/Java is. On Windows I believe that CLR or at least COM (you can do it even C, but that requires effort) is a native platform.

Qt is from a time when C was kinda native for everyone. It's a different world now for better or worse.

Of course Qt has some advantage over one of many other widget toolkits drawing their own widgets. It hooks to native accessibility APIs for example. Other than that: dlangui, Lambda Native or even SDL2 can be seen as contenders.

<comment><USER24> I see the limitation.. but I must be missing some subtle distinction b/c isn't Flutter doing essentially the same thing under the hood?

"The engine's C/C++ code is compiled with Android's NDK, and any Dart code is AOT-compiled into native code. The app runs using the native instruction set (no interpreter is involved)."

"The engine's C/C++ code is compiled with LLVM, and any Dart code is AOT- compiled into native code. The app runs using the native instruction set (no interpreter is involved)."

<comment><USER23> It does the same thing, that's why my dream is not fulfilled by Dart. Or may even have worse accessibility, but I don't know.

If it would be compiled to DEX (native for Android APIs) or JVM (compilable to DEX) byte code it would be different. It would at least enable use of it to make such a dream.

<comment><USER7> I posted this earlier, I think accessibility was a requirement for an internal google flutter app, have you had a chance to look at [https://flutter.io/accessibility/](https://flutter.io/accessibility/)

</comment></comment></comment></comment></comment></comment><comment><USER25> On iOS it's not possible to seamlessly integrate any custom UI drawing with OS animations (keyboard, rotation). This means that certain types of apps will never feel right on the platform, which should significantly limit usability of the framework outside of Android and desktop.

<comment><USER26> Interesting. Can you expand on which types of apps wouldn't feel right on iOS if developed in Flutter?

<comment><USER25> Any app where text input is a major feature — messengers, social network apps, email clients. Most apps with a search field — usually some parts of UI move when opening and closing keyboard. Long time android users don't expect any of these interactions to animate smoothly and in perfect sync, but it is essential for iOS UX.

</comment></comment></comment><comment> d--b Isn't "beta" supposed to mean "not quite ready for production"?

<comment><USER27> Chicken and egg, right? If Google declares it not ready for production, then nobody uses it for production apps, so it never gets the kind of testing it needs to really be production ready.

If Google declares it out of beta, then people assume nothing will change, and if things do change they complain.

So the current wisdom is to have a 'production ready beta' which indicates an in-between period where things can change, but you're encouraged and expected to use it in production.

<comment> vertex-four Wouldn't that traditionally be a Release Candidate? Something you think is good to go, but needs wider testing before you can say that for sure?

<comment><USER28> I think with release candidate there is only bugfixes later, but with the beta the door is left open for API changes etc.

</comment></comment></comment></comment><comment><USER29> Fun fact: on pre-release Angular 2 versions, Dart was it's main language. My hypothesis is that, if they decided to continue using Dart, probably we would have more Dart developers and this could have lead to a faster Flutter adoption.

<comment><USER30> angulardart (1) is still available, but probably not used by any serious project. Still have mixed feelings about dart - apparently some of the biggest frontends at Google (advertising) use this, so it must do something really good.

1: [https://webdev.dartlang.org/angular](https://webdev.dartlang.org/angular)

<comment><USER31> I'm not sure what you mean?AdWords uses AngularDart. It's the best-supported way to build a web app in Dart.

There was web UI framework churn in Dart's early years, but last I heard, Google has settled on AngularDart.

</comment></comment></comment><comment><USER32> Flutter is by far the best UI library I've dealt with. Its like React, but without the nasty JSX syntax. The APIs are sane and thoroughly documented. Its layout model is (by design) super simple, so it's really quick to prototype and iterate. The developer tools are top-notch: great support in IntelliJ, hot reload.

But the best thing about flutter is the rendering. It's completely consistent across platforms because it renders every pixel itself and because of this it's also really easy to draw exactly what a designer envisioned.

</comment><comment><USER33> I liked the idea of Flutter since I saw it for the first time probably long time ago. Dart as a language choice was throwing me back though, but in general this language is very similar to ES6 and makes OO easier. For example it doesn't require to use `this` in methods. I wish it was TypeScript instead, because it has more mature tooling and community support.

I'm still hesitant to put my hand on it for side project until it's more popular. Chicken and egg problem I guess.

<comment><USER34> I get that learning another new language sucks and JavaScript would've been nice instead but the Dart language choice actually enables some very nice features in terms of developer experience. I don't remember the details off the top of my head, but I believe stateful reload is one example of what possible because of Dart.

</comment></comment><comment><USER35> > Alibaba praises Flutter for its consistency across platforms

As a user, I don't. Sure, on Android Flutter looks OK, but on iOS it looks out-of-place.

<comment><USER36> There is an iOS theme (Cupertino), but I am not sure how complete it is.

<comment><USER37> It's not so much the widgets as it is the actual look and feel. Neither scrolling nor text rendering is _quite_ right.

I wrote a post to that effect here: [https://harveynick.com/2018/05/21/an-ios- developers-opinions...](https://harveynick.com/2018/05/21/an-ios-developers- opinions-of-flutter/)

</comment></comment></comment><comment><USER38> A few months ago, I began using Flutter for a sideproject (That I wanted to release).

Although the developer experience is absolute fantastic (And definitely the future), the plugin ecosystem is extremely lacking. I wanted to use AWS, and there was 0 backing for it. Since I didn't want to interact with raw AWS APIs, I moved to React Native.

<comment><USER39> It looks like you could "wrap" native libraries using custom packages: [https://flutter.io/developing- packages/#plugin](https://flutter.io/developing-packages/#plugin).

I'm curious which AWS APIs you'd want to connect your mobile app directly to. S3/ SQS?

<comment><USER38> I wanted to use Cognito & Lambda functions (Through the API Gateway). The AWS- Amplify library makes this super easy, but isn't available for Dart.

If there's a better way, please let me know! I loved Flutter, and I loved Dart.

</comment></comment></comment><comment> kyle-rb Flutter looked absolutely perfect to me until I looked into calling C++ libraries, in order to facilitate a mobile version of a desktop app made with Qt/C++. It turns out the only way to call C++ code is to write two separate wrappers, one in Java (with NDK) and one in Objective-C.

It seems like a pain in the ass to have to go through two separate channels to access code that's perfectly cross-platform to begin with.

</comment><comment><USER20> Does flutter have a canvas yet? Whats the story for making arbitrary custom components, like a draggable rectangle that can be moved around a grid?

<comment><USER40> "A widget that provides a canvas on which to draw during the paint phase."

[https://docs.flutter.io/flutter/widgets/CustomPaint- class.ht...](https://docs.flutter.io/flutter/widgets/CustomPaint-class.html)

Edit: All of the built-in framework widgets are written in Dart and rendered via canvas-like draw calls at the lowest layer (See dart:ui). Since the widgets are available under a liberal open source license you can fork them and customise them however you like.

</comment></comment><comment><USER41> The part I wish to have for things like this:

> We're also working to make it easier to add Flutter to your existing Android > or iOS codebase.

Ideally, it must just refer a single lib + provide the path to the dart code/resources folders. Plus have a truly nice bridge/callbacks so I could have the heavy logic inside my native code.

ie, as easy as possible like with a webview.

</comment><comment><USER42> How does it compare to React-Native?

I know it compiles to native, but on the other hand only the business-logic in RN is written in JS, UI and bindings are native.

Create-React-Native-App and Expo already deliver very good UX.

My main pain points with CRNA/Expo are bundle size and in-app purchases, not performance or DX.

</comment><comment><USER43> Anyone has any comment on Fuse framework? Since it has been open sourced i have been looking into it and it seems interesting to code in.

</comment><comment><USER44> Apple really need to react if they want swift to get any traction. IOS hasn't had any major UI update since iOS7 , and android is a mess anyway, so using a cross platform now makes more sense than ever. The icing on the cake would be to have a path for reusing dart business layer between flutter and angular.

That's a really promising stack.

<comment><USER45> Ha. This is hilarious. Most high-profile / successful iOS apps (other than games) are native. And judging from what I'm seeing in the ecosystem, I'd guess that most teams out there have switched to Swift or will do so soon. There's very little enthusiasm or innovation in the Objective-C ecosystem at this point.

The lack of a major UI update in the last few years is a feature, not a bug. It doesn't seem to have held back either iOS device sales or the Swift ecosystem.

<comment><USER44> I don't think you got my comment right. I was advocating for apple to expand swift to other platforms ( android, pc desktop, web, server, whatever), in order to compete with techs like flutter.

The reason cross platform tools weren't a good fit before and are now is both because hardware is now powerful enough, and because platforms have now reach a stable point.

</comment></comment></comment><comment><USER46> I keep checking up on issue 730 once in a while:

[https://github.com/flutter/flutter/issues/730](https://github.com/flutter/flutter/issues/730)

Nope. Still no inline webview component.

<comment> nevi-me That reminds me of MongoDB's infamous issues that remained open for years. They became the subject of many blog posts and discussions.

I still remember SERVER-1243 so well because of how much I saw it. They eventually fixed/closed it last year, after 7 years.

My main missing features on Flutter are:

* background execution * Google maps parity with Android/iOS

[https://jira.mongodb.org/browse/SERVER-1243](https://jira.mongodb.org/browse/SERVER-1243)

</comment></comment><comment><USER47> This has been posted 4 times before with zero interest in it when it was announced a month ago.

Did something change?

Did someone just want an excuse to talk about flutter for a bit?

I'm quite opposed to this 'post random link on topic X because I want to talk about X' thing.

If you want to talk about flutter at least bother to find something which is technically interesting to read. This is just marketing talk.

<comment><USER48> Probably marketing, that's the one thing that bugs me about Flutter and React Native. They're not as big as the hype would have you believe</comment></comment>


Git commands for the routined - <AUTHOR> http://wiki.winehq.org/GitWine

<comment><AUTHOR> That's a great collection of git gems for tasks needed in everyday workflow explained in a pragmatic manner.</comment>


The Best Square Root Method Algorithm - <AUTHOR> https://www.codeproject.com/articles/69941/best-square-root-method-algorithm-function-precisi <comment><USER2> I really wish this article had explained how each method works. It's going to take me some time to analyze each method to see whether any of them are the method I was taught in elementary school.

It extracts the square root to any desired precision one digit at a time and it looks a lot like long division. In binary you get one bit at a time and there is no guesswork so it goes pretty quickly.

<comment><USER2> I found the method I was taught at [https://en.wikipedia.org/wiki/Methods_of_computing_square_ro...](https://en.wikipedia.org/wiki/Methods_of_computing_square_roots) under the heading Digit-by-digit calculation.

It does not appear that this matches any of the methods tested. A long time ago I implemented it in assembly for integers. It should be possible to write a floating point version but my programming experience has been in embedded systems and I never needed floating point. I would need to study floating point representation but don't have much interest.

</comment></comment><comment><USER3> I did a similar comparison last year, but mine was for an embedded system with no FPP (MSP430). I was able to shave more than half of the average execution time compared to the (highly optimized TI) math library function. The only drawback to my method was that it would fail for input values greater than 255. Fortunately my application was guaranteed to never supply an input value greater than 240.</comment>


Localization is a requirement, here's a guide - <AUTHOR>

http://336699.org/localization-is-a-requirement-heres-a-guide <comment><USER2> Thanks for the useful guide. But I don't believe it's a requirement, I believe it is widely constrained not only by the location but also by the intended user and market for the application. A good example of what I mean is Adobe Flash. This program uses many terms that are particularly hard to translate to, for example, Spanish in an industry dominated by anglicisms (Or words commonly spoken in English even though you are communicating in another language). What happens is the following: You learn how to use the terms or how to use an application in one language, but you have use it in another; and I'm not talking about little changes here, most of this words and their meanings change dramatically when you translate them. In this case you can think of the words frame to "fotograma" and tween to "Iteración automática de movimiento". This is a huge problem. Not only users have trouble adapting to the translated software, but it also creates great incompatibilities when we're working with a team from another country. Not a technical incompatibility of course, but a human one. What I'm trying to point out is just that localization should not simply be "A requirement" that may cause you to even lose users. If you are going to give optional languages, try giving your users the option to set it, instead of forcing it into them.

Now there's a lot more to localization than just language managing, what about dynamic content based on location? Google implemented it and it's a non-opt- out pain in the ass. Each time it's harder to find the results I need because their localization forces mexican results into the front page instead of whatever international search I'm trying to do.

Bottom line, there is a lot to localization but you have to be very careful when and how you apply it. Our systems should give us more tools to customize our experience to our needs, not the needs someone else thinks we have. As developers we need to work to give our users this customization options.</comment>


Additional YC interview tactics - <AUTHOR> http://blog.jeffvyduna.com/additional-yc-interview-tactics

<comment><USER2> "Do something weird/clever, give them something weird (snacks?), or wear something weird. I believe the AirBNB founders brought their ObamaO's."

I would not recommend gratuitous weirdness actually. The Airbnbs' cereal boxes were interesting because they were an organic part of an impressive story, not just a prop.

The best way to stick out is to seem like you deeply understand your domain and your users. That is (unfortunately) a surprisingly rare quality.

<comment><USER3> I'm astonished that that's rare. Do you tend to select companies to interview who aren't developing for themselves (non-young men programmers)?

<comment><USER2> It's rare simply because it's (nearly) identical with being good at starting a startup, and in this domain as in any other, being good is rare.

</comment></comment></comment><comment><USER4> Is it just me or does it seem like getting into and launching a company through YC seem a little like american idol? Can't say that I like the way its going.

<comment><USER5> It seems inevitable. Start a competition. Its prestige and monetary value attracts a large, rapidly growing pool of interested contestants. The organizers, with limited time and resources, have to decide between hundreds, or even thousands, of great applicants. Many applicants are so highly qualified as to be practically indistinguishable (at least on the basis of the requested materials).

College admissions work the same way. So does getting a tenure-track position with a PhD in physics. Or a PhD in philosophy, for that matter. You can probably filter out the obvious bozos with a high degree of accuracy, but it still leaves a huge number of smart, capable people to choose from. Result: crapshoot.

Hats off to YC if it can figure out a way to solve this problem — and please, share the solution with university hiring committees and admissions offices!

<comment><USER6> Lotteries are fair, simple and hard to game.

</comment></comment></comment><comment><USER7> The first, and most important YC interview tactics, is to get accepted to be interviewed. So far, no success for me. Had a video, a kickass team, a neat project aaaand not a damn chance to explain it. Who cares thought, we don't need it, that would have just been a great experience.</comment>


Ask HN: Freelancer inquiry etiquette? - <AUTHOR>

I'm curious what people consider to be proper etiquette for communications between freelancer/consultant types and their potential clients. I recently became an independent consultant after 10+ years as a salaried developer and while I'm happy with my existing clients and work, I have noticed some quirks in communication when advertising my services.
Specifically, when I have posted in the Freelancer? Seeking freelancer? thread, I have had the following happen twice:
1. High-ranking person from company X contacts me with a brief problem description and asks whether I'm interested. In one case they also asked for my rates.
2. I respond in a timely, enthusiastic and well-crafted (if I may say so) fashion with the info they requested.
3. I never hear from them again.
I've played the online dating game (happily married now), so I have a thick skin for rejection and not getting a response. However, this is quite a bit different. First, these organizations contact me, seemingly with a need and with questions. They are asking me to take the time to respond. I fully understand that they probably contacted multiple candidates, but I feel it would be proper etiquette for them then to notify those who they don't select.
This is not like a job posting where the applicant initiates the conversation. The clients are starting and then abandoning the conversation.
In the dating game, my thoughts would be "They're flaky, you dodged a bullet", but these two requests came from a startup with a decent seed round and a large, established professional organization. So I'm wondering if this is an acceptable norm?
Would love to hear opinions from more experienced freelancers. <comment><USER2> This can happen and I wouldn't call it unusual. (Companies do this to _interviewees_ all the time, let alone consultants. _That_ is rude. You're supposed to tell a candidate if they're moving forward or not, because many candidates can't afford to just sit around; they aren't in the business of running a long-term sales cycle, like consultants are.)

Consulting leads who have found you on a message board are just shopping. You're offering a product, they kicked the tires a little, they decided not to buy today. These were _cold_ leads, and _busy_ people, so I wouldn't take it too personally. This is how sales works. You now share a bond with every other salesperson in the history of civilization.

One thing you _can_ do is: follow up. This is what books like _Get Clients Now!_ will tell you: The secret to making sales is to follow up, and to create _systems_ for remembering to follow up. Give it a week or two, then write back to these folks: "We spoke the other week about X, and I wanted to make sure that you found what you were looking for. Are you still looking for help or all you all set?" It's okay to keep this very short. It's just a reminder, a sign that you still care.

One reason why you follow up is that a lot of these shopping expeditions just sort of get lost in limbo. Maybe the problem receded in importance for a month. Maybe they're short on runway and are hunting underneath the sofa cushions for loose change. Maybe someone just forgot.

<comment><AUTHOR> You, patio11, and others nailed the advice that I needed to hear from this thread: Follow. Up.

As Patrick mentioned, as a newbie to this line of work, I have a slight fear of "annoying" people with follow-up contact that I need to get over.

Thanks to all for the helpful words of advice.

</comment></comment><comment><USER3> When I first started out, I experienced the exact same issue as you.

The problem is that whilst you're giving a timely and informative reply, it's just that; you're still just a name, albeit now with a tiny bit more information.

What really swung things around for me was always pushing for a Skype or in- person meeting, the latter being ideal, but Skype being a decent substitute.

This meeting lets you both size one another up, and figure out how you might work best together.

And, for that matter, whether the project, client and consultant are going to be a good match!

One other "so obvious in hindsight, it's painful" moment: never, ever, _ever_ tell a potential client "I'm sorry, I'm fully booked for the next X months."

Instead, have the initial meeting, see how things go, and just simply tell them that you're available from day X.

If you're a good match, the client will wait.

Finally, my number one tip on how to _really_ stand out of the crowd?

Reply to the initial inquiry _fast_ , as in minutes after receiving.

You only need to say "Thanks for getting in touch, is it OK if I get back to you with a proper reply later on today?"

Given the incredibly poor communication habits of the average programmer on the street, small courtesies like this _really_ pay off!

</comment><comment><USER4> That's not ideal, but you'll have a lot more prospects go suddenly dead on you in your career than two.

<comment><AUTHOR> That's definitely understood. I suppose I'm wondering at what rate people encounter behaviour like this. For me, this early on, it seems rather common, but my sample size is extremely small. How often (e.g. what % of leads) does this happen to the average, experienced consultant?

<comment><USER4> Lead qualification is a learned skill, but my quick sense is that a cold inbound from HN doesn't strike me as being supremely well qualified. I'd estimate that a cold inbound from HN would pass lead qualification and then successfully have an actual sales conversation maybe 25% of the time, if that. A portion of the 75% would fail to have the conversation due to... mutually insufficient interest in making the conversation happen. (Flakiness suggests the prospect is at fault. I would suggest that the prospect is, like you, a busy businessman, and that failure to follow up is most likely not intended to communicate "We are pursuing other options" but rather "Oh, crikey, I forgot about that among the 100 things I had to do this week." The successful consultant will learn to follow up with prospects and get them to say Yes or No explicitly rather than having that introverted fear of bothering somebody make one convince oneself that they've been rejected. And, oh boy, have I had that scuttle perfectly doable gigs before, let me tell you.)

(For the peanut gallery: "Lead qualification" means figuring out whether someone is worth your time to sell to. For example, most startups are not in a great position to require my services or, to be blunt, in a position to pay for them. If one hypothetically sent me a cold email out of the blue, and I had consulting availability, I'd research/ask to figure out whether they were at a certain level of success/sophistication, whether the person contacting had decisionmaking authority, and whether they had high five figures in the budget prior to having a sales talk. If they didn't, I'd probably still offer to have a chat, but it would be a "I like talking to startups and would love to give you a few pointers" flavor of chat rather than a "I am intrigued by your company and would like to discuss a few ways by which we could work together" flavor of chat.)

<comment><USER5> Completely off topic, but please please please, keep banging the drum on the whole "theirs no such thing as a sales vs tech. battle". The most recent podcast and your comments are so spot on.

<comment><USER4> Thanks. I'll try my best.

</comment></comment></comment></comment></comment><comment><USER6> I've been consulting for a few years now. In my experience it takes an average of nine months to go from stranger to the point where I get a green light on a significant project. Many times the client falls off the map. Just ignore it and follow up.

</comment><comment><USER7> IMHO, your rates / experience were probably too high for what they were looking for. Note that "high" does not mean your specific rates are too high, but that startups generally pay poorly & they found someone cheaper.

Other than that, people are really busy (especially if they're high-ranking like you say). You can always send a follow-up email a few days later confirming if they had received your last email & play the "I'm trying to lock in my availability for the next few weeks" card.

</comment><comment><USER8> Stop posting on Freelancer-- leave that for the bottom feeders. Instead, focus on gaining referrals from existing clients and target your networking efforts with prospective buyers.

Recommend reading How to Acquire Clients by Alan Weiss. Also, Strategy and The Fat Smoker by David Maister.

<comment><AUTHOR> Are you referring to the HN Freelancer thread or something like Freelancer.com? I was talking about the former.

<comment><USER8> Answer: Either-- Consider the Buyers perception, I'll find someone "cheap" (exploitable) on Freelancer.

But, if I need someone "expert/dependable/fast" I'll ask my peer network. Considering your marketing strategy, areas to explore: Who are your best buyers? How do you reach them? How do they reach you?</comment></comment></comment>


How do I get started programming games?? - <AUTHOR> http://www.gamasutra.com/blogs/TommyRefenes/20130107/184432/How_do_I_get_started_programming_games.php

<comment><USER2> Phaser.io & Melonjs is a great starting point.</comment>


Paris Puts the Bicyclette First  - <AUTHOR> http://spectrum.ieee.org/energywise/green-tech/mass-transit/putting-the-bicyclette-first?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+IeeeSpectrum+%28IEEE+Spectrum%29

<comment><USER2> A recent study in my city indicates that people don't take bikes mostly because they perceive them as unsafe to ride in traffic. Or at least that's their excuse. :)

</comment><comment><USER3> The photograph was a bit unnerving. I couldn't see much of a gap to ride through. I wonder how right-of-way would work?

The reference to the bike share scheme is interesting too -several such schemes have started up recently here in .au.</comment>


DoNotPay App Lets You 'Sue Anyone by Pressing a Button' - <AUTHOR> https://motherboard.vice.com/en_us/article/bj43y8/donotpay-app-lets-you-sue-anyone-by-pressing-a-button <comment> crooked-v Of course, being able to easily sue big companies doesn't really help when you've probably already signed away your rights because of a mandatory arbitration clause.

</comment><comment><USER2> Sad that despite so much money invested into the app it seems to only work on the iPhone. No web interface at all.</comment>


Ask HN: What would you do to make $2000 in 2018? - <AUTHOR> Hi HNers,<p>I am working in very low pay job, it is call centre job. I have no programming skill. I need to make $2000 per month so that I can fix my life. What should I learn to start making $2000 in 2018? Please guide. <comment><USER2> Tbh I'll need more details:

* where are you in the world? * what do you need $2000/m for? * how much are you earning now? * do you have savings? * do you have friends? * do you have family? * whats your education level? * what is your background? * what are you interested in doing?

</comment><comment><USER3> If it's a one time thing, be part of a medical study. I think giving some random body fluids/part also will also get you paid.

</comment><comment><USER4> QA testing is a pretty low barrier to entry gig. It's not exactly exciting work but it'll pay 50k+ per year and is a full time job usually (so benefits). The job will vary depending on where you go though. Some places will just need people to click around an app, other places will require some scripting/basic programming skills. It's just about finding the right company

</comment><comment><USER5> This may or may not be a viable option for you, but I'd definitely recommend promotional work (handing out flyers, sign flipping). Can't speak for the US, but in very hard times I've done it in the UK, and it's been a great cash injection.

</comment><comment><USER6> 2000 on top of your current income or instead of it?

</comment><comment><USER7> If you're in a western country, I'd get into washing windows and cleaning Venetian blinds.

</comment><comment><USER8> Sell organs.

</comment><comment><USER9> hit a lick. if you don't know how, just watch the wire.</comment>


Veracity screenshot: Burndown Chart - <AUTHOR> http://www.ericsink.com/entries/burndown.html

<comment><USER2> Perhaps I'm missing something, I don't why this chart is supposed to be useful.</comment>


Before the Dirt – The Cars of Mad Max Fury Road - <AUTHOR> https://www.behance.net/gallery/26652427/Before-the-Dirt-The-Cars-of-Mad-Max-Fury-Road <comment><AUTHOR> Part 2: [https://www.behance.net/gallery/48682109/Before-The-Dirt- Par...](https://www.behance.net/gallery/48682109/Before-The-Dirt-Part-2-The- Cars-of-Mad-Max-Fury-Road)</comment>


Dockerized Android build environment for Haskell - <AUTHOR>

<comment><USER2> I've successfully used this one before :)

</comment><comment><USER3> I like this post. It's very informative. I learn many things from this post. Visit](http://www.w3schools.com">Visit) W3Schools</comment>


How 1Password calculates password strength - <AUTHOR> https://blog.agilebits.com/2016/02/02/how-1password-calculates-password-strength/ <comment><AUTHOR> > There is reason to believe that the more "strength requirements" we impose > on people, the worse the passwords that they create may get.

I'd love to see empirical evidence of this.

Has anyone compared password requirements against password strength from leaked passwords? I've been Googling, but have not found it.</comment>


Ask HN: How did you break a bad habit? - <AUTHOR> <comment><USER2> 1\. Verbalize what is bad about the bad habit.

2\. Verbalize what would be good about the good habit that should replace the bad one.

3\. Do the bad habit. Focus on the bad outcome of it.

4\. Once in a while when you actually do the good habit, focus on the positive outcome.

In other words, train yourself as you would train a dog.

Example:

1\. I like eating which makes me fat, my joints hurt, I'm slow.

2\. If I would be more active, like going to a park, I would feel better just by being in nature and I would loose weight which means I would look better.

3\. Eat crap. While you eat be very conscious that this is how the joints pain is made, how body fat is made. Don't stop.

4\. While you eat healthy or go to a park or to gym or you walk also be very conscious that this is how fit people are made and that after doing it you are a little bit more fit than just before. If you keep this course for 3 years you will be very fit.

</comment><comment><USER3> I looked in the mirror and lifted my t-shirt, noticed my belly was starting to get fat.

Then I quit sugar and carbs and never went back - but it was hard, after 2-3 months I got crazy cravings for carbs but I pushed through it, I compare the pain of changing something important to the most "extreme alternative" \- which in this case and in many cases around bad habits is death.

Break the habit or die early?

<comment><USER4> You don't eat carbs at all? I think it's not healthy either. How long have you been on that diet? How do you feel?

<comment><USER3> I do eat some carbs but not much, I'm 100% off bread and sugar and processed foods and honestly I think that in itself is enough to make a massive difference, you don't need to cut out carbs entirely.

I feel much better, my energy is even throughout the day / evening, I used to get tiredness that came on suddenly a lot but that's gone now and I used to get frequent headaches and they've gone too.

</comment></comment></comment><comment><USER5> By objectifying your actions as soon as you realize you're doing your habit and taking a minute to let those feelings pass.

</comment><comment><USER6> You could start simple by putting a rubber band around your wrist and pulling the the elastic band back and slapping it on your skin each time you're getting the urge. That'll help you become mindful about how often the urge happens, what time of day it happens etc.

</comment><comment><USER7> There's a good trick I once heard called "Don't break the streak." You know what you want to stop doing, so focus on getting through just this day without doing that thing.

Then the next day remind yourself that you've got a _streak_ going -- one entire whole day, and you could make it _two_ if you make it to the end of this day. And then keep the streak going the next day and the next...

Basically, it gives a feeling for what you're doing -- an in-built reward for successfully not-doing it.

</comment><comment><USER8> With _noprocrast_.

EDIT: Maybe about time to use it again. It worked amazingly well the first time. (6hrs off after 1 hr on) It would be great to have something so immediately effective with other things-one-might-want-to-give-up.

</comment><comment><USER9> Watch one of the 20 minute BJ Fogg videos on habit formation. Then figure out ways to morph your bad habit into a harmless 'other' habit. Or break the feedback loops that trigger the habit.

</comment><comment><USER10> _stickK_ app is very useful for breaking bad... habit. You put money on the stake to follow through.

</comment><comment><USER11> In my experience, nootropics can be very helpful during first few weeks of trying to break a bad habit. You also need will power / other methods mentioned on this page, but proper nootropic can prevent giving up and going back after 3 days.

</comment><comment><USER12> I follow the Seinfeld "don't break the chain" (duckduckgo it).

I do actually break the chain if:

\- I'm ill

\- I'm overseas

I might change the latter.

<comment><USER13> I think this is the simplest, most effective advice to break through procrastination. Start taking action, even if it is small. Then, continue that action Daily, weekly, whatever and build on it.

Momentum is super powerful. There is much truth to the saying: "If you want something done, ask a busy person."

</comment></comment><comment><USER14> "The only way to get rid of a temptation is to yield to it. Resist it, and your soul grows sick with longing for the things it has forbidden to itself, with desire for what its monstrous laws have made monstrous and unlawful."

-Oscar Wilde

</comment><comment><USER15> You replace it with a good (or, at least, better) habit.

<comment><USER3> i like this idea, should be an app for this

let's call it HabitApp

</comment></comment><comment><USER16> put up barriers. but ultimately it has to come from deep inside. i had a bad habit for 22 yrs - nail biting. i took a job after freelancing for 8 yrs and stopped cold turkey because I wanted to be presentable. I had tried to stop countless times before.

</comment><comment><USER17> What worked for me... Punching myself very hard in the arm.

<comment><USER18> Why the arm?

</comment></comment><comment><USER19> I replaced it with another habit.</comment>


How a good application demo video should be - <AUTHOR> https://www.scenechronize.com/index.html#video

<comment><USER2> That is actually very nice. Tough to duplicate unless you have $20k or so but still very nice.</comment>


A lost language encoded in Inca cords - <AUTHOR> https://www.newscientist.com/article/mg23931972-600-we-thought-the-incas-couldnt-write-these-knots-change-everything/ <comment><USER3> Is pretty lucky that us visiting Europeans didn't know there could be writing in them, otherwise we would have burnt the lot long ago, like we did with the written records of the Maya.

<comment><USER4> Walking around on the surviving remains of Maya and Aztec cities is quite impressive.

As European it saddens me how we almost wiped everything out back then.

<comment><USER3> From what I have read, there are maybe 14 surviving books out of the hundreds of thousands that we took. Possibly less since that museum fire. We destroyed 2000 years of an entire continents written history. And many people simply do not give a shit.

Was talking to someone who identifies strongly as Christian about this recently. She said that she didn't care what had happened to the Maya, because these people practiced human sacrifice. I had to point out to her that you do not get to complain about human sacrifice after committing genocide.

<comment><USER5> In The True History of the Conquest of New Spain [1] (a first-hand account of Hernán Cortés' expedition in Mexico, that brought down Monetzuma's Aztec empire) there is a passage where the author, discusses the matter of human sacrifice and cannibalism with some local priests (I think these are not Aztec, but Tlascalan priests, from one of the cities allied to Cortés).

I can't find the passage in my hard copy of the book, but, from memory, the priests basically state that offering human sacrifices to the gods is the pious and proper thing to do. Castillo ends up persuaded of this, although he continues to abhor the acts they perform, of course. These priests also practiced self-mutilation, so they had noses and fingers, etc, missing. I think the point was that they were offering parts of themselves, too, as sacrifice to their gods.

There's no doubt that human sacrifice is a barbaric custom, that was historically practiced by few societies in the same scale as it was by the Aztecs. However, it is important to understand that, to them, it was not an act of evil, or even of righteous revenge towards their enemies. It was an act of worship to their gods.

My point is that we cannot apply our own concept of morality, which is probably influenced by the dominant religion of the western world, Christianity, to the manner by which people lived their life in a society that might have, for all intends and purposes, been on another planet for most of its history. If we are to judge those people, it must be on their own terms. And on their own terms, human sacrifice and cannibalism was what their faith (and therefore, their morality) _required_ of them.

_____________________

[1] [https://en.wikipedia.org/wiki/Historia_verdadera_de_la_conqu...](https://en.wikipedia.org/wiki/Historia_verdadera_de_la_conquista_de_la_Nueva_Espa%C3%B1a)

[2] Bernal Díaz del Castillo, [https://en.wikipedia.org/wiki/Bernal_D%C3%ADaz_del_Castillo](https://en.wikipedia.org/wiki/Bernal_D%C3%ADaz_del_Castillo)

<comment><USER3> >There's no doubt that human sacrifice is a barbaric custom

Our own culture believes in sacrificing humans to the things that we worship. We just dress it up differently.

>"The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants. It is its natural manure"

\- Thomas Jefferson

<comment><USER6> Think of all the lives that went into building the beginnings of the industrial age: miners, construction workers, pedestrians electrocuted or run down by automobiles. Even today this continues in slightly different ways - <USER2> one example, _thirty-seven thousand_ of our fellow citizens here in the US died on our roads last year. And we just think to ourselves that's just how it works.

And that's before getting into our cultural celebration of heroic sacrifice, or other ways we trade in human lives, both our own and others.

</comment></comment></comment></comment></comment></comment><comment><USER7> The organization of the Incan Empire was really incredible. There really was nothing quite like it until modern times. The state storehouses alluded to in the article can still be seen all over on mountainsides in Peru (they were always built off the valley floor where humidity is lower). These stored so much grain that the Incan empire really didn't have famines. After conquest, the Spanish enslaved the Quechua and generally had them mine instead of grow food. The grain in the silos fed them for several years.

I have to think that quipus can encode non-numeric information to make something like that possible.

</comment><comment><USER8> >If we are to judge those people, it must be on their own terms. And on their own terms, human sacrifice and cannibalism was what their faith (and therefore, their morality) required of them.

So, you're ok with the Spanish wiping them out? According to the mores of the time, Spain's actions were perfectly acceptable.

<comment><USER9> This comment breaks the site guidelines. For example: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."

That guideline is there because not following it leads to flamewar. Please review [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html) and follow it and also the others.

We detached this subthread from [https://news.ycombinator.com/item?id=18542311](https://news.ycombinator.com/item?id=18542311) and marked it off-topic.

</comment></comment><comment><USER10> This data is begging to be analyzed by machine learning algorithms.

<comment><USER11> I just happen to be reading Clive Cussler's Inca Gold (1994) where they use computers to decode a quipu cord from scratch in about an hour and a half. I'd love to see the spreadsheet used for the initial insight.

<comment><USER12> I actually love these kind of trashy archeology-themed books, where the brilliant linguist decyphers the ancient writing system over his/her lunchbreak, but it's rather spoiled by the inconvenient fact that the actual process - mountains of data, years of slog - is so unsexy by comparison. Plus, there is never a Rosetta Stone (that would make it too easy!), whereas almost every real-world decipherment has needed something like one. The only exception I can think of is Linear B; I've always thought it'd be a fascinating exercise to repeat Ventris' painstaking cataloguing and cross- referencing on a computer to see if his breakthrough could be repeated more quickly, or automatically.</comment></comment></comment>


Show HN: CSPRNG for Integers [JavaScript] - <AUTHOR> https://gist.github.com/sarciszewski/88a7ed143204d17c3e42

<comment><AUTHOR> This was originally something I submitted to the EFF's OpenWireless router project for their Diceware passphrase generator. Feel free to use it in any of your projects (WTFPL).

[https://github.com/resonantcore/lib](https://github.com/resonantcore/lib)</comment>


Ask HN: Books on Computer History - <AUTHOR> I've been starting a personal collection of stories about the history of the computer industry- I'd love any suggestions of books that other people enjoyed or that I might want to take a look at.
Which books have you enjoyed? Which ones are worth avoiding?
I've included a list of some of the ones that I've found, but I'd love any thoughts.
Revolution in The Valley: The Insanely Great Story of How the Mac Was Made
Accidental Empires: How the Boys of Silicon Valley Make Their Millions, Battle Foreign Competition, and Still Can't Get a Date
Making Silicon Valley: Innovation and the Growth of High Tech, 1930-1970
High Stakes, No Prisoners: A Winner's Tale of Greed and Glory in the Internet Wars
Founders at Work: Stories of Startups' Early Days
  Computing in the Middle Ages: A View From the Trenches 1955-1983
iWoz: Computer Geek to Cult Icon: How I Invented the   Personal Computer, Co-Founded Apple, and Had Fun Doing It
Digital Retro: The Evolution and Design of the Personal Computer
The Victorian Internet: The Remarkable Story of the Telegraph and the Nineteenth Century's On-line Pioneers
Where Wizards Stay Up Late: The Origins Of The Internet
What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry
The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal
DEC Is Dead, Long Live DEC: The Lasting Legacy of Digital Equipment Corporation
Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution
Casting the Net: From ARPANET to INTERNET and Beyond
Fools Rush In: Steve Case, Jerry Levin, and the Unmaking of AOL Time Warner
The HP Way: How Bill Hewlett and I Built Our Company
Fire in the Valley: The Making of The Personal Computer
Bell Labs: Life in the Crown Jewel <comment><USER2> This 1982 textbook by Siewiorek, Bell and Newell seems to be available in HTML from Gordon Bell's pages at MS: [http://research.microsoft.com/en- us/um/people/gbell/Computer...](http://research.microsoft.com/en- us/um/people/gbell/Computer_Structures_Principles_and_Examples/index.htm)

If memory serves, the book illustrated concepts by examining implementations. It's interesting to see how many bones have been moved from multi-ton mainframes to single chips ...

P.S. At the very bottom of this page <http://research.microsoft.com/en- us/um/people/gbell/Pubs.htm>, the book links include the above book and a similarly titled 1971 book (apparently an earlier version), which may be of historical interest. Page 280: core, drum and tape - Mel can't be far ...

</comment><comment><USER3> One of my favorite non-fiction computer related books is 'Hackers - Heroes of the Computer Revolution' <http://www.stevenlevy.com/index.php/other- books/hackers>

Very nice list, a lot I haven't heard of.

<comment><USER4> Steven Levy is a good writer. I read pretty much anything he puts out. His books "Crypto" and "Insanely Great" are good also, Crypto is the better one.

</comment></comment><comment><USER5> You missed the absolute best of the genre: The Soul of a New Machine, by Tracy Kidder. It's a single case study, but told in such loving detail as to be Pulitzer-worthy.

Also, there's a lot of good primary source material in "Programmers At Work", by Susan Lammers.

<comment><AUTHOR> I don't know how I missed adding Soul of a New Machine. I've read it several times, and it's a wonderful work.

I hadn't heard of "Programmers at Work" yet, but it looks like a great read- I suspect in retrospect that it was the inspiration for the name of Jessica Livingston's book. Thanks.

I've also just found <http://www.landsnail.com/apple/> which looks like it has a great set both Apple-specific and general interest material.

</comment></comment><comment><USER6> Stan Veit's History of the Personal Computer [http://www.amazon.com/Stan- Veits-History-Personal-Computer/d...](http://www.amazon.com/Stan-Veits- History-Personal-Computer/dp/1566640237)

Accidental Empires [http://www.amazon.com/Accidental-Empires-Silicon-Millions- Co...](http://www.amazon.com/Accidental-Empires-Silicon-Millions- Competition/dp/0887308554)

Go To [http://www.amazon.com/Engineers-Scientists-Iconoclasts- Progr...](http://www.amazon.com/Engineers-Scientists-Iconoclasts-Programmers- Revolution/dp/0465042260/ref=sr_1_3?ie=UTF8&s=books&qid=1247887841&sr=1-3)

</comment><comment><USER7> On the Edge: the Spectacular Rise and Fall of Commodore (<http://bit.ly/11KMaT> Amazon).

Commodore has been kind of ignored in computing history, but they were the first company to sell 1 million units. This book has a lot of big characters in it, including the ruthless, cigar chomping, Jack Tramiel.

I'm biased though, as I cut my teeth on a C64.

</comment><comment><USER4> "The Hacker Crackdown: Law and Disorder on the Electronic Frontier" by Bruce Sterling, should really be on on the must-read list.

Another on I highly recommend is "The New Hacker's Dictionary" by Eric S. Raymond.

Finally, although it is a bit far afield, probably every hacker should read David Kahn's "The Codebreakers".

</comment><comment><USER8> One of my favorites is "In Search Of Stupidity", by Merrill Chapman. It talks about the marketing mistakes that ultimately killed a lot of top tech companies.</comment>


Getting Started with React Native in 20 Minutes - <AUTHOR> https://medium.com/code-life/getting-started-with-react-native-in-20-minutes-15ea90062094#.4kkk71iww <comment><USER2> Awesome intro! Hard to find a good practical intro to React Native that explains the routing clearly.</comment>


How can Google Meet improve? Bring notes - <AUTHOR> https://medium.com/@shahrushi01/how-can-google-meet-improve-bring-notes-1528b711cd76 <comment> m-p-3 If they could bring the same sidebar that is in Gmail, Gcal etc to Google Meet that'd make my life way easier for taking notes into Keep.

And having a system to automatically export a chat from a Meet (ie: to email or as a Gdoc file) would also help. Right now, almost no one I know uses the text chat feature of a meeting except to share a link or something unimportant because it will be lost once the meeting is over.</comment>


Show HN: Get an email when your favorite director releases a movie - <AUTHOR> https://directoralerts.website/ <comment><USER2> Fun! I'd love if you provided groupings to make it easy to subscribe.

E.g. _Directors who make great Film Noir_

Obviously these are subjective but perhaps can be useful suggestions

<comment><AUTHOR> I do believe that is possible with the TMDb API. I'll see if I can add that feature at some point.

</comment></comment><comment><USER3> That's fun ! I don't think i've ever needed something like this for major directors (usually you hear about the movie months in advance / see trailers), but it might be helpful for less famous ones.

Edit: I tried with two french directors I like, and there weren't in the database (they are on TMDB though).

<comment><AUTHOR> Please let me know their names, I'll make sure they're added!

<comment><USER3> Yes ! I tried Cedric Klapisch and Antonin Baudry.

<comment><AUTHOR> Cedric has been added, but I cannot find Antonin Baudry on TMDb...

<comment><USER3> He's here: [https://www.themoviedb.org/person/2194514-antonin- baudry](https://www.themoviedb.org/person/2194514-antonin-baudry)

</comment></comment></comment></comment></comment><comment><USER4> What a great project! I think it's wonderfully simple, and still very useful.

One bug: pasting into the list doesn't seem to trigger the auto suggest menu until after a 2nd keystroke. So to add a director, I have to paste, and then hit the delete key, and then finally click their name.

<comment><AUTHOR> Glad you like it! Thanks for the note about pasting issues. I can see the author of the tagging lib that I used is working on a fix for that: [https://github.com/yairEO/tagify/issues/535](https://github.com/yairEO/tagify/issues/535)

</comment></comment><comment><USER5> This is great! Now I'll never miss another Alan Smithee film.

</comment><comment><USER6> Awesome! Subscribed to a few great directors.

But for some reason I cannot add Paul Verhoeven to the list. He's just not there.

<comment><USER7> I was going to add him and David Cronenberg -- both oddly missing.

<comment><AUTHOR> Cronenberg has now been added, thanks for the heads up!</comment></comment></comment>


NASA admits hiding 'really good' news from Martian soil - <AUTHOR> http://www.theregister.co.uk/2012/11/21/nasa_hiding_martian_news/ <comment><AUTHOR> The methane data is disheartening, but I'd love to see what the latest samples are reading.</comment>


Ask HN: The curse of the green card: entrepreneurship for immigrants?  - <AUTHOR> Background: I am from India. I have a PhD in engineering (Berkeley) and a steady full time job at a tech company in the valley. I work on an H1B visa and my green card application has been filed (EB2, pending AOS, received EAD).
Problem: I've been hacking at a startup concept for a few months now. We (my "co-founders" are also immigrants) are now at a point where we have a well functioning product and eager customers. The only thing that is preventing us from going live is incorporation (which gives us the ability to accept payments, liability protection, IP, etc). Being temporary immigrant workers on an H1B we can incorporate and "own" a company ... but CANNOT WORK for it.
o  How do immigrants handle such a quandary?
o  Yes, I can own a large % of equity, but I can't write a single line of code... because that would technically be "working" for the company and could increase the value of my equity
o  Some say "find someone (e.g. US citizen) to run the company for you". How does one entrust the running of a whole company to someone else while being a passive shareholder? Remember, if I send a single email to one of our customers, I'd be "working" and violating my H1B
o  With the expected green card wait time of 3-5 years for an Indian citizen, I am getting frustrated by the day. Does anyone else here share my frustration? How do you deal with it?
Private comments to s t e v e s m i t h 1 5 5 @ g m a i l . c o m <comment><USER2> Hi Steve Smith,

There is a little known visa known as an O1, for 'extraordinary persons'. This is the visa that many foreign founders obtain. One is allowed to found and work for a company in the US while one is on it. I think they last 3 years.

Generally, PhD level people can obtain it, though it is a pain to do so. I have heard of people straining to get 10 eminent people to write supporting letters for one's visa petition. A good link is here:

<http://www.hooyou.com/o-1/faq.html>

There's a fairly extensive list of what may be accepted as supporting documentation there. I think these are the criteria the government uses:

Receipt of a major, internationally recognized award, such as the Nobel Prize; or at least three of the following forms of documentation: (1) Documentation of the alien's receipt of nationally or internationally recognized prizes or awards for excellence in the field of endeavor; (2) Documentation of the alien's membership in associations in the field for which classification is sought, which require outstanding achievements of their members, as judged by recognized national or international experts in their disciplines or fields; (3) Published material in professional or major trade publications or major media about the alien, relating to the alien's work in the field for which classification is sought, which shall include the title, date, and author of such published material, and any necessary translation; (4) Evidence of the alien's participation on a panel, or individually, as a judge of the work of others in the same or in an allied field of specialization to that for which classification is sought; (5) Evidence of the alien's original scientific, scholarly, or business-related contributions of major significance in the field; (6) Evidence of the alien's authorship of scholarly articles in the field, in professional journals, or other major media; (7) Evidence that the alien has been employed in a critical or essential capacity for organizations and establishments that have a distinguished reputation; (8) Evidence that the alien has either commanded a high salary or will command a high salary or other remuneration for services, evidenced by contracts or other reliable evidence.

<comment><AUTHOR> Thanks Dani. I am aware of the O-1 visa. However wait times are about 1-2 years to get it (the same as an EB1 green card). I think I might have a case with my background. Thanks anyway!

<comment><USER2> Hmm. It says here that "The O-1 petition and approval process takes approximately 3 to 4 months. U-M can submit an O-1 up to 6 months before the intended start date. If needed, USCIS offers an option for expediting O-1 petitions called "premium processing." There is a special fee for this service in addition to the normal USCIS filing fee."

<http://www.internationalcenter.umich.edu/immig/ovisa/>

So it's more like 3-4 months, and if you need it quickly you can expedite it.

</comment></comment></comment><comment><USER3> Previous threads:

<http://news.ycombinator.com/item?id=115590>

<http://news.ycombinator.com/item?id=67268>

Maybe you can technically work for your US company from some overseas office, but be in-country for nearly 3-6 months a year on temporary visas?

Or maybe a real expert can set up legal structures such that you're moonlighting for a foreign corporation, instead of a domestic company other than your H1B sponsor. (I have no idea if that's as serious an issue as moonlighting for your own US-based company.)

Definitely get expert legal advice rather than trusting a comment thread.

And on behalf of all reasonable USicans, I apologize for our stupid immigration restrictions.

</comment><comment><USER4> 1.Incorporate the company in US. 2.Incorporate another company in India. 3.Outsource work from US company to Indian company. 4.Indian company hires contractor (you) in the US.

Is something like that possible? I'm just guessing really.

</comment><comment><USER5> I know nothing regarding US immigration law, but what do they define as "working"? In other words, could you contribute for "free" and just pay yourself via dividends?

Otherwise, why don't you just incorporate in India, or wherever else is applicable? If you're going to sell via web payments, nobody really cares where you are. There may be a few issues with corporate clients, but for 95% of people it would be seamless.

</comment><comment><USER6> You could move back to India and run the buisness from there.

...yeah our immigration policies are pretty bad aren't they.

<comment><USER7> Our immigration policies do suck, but doing it from India isn't a bad idea at all. Low living costs + same amount of money = longer runway, employees are cheaper, he gets all the purported benefits of outsourcing.

Plus, stevesmith has plenty of local knowledge (being Indian), so he can avoid most of the pitfalls of outsourcing.

Seriously, give it some thought. Once you get rich, immigration to the US should be no problem.

<comment><AUTHOR> I agree there is an advantage in moving back to India. However these things are never easy (wife, house, assets, etc).

</comment></comment></comment><comment><USER8> Not a lawyer, so don't take my advises as is. Incorporate in India, then transfer it all to US when you're ready. Develop the code yourself, then have code acquired by your company, or prepare letter of intentions (that when you can do this legally, the code will be owned by the company for your stake increase). And my understanding is that they don't care that much of you writing code for company either paid or free. The government doesn't want everyone to create their own companies and get employed by themselves, getting legal status in US because of this. Your case looks different though.

</comment><comment><USER9> I thought that an EAD holder could own a company. Is this not correct? I just received mine, and it supercedes my existing TN visa.

<comment><AUTHOR> For employment based green cards (EBx) the applicant may use his/her EAD to work in a job that is similar to the petitioners I140 case (this is known as AC21). I can't go from Design Engineer on my H1B to CEO on my EAD :(

<comment><USER10> Set your title as Chief Design Engineer on your incorporation documents. In practice, no one will probably bother to check, and even if they do, they'll go by what the title is on paper. The reality is, you'll be doing mostly programming work in your company and you have EAD, so you're set. This sounds like a good setup from how understand it, but double check with an attorney. If you need referral to a good immigration attorney, drop me a line.

</comment></comment></comment><comment><USER11> As to intellectual property, I would have an offshore entity (Cyamans, BVI) hold everything until an investor makes you restructure it into something else. Then a simple piece of paper signed by all people developing the IP assigns ownership to this offshore entity. For onshore operating, you simply license the IP to your U.S. entity for a small fee. You can get away with this approach for quite a bit.

There is no good answer for how you maintain visas once you quit you day jobs. This part sucks. One "straightforward" option may be to strike a partnership with an IT outsourcing company that manages employees in the U.S. from India and give them a small piece of the company for handling your employment. You may find that such a partnership would work well as such an entity is an automatic HR and accounting department for your growing entity. You focus on creating a great product and your partner focuses on the housekeeping.

</comment><comment><USER12> For anyone interested, this infographic isn't a bad summary resource: [http://www.reason.com/images/07cf533ddb1d06350cf1ddb5942ef5a...](http://www.reason.com/images/07cf533ddb1d06350cf1ddb5942ef5ad.jpg)

It summaries the various processes to become a citizen...

</comment><comment><USER13> I think Loic (seesmic founder) had a post on a similar topic, a while back -- ie, when he moved from france to the bay area to start seesmic.

</comment><comment><USER14> You could incorporate in another jurisdiction?</comment>


Sony using open source emulator for PlayStation Classic - <AUTHOR> https://arstechnica.com/gaming/2018/11/sony-using-open-source-emulator-for-playstation-classic-plug-and-play/ <comment><USER2> I'm surprised the article didn't mention Sony suing the developers but also using the software. That seems like a "Classic" Sony move. I wonder if it's use violates the OSS license.

<comment><USER3> Sued, forced Connectix to sell emulation business to them, and later also hired Bleem developers. All of that and they use external open source emu for their product sending a clear signal they dont care, making it a Raspberry Pi in a fancy box with questionable selection of games.</comment></comment>


Why Immigrant Entrepreneurs Are Leaving the U.S - <AUTHOR> http://www.businessweek.com/smallbiz/content/apr2011/sb20110427_111253.htm <comment><USER2> Perspective from a highly educated, legal immigrant family:

I came here with my parents, who emigrated from the former USSR via the student visa route in 1992. This is one of the hardest paths to permanent residency in the US because a great deal of student visas either explicitly foresee a return of the student to their native country for some period of time (owing to various reciprocal treaties to that effect), or are implicitly structured to discourage permanent immigration per se.

Somehow, my parents defied the odds, frequently hopping between various F, J and H-class visas, begging for employer sponsorship through these processes in an already grossly unfavourable job market (humanities academia). In at least one case, I remember that making changes to visa status before the existing visa expired required short-circuiting the INS bureaucracy and going to the US consulate in a Mexican border town to get the job done--ironically, much faster.

It wasn't even until 2002--a decade later--that we had a greencard. Up until that point, if my dad had been dismissed by any of his employers or lost his student for any reason, we would have had to return to our country immediately, from where trying to seek new opportunities along these lines-- especially in the 1990s--would have been impractically difficult. Worse yet, a petition for a greencard from many classes of visa means that if for some reason the petition is denied, you forfeit your existing visa and also must leave. And of course, employer sponsorship was required.

We finally became naturalised US citizens in 2008, 16 years later, well after I had spent close to 3/4ths of my life here. And many commentators who work with people in our situation have remarked that this was brisk and efficient.

While I am definitely speaking from the vantage point of a particular visa classification and method of entry, I don't gather that our situation is that uncommon. The number one problem that I see with American immigration from an economic perspective is that it's _simply too hard to immigrate here_ (legally)[1], and most especially as a highly educated or highly skilled person. Marrying an American or obtaining a refugee status of some description is a much more efficient path to permanent residency, for example. Meanwhile, a person with an existing PhD like my dad had to essentially get another PhD to become employable here[2], while persuading employers all throughout to argue that there no equally suitable American candidate was found for his job, etc, etc. I have not seen janitors face such hurdles.

I will freely grant that it's not nearly as hard to immigrate to the US legally as it is to say, Western Europe, but it's also not as easy as Canada or some other Western countries whose immigration systems admit an explicit preference for high qualifications. And as the author points out, with domestic economies becoming more and more attractive, it just isn't worth the effort to fight with this immigration system like it used to be.

EDIT: To relate this back to Vivek Wadhwa's article: We come from Moscow. In the early 1990s, following the dissolution of the USSR, Moscow was a pretty miserable place to live. Coupled with the enthusiasm to leave the Soviet context in general, the appeal of America was pretty clear. Nowadays, Moscow is not a particularly miserable place (although the reasons for that, and the question of whether they are good, sustainable reasons, are a separate discussion entirely), and few people in Moscow, whether part of the noveau elite or otherwise, are deluded with the idea that they can find a better life in America--they already live in a gold-plated bubble rapidly coming to rival Manhattan sensibilities. So for whom does the US remain an attractive destination in Russia? Mostly provincial, less-educated people from poorer, simpler places. I read Wadhwa's article to be saying that--extrapolating from this more generally--this does not set up the incentives we really want.

[1] I found this chart from Reason Magazine to be a pretty accurate illustration of the problem: <http://reason.org/files/a87d1550853898a9b306ef458f116079.pdf>

[2] Yes, that's technically a separate issue from immigration policy and is rather tied up in the specificity of his profession, but if you want to talk about the amount of mountain-moving required to move to the US permanently, as a whole, it deserves consideration.

<comment><USER3> _The number one problem that I see with American immigration from an economic perspective is that it's simply too hard to immigrate here (legally), and most especially as a highly educated or highly skilled person._

Is there somewhere else where immigration is much easier than the United States? If so, where? Have you ever thought of living there?

<comment><USER2> Well, back when I would have been in a position to consider living somewhere else, I was a minor. And since I've been in the US from age six and am functionally American for all practical purposes, obviously, like most people, I am not possessed with the desire to uproot myself and relocate without a compelling reason.

You seem to be clinging to relative arguments throughout the comments. I agree that it's important to keep the overall merits of the US relative to many alternatives in perspective, yes. But relative arguments only go so far. Yes, I could be in a refugee camp in Darfur; doubtless, my situation--almost anyone's situation--could be a lot worse than the espresso machine breaking down or the laundromat being inconveniently far away. But it doesn't mean people shouldn't be allowed to complain about absolute inadequacies of the system, or advocate for its improvement.

<comment><USER3> I'm 100 percent for people from anywhere in the world, even people who have never seen the United States, advocating for improvement of policies in the United States. Policy improvement is a great idea, and I was happy to have it happen in the United States even during the several years of my life when I wasn't living here.

But I ask about the policies of other places, and what attractions those set up for immigrants, for a policy-based reason. Most public policies cannot be set to be ideal in the abstract. Indeed, there is not even enough agreement among voters to be sure what the abstract ideal of perfect policy would look like. Every country in every era, democracy or dictatorship, makes policy trade-offs. I think the discussion of United States policy can be best informed--and thus most helpful to the United States, the country I now live in--if people like you with valuable international perspective are as specific as possible in comparing United States policies to policies of other countries you know about. As I wrote in the first reply I posted in this thread, there ought to be official statistics on many of the issues mentioned in the article that opened this thread, and those official statistics from various governments may guide us better to understand what policy trade-offs make for a thriving economy, well functioning democracy and rule of law, and an open and vibrant society.

<comment><USER4> My worry with your argument (if I'm following correctly) is why should we compare/base US immigration policy on the policy of other nations? If we accept that US policy is more favorable than others, is it purely acceptable to meet the lowest bar? I'd argue we should always, in all facets of policy and life, be actively working to raise the bar.

</comment></comment></comment></comment></comment><comment><USER3> Now how did I know that this was a Vivek Wadhwa article before I even followed the link to read the article? Oh, yeah, because this is Vivek Wadhwa's pet issue. As in his previous articles on this subject, he doesn't give any big- picture official statistics (even though those should be available) about how much demand there is under current rules for immigrant visas to the United States by persons from China or India who have completed university educations. Nor does he even relate his anecdotes to the (large) percentage of graduate students in the United States from India or China who somehow manage to stay and eventually settle in the United States under current rules. He simply doesn't provide any thoughtful analytical context for the policy position he supports.

I think it's wonderful for the United States to accept a lot of immigrants--my wife is an immigrant from another country. But I will simply ask the policy questions I generally ask when HN threads include discussion of immigration policy:

1) What country offers BETTER general conditions for convenient immigration by educated persons from China or from India than the United States? Where are that country's immigration rules posted on the World Wide Web? Would you rather live there than in the United States?

2) What countries offer easy and convenient immigration to an arbitrary person from an arbitrary country, say an African person who would like to start a new life by founding a business in some developed country? Where could that person immigrate readily and legally?

3) What countries allow Americans readily to settle with permanent residence status that could turn into citizenship after an application on the same terms that Vivek Wadhwa advocates that the United States offer to citizens of other countries? What countries are currently visible examples of the results of the kind of policy he proposes? Would you rather live in one of those countries than in the United States?

4) Is there any country on earth that has a NET inflow of immigrants from the United States, compared to the number of its own citizens who emigrate to the United States? What country is that? What are its immigration rules? Would you like to start a start-up there?

After edit: If you are sure that there is another country that provides better immigration rules for start-up entrepreneurs than the United States, could you kindly link to some website hosted by that country explaining what the rules are?

<comment><USER2> Anecdotally speaking, "Canada" is a good answer to many of the questions that you pose.

<comment><USER5> And, from what I understand, Australia.

<comment><USER6> It is much easier to move (and to immigrate) in Canada than Australia, however. Entrepreneurial spirit may be similar, but immigration laws are very different (and, although less critical, the distance from large markets).

<comment><USER5> I was discussing (and with the proviso that my knowledge was superficial at best) immigration policy - which seems comparable. Googling around shows me that Australia has a large foreign born population (24%), and a points based system similar to Canada's.

</comment></comment></comment></comment></comment><comment><USER7> From the article: "Let's start by increasing the number of permanent resident visas available for the 1 million engineers, scientists, doctors, and researchers and their families who are in the U.S. legally but trapped in immigration limbo."

Amen to that brother. But myself being someone in that limbo for the last eight years, I dont have much hopes for it. And this is not a Silicon valley story either. I have about 25,000 people ahead of me in the queue. And each year the queue moves in a snails pace. In this pace, I should have it by the time my two year old son graduates. And then I will create the next Google. (I am kidding. Being an entrepreneur means overcoming these, and I am committed to that)

And we are talking only about 750,000 visas currently in adjudication. Just under a million green cards. And at the very least I believe, it can create two million jobs.

Nothing is being done because "1 million engineers, scientists, doctors, and researchers and their families" are not a lethal voting bloc. They lack a voice.

I empathize with people like me. As I do with Americans who have lost their jobs, and the families of illegal immigrants who live in the society's shadows. If there were easy answers to this solution, we would have found it by now. And politicians prefer solutions that are easy to explain to their constituents. We are so used to soundbites now that anything more complex than a monosyllable evokes a strong abhorrent response.

</comment><comment><USER8> The problem with decoupling amnesty for illegals and high skilled immigration is that the administration doesn't care about high skilled immigration. Illegal immigrants, were they to become legal, will vote Dem. Thus Dems favor it, Reps oppose it. High skilled immigrants don't show a large bias, neither party gets a political advantage from high skilled immigration, so it goes nowhere.

However, don't think that work authorization will stop innovation from fleeing the country. I'm a US Citizen, and I'm leaving the US to start a business in India in few weeks. My partners are both Indians with a green card.

It would be preferable for us to start our business in the US. We'd love to hire unemployed low skill Americans to act as mechanical turks for us (we need quite a bit of AAI). Their cultural knowledge would certainly be superior to Indian college students (important, since the US is our target market). But Americans are simply too expensive - the business wouldn't be feasible at US minimum wage rates, let alone wages high enough to convince Americans to give up unemployment benefits and come back to work.

<comment><USER9> Let me see if I have this right:

You complain about the US not allowing high skilled immigrants in the first paragraph, but then you say you want to hire low skill mechanical turks at below minimum wage in your last paragraph.

You are upset that workers in the US will not work for Indian wages when they have US expenses. Furthermore, you imply that your wages are so low that people prefer the small unemployment benefits instead of working for you.

<comment><USER8> I made no complaint, nor am I upset. I was merely giving objective reasons why, no matter how many visas you give out, some businesses are simply not going to be built in the US. I also explained why politicians focus on low skill illegal immigrants rather than high skill legal immigrants.

Personally, I'm looking forward to moving to India. The food is tasty, the women are beautiful, and it's time for me to do something different. I have no complaints.

<comment><USER10> _Personally, I'm looking forward to moving to India. The food is tasty, the women are beautiful._

...and the bureaucracy and corruption are out of this world. Good luck.

<comment><USER11> Oh...and let's not forget all those they murder for not believing religiously as they do. No thanks.

<comment><USER12> rumpelstiltskin has a very valid point, but your's is unsubstantiated cant. Where is the evidence that you get murdered for just not believing religiously as they do?

</comment></comment></comment></comment></comment></comment><comment><USER13> For a perspective on why H1-B people might want to flee the United States because of execrable tax policy, you can check out this post and comments on my blog:

<http://hodgen.com/hb-person-need-of-fbar-assistance/>

tl;dr - if you have more than $10K in a foreign bank account you have to file a tax form. If you don't file such a form, horrific penalties ensue. H1-B workers frequently have accounts in their home countries with more than $10K. They come here to work, become residents for US tax purposes, and are liable for the penalties.

I have talked to more than one such person who finds it expedient to quit their US job and leave in order to eliminate the US tax risk.

EDIT: In case the connection is not obvious, the same logic would apply to immigrant entrepreneurs. If you have some capital outside the USA and you get a green card, you can stay (and risk six-figure tax penalties) or you can give up the green card and eliminate your tax risk. I have a booming business in "give up green card" work at the moment.

</comment><comment><USER14> "Let's start by increasing the number of permanent resident visas available for the 1 million engineers, scientists, doctors, and researchers and their families who are in the U.S. legally but trapped in immigration limbo."

My problem with this is that a recent RAND study found that Americans are avoiding careers in science and engineering because these fields have become uncompetitive with the professions (law, mba, md, dds, etc) in terms of salary, job stability, and career prospects. In other words, a "shortage", to the extent that it exists, may be a rational response by americans to poor career prospects. It might not make sense to use the immigration system to increase the pool of PhD level scientists and engineers when the most objective research available is concluding that these careers have lost their luster. At the very least, we should recognize that this would probably provide even greater deterrence for people in the US who do have the right to choose their career path.

I tend to favor a points-based system in the US, something more similar to Canada or Australia. I've read about these systems, and while they certainly give credit to scientists and engineers, they appear to be very broad-based (plumbers, lawyers, and electricians get more points than programmers in Australia, last time I looked).

One thing I do agree with - the current system is horrible, the worst of all worlds. We bring in lots of "guest workers", targeting fields that probably aren't experiencing any shortage, and we create an indentured system that in my opinion pretty much violates the concept of personal freedom. It's a crappy system for immigrant and american scientists and engineers, but it does serve a few interests very well.

I pretty much say this every time: take a large but not unlimited number of immigrants, value education and skills in the abstract but avoid focusing too narrowly on any particular trade, profession, or skill set, and give immigrants full freedom to determine their own course in life (ie., no geographical or career restrictions).

</comment><comment><USER15> Some interesting thoughts on immigration from economist Milton Friedman (<http://www.youtube.com/watch?v=3eyJIbSgdSE>):

I've always been amused by a kind of a paradox. Suppose you go around and ask people: 'The United States before 1914, as you know, had completely free immigration. Anybody could get in a boat and come to these shores and if landed at Ellis Island he was an immigrant. Was that a good thing or a bad thing?

You will find that hardly a soul who will say that it was a bad thing. Almost everybody will say it was a good thing. 'But what about today? Do you think we should have free immigration?' 'Oh, no,' they'll say, 'We couldn't possibly have free immigration today. Why, that would flood us with immigrants from India, and God knows where. We'd be driven down to a bare subsistence level.'

What's the difference? How can people be so inconsistent? Why is it that free immigration was a good thing before 1914 and free immigration is a bad thing today? Well, there is a sense in which that answer is right. There's a sense in which free immigration, in the same sense as we had it before 1914 is not possible today. Why not?

Because it is one thing to have free immigration to jobs. It is another thing to have free immigration to welfare. And you cannot have both. If you have a welfare state, if you have a state in which every resident is promises a certain minimal level of income, or a minimum level of subsistence, regardless of whether he works or not, produces it or not. Then it really is an impossible thing.

</comment><comment><USER16> The market in many countries seems relatively untapped compared to the US. You can't fix that problem with a law.

</comment><comment><USER17> Vivek, please use this energy to create more opportunities and better conditions for US students, that's the only long-term solution.

You can't easily grab international (Asian) brains as you did 50 years ago. Things changed.

</comment><comment><USER18> Clueless US Administration is destroying the $15 trillion domestic economy to dilute $3 trillion Chinese foreign exchange reserves by devaluing/printing dollars.

</comment><comment><USER19> So, the factor for leaving the US is better opportunities at home. But the solution is to fix immigration?</comment>