WSGI on Python 3 - <AUTHOR> http://lucumr.pocoo.org/2010/5/25/wsgi-on-python-3 <comment><USER2> I totally agree: The whole HTTP spec has the concept of ASCII implicitly embedded. Converting this to Unicode is, IMHO, the wrong approach. If the spec is talking bytes, then the libraries working with that spec should also be talking bytes.

While latin1 can be converted to Unicode, this is not true for all encodings, so the current way how WSGI is handling requests might actually destroy some data in passing (some multibyte japanese encodings cannot be losslessly converted to Unicode).

If the library doesn't provide easy methods to do something, it's IMHO totally the wrong approach to potentially destroy data just to have the convenience methods available.

So the solution should be to either provide the needed library methods for bytes directly in python or to provide them as a third party library and have WSGI depend on that, though it's probably way easier to just have the internal string methods accept bytes too.

<comment><USER3> _some multibyte japanese encodings cannot be losslessly converted to Unicode_

I hadn't heard this... do you have a link or search terms that will produce more information about the issue ("convert CJK unicode" and "multibyte japanese encoding unicode" didn't)?

<comment><USER4> Also, <http://yehudakatz.com/2010/05/17/encodings-unabridged/>

My post is mostly about the ramifications of Ruby 1.9's encoding support on Rails (a similar topic), but I go into some detail about the problems of Japanese encodings on the web.

<comment><USER2> see also the novel I posted here on Hacker News defending the way Ruby 1.9 decided to handle strings with:

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

</comment></comment></comment></comment><comment><USER5> Standard library changes in Python 3 which make supporting WSGI and stacks like it (and protocols in general) more difficult or painful are bugs. Since the stdlib isn't set in stone, those bugs should be fixed by the interested parties.

No one involved in core development is infallible, if a decision has been made which is fundamentally flawed, it can and should be changed.

<comment><USER6> They're not all stdlib changes though. The lack of certain string methods on bytes makes _implementing_ the stdlib changes unreasonably difficult.

<comment><USER5> Agreed, this has come up more and more frequently and I'm beginning to see the light of allowing string methods on bytes more and more.

</comment></comment></comment><comment><USER7> Any one use PyPy in production? With Apache + WSGI?</comment>


Really Hard Work - <AUTHOR> http://david-smith.org/blog/2013/03/06/really-hard-work/

<comment><AUTHOR> Key points:

I often hear that the key to success in life is a lot of hard work.

A better phrase would be to say that the key to success is persistent work.

In my experience the people who succeed outlasted their peers for long enough to confront opportunities well prepared.</comment>


State of React Native 2018 - <AUTHOR> https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018 <comment><USER2> The biggest problem I've run into with React Native has been their handling of issues. Far too frequently I'll google an issue I'm having and click a link to a bug report that matches the exact problem I'm having and provides a repro only to see that the issue was closed for inactivity. Never mind the issue is still valid, and the comments on the issue will ask for it to be re-opened and the response is to open a new issue.

So then you start this goose chase of hunting down the current issue since it starts getting into this loop of closed, open a new issue, closed, open a new issue, closed, open a new issue, etc. And everytime this happens relevant information gets lots because its not transferred to the new issue.

And then you finally find the newest, currently active iteration of the issue and find out that its still not fixed and the workaround is to stop using the React Native version and re-implement the feature yourself natively on both ios and android.

<comment><USER3> I remember asking about this on Reddit and got a response from someone on the RN team.[1]

> In practice this means that we have issues coming in, but we never close > them when they are fixed, causing them to pile up. So we decided that the > best thing we could do is mark them as stale and close old issues that > nobody has commented on in a while. If we mistakenly closed something that > is still an issue, the community will let us know and we can reopen it.

The discussion I had with them was interesting, but it didn't leave me feeling like anything would really change. Seeing your comment reminded me of this and I guess the status quo has remained.

[1] [https://ps.reddit.com/r/reactnative/comments/7wqxjy/why_are_...](https://ps.reddit.com/r/reactnative/comments/7wqxjy/why_are_so_many_issues_being_closed_without_being/)

<comment><USER4> I can't seem to understand what the problem with "pile up" is? The whole idea of logging issues is to see how long they're open for! In fact good projects take the painstaking exercise to coalesce tickets that are in fact the same with an original item IN ORDER TO track the correct age of the ticket.

This sounds totally backwards.

<comment><USER5> Nope, wrong on all counts. You need to delete stale issues, it's no good having an endless backlog of someone's nice-to-haves that they no longer even care about.

And, the "whole idea" of logging issues is not to see how long they are open for... it's to, you know, log issues, because they can't be fixed instantaneously. Measuring how long they are open for is just a pointy-haired boss side effect, because those are the kind of idiots that would think that kind of metric means anything.

<comment><USER6> >Measuring how long they are open for is just a pointy-haired boss side effect...kind of metric means anything.

I don't think such cynicism is warranted. Open issue time is a useful metric, at the very least over time, of how quickly developers are fixing problems and how complex they are becoming.

Certainly not something for a pointy haired boss to optimize exclusively for, but a useful bit of data to be taken into consideration with other measurements of performance.

<comment><USER7> Of all the KPIs for development teams, how-f-ing-long-will-it-take is a pretty 'key' one, IMO.

It's not the only factor, it's highly product dependent, but it is very relevant to most outward facing activity...

</comment></comment></comment></comment></comment></comment><comment><USER8> Lots of negative or neutral posts in here, so let me chime in: I love React Native.

It's not perfect, but it's very damn good. One of the most impressive pieces of software I've encountered in 9+ years of mobile and full stack development.

I do all my projects in RN now, and I believe it gives me a 2-3x iteration speed advantage over my competitors with indistinguishable-from-native interactions (using react-native-navigation) and the ability to be on all platforms. For a solo dev, these advantages are insanely powerful and are the major reasons that my business is viable.

Last year I rewrote my game Falcross in RN and I'm so happy with my choice. Seriously, check it out and see if you can tell it's a "hybrid" app: [App Store]: [https://itunes.apple.com/in/app/falcross-logic- puzzles/id500...](https://itunes.apple.com/in/app/falcross-logic- puzzles/id500195713?mt=8) [Google Play]: [https://play.google.com/store/apps/details?id=com.rawrmaan.f...](https://play.google.com/store/apps/details?id=com.rawrmaan.falcross&hl=en_US)

At 5k+ DAU I believe it is the largest production game written in RN.

There are more apps but I'm on mobile and it's too hard to link them.

Major kudos to the RN team for all their hard work. RN makes me feel very dangerous as a solo developer and honestly makes mobile development more fun than I have ever imagined (especially paired with TypeScript). Thank you!

<comment><USER9> I tried your game on my Pixel 2, and aside from the performance issues already mentioned by other posters, there are very clear 1px misalignments (buttons borders, screen edges) that make it fairly clear (imo) the app is not native.

<comment><USER8> I don't have a lot of Android devices to test with, though it looks perfect on the ones I have. I would love to see screenshots of the imperfections you're talking about, it would be a huge help! If you see this, please send them to rawrmaan [at] gmail [dot] com. Thank you!

</comment></comment></comment><comment><USER10> My largest issue with RN is that despite being "cross platform" there are numerous times it is not, and the documentation may or may not reflect this. From the image cache policy for remote objects not being obeyed on Android, resulting in all images being cached all the time (open for multiple years, never even acknowledged), to basic features like tiling an image just now coming to Android. Heck even making something as simple as the keyboard not occlude the field being typed into is not cross platform, with the docs just saying that some props may work better than others on android versus iOS.

That and just how very fragile the entire JS eco-system is. Running NPM Update ranges from doing not much at all, to breaking my entire system making deleting all of node_modules the only realistic fix.

React Native is partially magic, and JSX is really nice to work with. But the complicated things take minutes[0], and the simplest things take hours[1].

All that said, I'm still thankful to Facebook for putting out this project. Even if it does behave... weird at times.

[0] Networking? Stupid easy. Even if my linter is unhappy about 'fetch' not being declared anywhere. Great libraries mean things that are normally a nightmare, like, authentication become really easy. And the community has a to of tutorials.

[1] Want to make an image responsive? Or just learn how to render an image properly at all? It is the opposite of intuitive. Also React-Navigation is bad-but-getting-better to work with.

<comment><USER11> > Running NPM Update ranges from doing not much at all, to breaking my entire > system making deleting all of node_modules the only realistic fix.

Why not just pin your dependencies to specific versions, ie - "somepackage": "4.2.9" ?

<comment><USER12> Having to delete node_modules to "fix" it is indicative of a poor package manager. Although not entirely the same, it reminds me of cabal hell, in Haskell many years ago.

<comment><USER13> I've had to do that with every package manager though.

<comment><USER14> After working with pip and gradle I have never encountered that issue

</comment></comment></comment></comment></comment><comment><USER15> I have been working on a commercial RN project for 2 years now. As of today, the project is ~50kloc, and provides builds for Android, IOS, Windows, and Macos platforms. I started it using RN after prototyping with an early Ionic2 version and checking Xamarin.

The code share between IOS and Android is very high, almost 100% (except a few simple home-made native components), and we are above the 85% of shared code between the mobile and desktop versions (mobile is RN, desktop is react- native-web + rewriting of several components on a Qt WebEngine with native versions of a few RN components rewritten in C++). The C++ part is actually very simple, and under 2Kloc. Note that we use Typescript everywhere on the React side, and we consider it very valuable.

Overall, everything works great, we have a few performance issues here and there, but nothing we can't deal with. However the biggest flaw is how indigent the build system is (combining all the flaws of npm and the issues of android upgrades), we still do not manage to have reproducible builds, and it's been sometimes very painful to fix an issue a few weeks later because it would just not build and require a few hours to make it build again.

<comment><USER16> > all the flaws of npm

Can you not use yarn?

<comment><USER17> What flaws of npm does yarn fix?

<comment><USER18> Oh my where do I begin -- Yarn (to me) appears to be faster, and breaks less (if ever). With NPM I kept finding things not working, and having to delete node_modules and re-installing. Yarn just works, and I haven't even considered using NPM since installing yarn.

<comment><USER19> Do you have any actual issues yarn solves for you besides an anecdotal "it just works"?

<comment><USER20> I do.

It caches locally and doesn't hit the net for most redownloads, the lockfiles are significantly more reliable, there's the ability to "force" a transitive dependency to another version, the workspaces system lets you work with monorepos with multiple packages much easier, tools like "upgrade-interactive" are built in and make upgrades much easier, and more that i'm probably missing.

</comment></comment></comment></comment></comment></comment><comment><USER21> So I just thought I would put my thoughts into this, I've been using React Native to create a number of Apps for a very large company for a few years now. These Apps are used out in the wild and I get to see them being used. As a codebase I think it's great - a really nice way of working and creating something. It's got great integration with tools and the general code setup is really nice.

However; If I'm being honest I don't think I've ever seen a worse managed project in my career. Each version that comes out seems to be completely incompatible with the previous one. Getting the App to simply run can take far longer than it takes to actually build the app. There is no locking of library versions so things conflict constantly. Often times the team will update React Native to use some new feature, this makes all backwards compatibility with Xcode incompatible. I think I drew the line when the advice was, just update your whole OS, download the latest Xcode, Yarn and then this latest version will work.

To be frank, it's infuriating - and I know it's not yet 'officially' released but if this is the state of how they plan to manage React Native in the future, I can't see much hope in it. And that would be a shame, because as a framework I think it's fantastic.

<comment><USER22> Indeed. The project has been in development for 5 years, but feels like it is five months old. Full of bugs, every release breaks something major.

<comment><USER23> You've got to give them credit though, it's pretty ambitious (and very useful for some cases).

</comment></comment></comment><comment><USER24> A few years back I was working with Titanium SDK to build apps in my spare time; so it was a pretty obvious choice for me to checkout React Native. It's pretty cool at first but once you dig a little bit deeper and try to tweak things here and there, add extensions, third-party frameworks, ..., the pain becomes very real.

In fact, I learned iOS app development using Swift & Xcode just to not work with React Native anymore.

<comment><USER22> And I am sure your users appreciate it!

<comment><USER25> Why? Do you think users would really notice the difference between React Native and native?

<comment><USER26> I think the commenter is saying something I've felt about cross plat for most of the 10 years I've been working in it... ultimately the best user experience is delivered by the native platform and tools.

Cross platform tools can get you really close but you'll be spending a non- trivial of your time tinkering/tweaking shared code to fix or create different issues on different platforms. That's time that takes away from creating a great user experience on a single platform.

That's not to say Cross-platform tech is all bad. Just that you have to be aware of the tradeoff that you won't be able to 'give it your all' towards _the best_ user experience on a single platform.

PS - the one tech stack that gets you really close from all the ones I've tried (Mono, C++, hybrid web apps, RN) is Unity. But that's for an entirely different use case than apps :)

<comment><USER27> The huge myth about cross-platform mobile development using web technologies isnthat it gives you a faster time-to-market.

The reality I've seen, developing both hybrid and native, is that native has the faster time-to-market because all of native stuff (debugger, GUI builder, etc) works out of the box and all the time saved by a shared codebase is eaten up with tweaking the shared code, having to do stupid JavaScript tricks, and dealing with all the bullshit of the web that hybrid development brings into your app.

</comment></comment></comment></comment></comment><comment><USER28> My problem with React Native is lack of proper ES6 support on Android. The issues are closed on GitHub instead of being addressed. See [https://github.com/facebook/react- native/issues/11232](https://github.com/facebook/react-native/issues/11232)

<comment><USER29> > No updates but if you'd like to help financially sponsor the work to get > this done...

For a project coming from Facebook, this is a bit rich. It's basically saying "you can pay us to build it for you," which isn't wrong, but it's not what you expect from filing an issue on an open source project.

<comment><USER30> What is very well known and understood with React Native is that Facebook has surprisingly limited resources to work on it, so Facebook developers mainly work on parts of React Native that Facebook uses. It's understood that if you have a feature or use case that Facebook also doesn't have, you should be prepared to contribute that yourself.

<comment><USER31> It's not a case of limited resources. There's twice more people on React Native team than people working on React itself, and that doesn't count all the neighbor projects that RN relies on (Metro, Yoga). And still this isn't enough.

At some point you can't "throw more people" onto the problem. Facebook can't just add a few hundred developers to the RN team and expect them to collaborate well. But that's more or less what you're asking about.

Realistically, several companies "scratching their own itches" as referred to in a sibling comment reply tends to work better because it creates focus and areas of responsibilities around real use cases.

</comment></comment></comment></comment><comment><USER32> React Native is hot garbage. I work on a commercial project and it's unbelievable that it can't even compile without hundreds of warnings. Talk about low quality development work.

And every few weeks I shudder to pull a new version, knowing something will have change that broke our builds.

Now let me tell you about debugging in poor network conditions. Ugh.

<comment><USER33> That doesn't seem to be something I've seen any of the core contributors acknowledge and is often overlooked. As a relatively inexperienced developer it seems like a bad thing on the face of it but the builds still succeed... what's the tradeoff?

<comment><USER32> I'm actually a native developer. I'm responsible for a framework that supplies the react app with features it can't implement on it's own (or can't implement efficiently enough). So when I do builds, I need to know if I have any build warnings in my code, but it's almost impossible to see mine in the mass of React build warnings.

It also makes me wonder how compatible react apps will be, for example one build warning about a deprecated iOS feature I inherited actually causes a crash on iOS 12. We have over 400 warnings from the react code alone, how many of those are future land-mines? Quality development dictates your builds have few, if any, compiler warnings. Even if they are things you know will never be a problem you fix them or adjust your warnings so they don't potentially obscure other, more dangerous warnings.

That's a good rule for any professional development project, but when you are developing a shared class library for other developers to build professional products from, it's far more important. The React team's failure to clean warnings makes me question their actual ability and commitment.

<comment><USER34> If I recall correctly, many of these warnings come from the default settings provided by the starter Xcode template. As we mostly integrate React Native into existing projects here at Facebook, this is something that we're mostly blind to.

As it happens, someone sent a PR the other day that fixed a bunch of these warnings just in time for the new release candidate we just cut this week. Please give 0.56.0-rc a try. If there's any warnings that still need to be addressed, send a PR or open and issue and ping me. This is something we want to actively clean up :)

</comment></comment></comment></comment><comment><USER35> Hi! I'm the author. Let me know if you have questions that aren't covered in the post.

<comment><USER26> Hi - What's the latest philosophy/best practices on interop with React web?

Is the philosophy still 'learn once write everywhere'? There are so many different approaches now to reuse React Native with React, like react-native- web and react-native-dom, it's confusing.

Some of those solutions are non-starters for me since I started with a React webapp and want to now have a React Native app that shares most of my existing code.

My gut feeling is just stick with HOCs, SFCs, proper isolation of the views and I'll be able to share the bulk of things like action creators, reducers, etc. Is this reasonable? Are there other good practices?

<comment><USER35> Your plan of sharing business logic sounds good. We don't currently have any recommended way to share code between web and iOS/Android, although I'm hopeful we will at some point in the future.

<comment><USER30> I'm actually curious - how does the React (Native) team feel about such efforts? Initially RN was pitched not for cross platform app development, but " _learn_ once, write anywhere". I guess this is the reason why sharing more code between RN and web hasn't been prioritised by the FB RN team, but do you see your team wanting to encourage this?

</comment></comment></comment></comment><comment><USER36> Question to RN experts: does anyone of you know where in the RN codebase can I find the exact code which generates the claimed _" single JSON message that lists mutations to perform"_? I'm super interested in pinpointing it, but I'm having serious trouble with that :(

(Cross-posted this question to: [https://stackoverflow.com/q/50873408](https://stackoverflow.com/q/50873408))

</comment><comment><USER37> Any plans to fix the hundreds of build warnings RN causes and the broken configuration settings that make parallel builds impossible? Huge pain points in our hybrid native/RN app.

</comment><comment><USER38> My dream is react native reimplementation (not just bindings but complete rework) with Kotlin. It could compile to Android, iOS, Browser as a native target without any need to bridge between JavaScript and native code, work faster and having first class sane language. I think that only big corporation could make it, Jetbrains, hear me :)

<comment><USER22> Why not check Xamarin? It's already on a modern language (C#), great cross platform capabilities (Xamarin Forms), but can also directly interop with native APIs when needed (they are always needed).

<comment><USER39> I like Xamarin but I do not like the dev process yet for the frontend. I think if that would be leaner (more Core2 and potentially command line and reloading instead of recompile: only for dev ofcourse) it would be more popular. Now it is a very heavy process; thats not because of c# or f#; they can both be very dynamic. Not sure why not more work goes into making development smoother.

Having said that, I for one like working with Forms+renderers and a reactive framework a lot more than RN. I can go for years and have my code work fine after updates; I find npm such a nightmare and RN feels too driven (logically) by FB needs.

</comment></comment></comment><comment><USER40> This seems to dissuade some of the rumors on HN about React Native not being supported by Facebook.

<comment><USER41> Also Flutter is getting a lot of traction right now.

The development experience is incredible (probably why Facebook mentioned instant reload), lots of companies are trying it out e.g. Evernote and the community is buzzing with new plugins. Plus it doesn't wrap native components so the core of it just works cross-platform.

<comment><USER42> I think the flutter approach is probably the better one, since the ux stack has more control over how things are done.

Instead of being wrappers around complicated native UI libraries, it's a 'game engine' over a lower level graphics layer. It's a smaller surface area to screw up on and create abstraction leaks. You don't have to be a iOS/Android and react native expert to fix hard issues, just a flutter expert for the most part.

It's just too bad the language run time is dart and it's run by google, which is infamous for being fairly ADD with projects.

<comment><USER43> Flutter is at least open source, here's hoping that the dev community gets organized enough to have the will to adapt annual iOS updates into the Cupertino widgets once Google drops support for the project.

<comment><USER41> 1\. Apple doesn't refresh the UI components annually. In fact the last time it happened was 3 years ago. Not to mention that the Cupertino widgets are very limited in nature.

2\. This project definitely feels different compared to some of their others. The experience is just so much better than writing iOS or Android code that I think they would be insane not to support it.

<comment><USER43> Maybe they don't do full-on refreshes a la iOS 7, but perhaps they tweak little animation physics here and there. I'm thinking of this article's critiques of Cupertino widgets feeling a bit off:

[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></comment></comment><comment><USER44> I'm curious if RN will go the way of Flutter and implement their own renderer instead of giving commands to the OS for every little thing.

<comment><USER45> God, I hope not. They would have to re-implement every tiny little detail of every button, textbox, and every other widget on each platform. Then they'd have to keep it up to date every time the platform updates. That's just an impossible task.

<comment><USER46> It's pretty possible, and has been for a while: 1) Flutter already implements the Material spec and Cupertino spec, so the biggest cost, the upfront cost, is satisfied. In fact, the Flutter team found inconsistencies with the Cupertino spec vs. what iOS' animation kit implements and filed bugs for them. 2) It's OSS; this problem will minimize as more people are contributing and using Flutter.

<comment><USER47> You mean just like people are contributing and using Ionic, Cordova, Qt, Xamarin?

</comment></comment></comment></comment><comment><USER48> Everyone's "biggest problem with react native" seems to be different. Not sure what that means but don't think it's a positive sign.

<comment><USER25> I think sadly a lot of it is just FUD. Refer to the comments about npm I'm addressing elsewhere in this thread. They're just ill-informed, or deliberately throwing shade.

</comment></comment><comment><USER49> One of my main issues (as RN plugin developer) is build system being so fragile. Plugins are usually declaring different library versions. Same thing with gradle versions itself. Currently RN is using gradle 2, but some plugins started to use gradle3, which lead to even more incompatibilities.

I also have several suggestion for RN, but have bad experience with ignoring my issues. React team recommends react-native.canny.io for feature request, but those are pretty much ignored too (not seen official response to any of those).

This is very frustrating as plugin developer who really want RN to progress forward and works for free in my free time.

</comment><comment><USER50> Its very unfortunate that that there is not built-in library for navigation in RN or Expo. React Navigation is a capable tool, but the API is very awkward and convoluted, even for doing very basic things like opening modals.

<comment><USER51> use this [https://reactnavigation.org/](https://reactnavigation.org/)

</comment></comment><comment><USER52> I moved a way from react-native to flutter because developing react-native is frustrating. Note: I love React and Redux but I HATE react-native!

a) Flutter's hot reload is a much better experience than react-native or Expo.

b) I am more confident with Flutter (React-native makes me feel incompetent since I have no idea about native stuff). With Flutter, I feel that I am in charge of my code, because dart compiles to native arm code.

c) I have OCD and don't like RN's console warnings when I am compiling the code.

d) Flutter UI widgets are so consistent that I don't even bother testing on both platforms. (one is enough)

e) I dislike RN's ecosystem. I don't even bother making canny request on react-native's canny, due to lack of response. None of the most popular planned FRs from last year are done yet ! [https://expo.canny.io/feature- requests?sort=top](https://expo.canny.io/feature-requests?sort=top)

f) React-native's libraries are out of date.(I prefer corporate backing over community support)

g) lack of response on stack overflow

If I wear react-native, I would take Flutter's approach instead of bridge. Completely modernize JavaScript, get rid of its bad parts and compile it to arm. SKIA is open source and if Dart can compile to it, so should JavaScript with more tweaks of course.

</comment><comment><USER53> I recently started building an app using Cordova. I chose Cordova because I'd used it before and enjoy using VueJS (have used React and have no problems with it, just really enjoy Vue).

What a mistake.

I run into problems with the build on a weekly basis. I generally have very good debugging skills but in many cases could not figure out what was wrong. Usually `cordova platform remove ios && cordova platform add ios` fixed it. There is a ton of state in there and it's never been clear to me how to make it reproducible from the configs.

Many plugins simply don't work as they are outdated and not compatible with new iOS/Android versions. Using Firebase for notifications is one example.

Of course, I greatly appreciate the open-source authors who built all this and I don't expect them to solve my problems for free. I'm just pointing out my own mistake in choosing to use this tool, which doesn't solve as many problems as I thought it did.

Can any developers here say whether they've had a smooth experience using React Native? I'll definitely be trying it out soon...

<comment><USER54> There is a small step to get all the build tools into your mindset, xcode and gradle. For me the javascript side of things has been very stable.

I have built couple of native like applications with react native, and my only recomendation is using native navigation, it is key.

[https://loremipsum.ueno.co/using-react-native-to-build-a- pro...](https://loremipsum.ueno.co/using-react-native-to-build-a-professional- consumer-apps-7c9c99cd0605)

</comment></comment><comment><USER55> Added React Native to our developer dashboard tool at Chart.ly.

Project is definitely healthy in terms of activity both in terms of commits and contributors. Here is the dashboard:

[https://chart.ly/github-dashboard/facebook/react- native](https://chart.ly/github-dashboard/facebook/react-native)

Would love some feedback on our dev dashboards if anyone here is interested!

<comment><USER56> That looks like a great tool for micromanagers, and I'm not sure what other uses those numbers could have.

<comment><USER55> Well... the streaks are intended to show consistency in progress of a project. Great for anyone with a vested interest in the project.

Also great for just seeing activity in one place. GitHub's website is great, but not really geared to providing much of this information in one place.

<comment><USER56> I suppose, but maybe I'm inexperienced: in what context is "longest streak" a useful number?

<comment><USER55> You are right about that one... more of a "glamour" metric than something very useful (like when longest streak equals current streak which is the case for our internal dashboard [1]). In this case you know you've been very consistent over that time period. We will probably remove that one soon.

We do believe that at least with our product this kind of information it will inspire more confidence in our users when we publicize this information more (vs. lots of products that end up stagnating over time).

[1] [https://www.dropbox.com/s/86jik7dvxwzdddd/Screenshot%202018-...](https://www.dropbox.com/s/86jik7dvxwzdddd/Screenshot%202018-06-15%2013.13.47.png?dl=0)

</comment></comment></comment></comment></comment><comment><USER57> how do people feel about that FB is not using the github build themselves ?

and the fact that the opensource build is RED for roughly a year now ?

</comment><comment><USER58> Excellent news. I've had the opportunity to work with the framework while mentoring a customer and the experience has been pretty enjoyable. Hopefully these upcoming improvements will be backed by better documentation—that's the only area that really felt lacking.

</comment><comment><USER59> Can someone tell me how React Native is actually working?

My initial guess is that it is basically running the same JS in a browser wrapped into a native GUI widget (win32, X, Cocoa, etc).

Maybe I'm getting long in the years, but seems like we've played this game many times.

<comment><USER60> @hiram112. React native works in a 'conceptually' similar way as wxWidgets (if you are familiar with with that). It uses platform's native APIs. It does not rely on a web browser on your mobile device. The integration is also not just for widgets, but underneath it abstracts out Image, network api, basic storage/preference primitives, screen rotation, etc.

For the things that it does not abstract, it let's you write a native module, that you register with RN runtime, and then the APIs for your native module will be avialable to your RN java script code.

There is an active opensource ecosystem of RN-modules that you can leverage, that will work on Android and IoS , abstracting the platform specific things that RN does not do yet themselves. Everything from non trivial camera interactions to bluetooth specific things. Eg

[https://github.com/Polidea/react-native-ble- plx](https://github.com/Polidea/react-native-ble-plx)

</comment></comment><comment><USER57> i also wonder about the 64 bit support on android ? if they are really supporting it, i would expect more movement in that area...

</comment><comment><USER57> they also mention async rendering. cool. but they also did in ways that breaks the Detox e2e testing framework ,if i am not mistaken, in a way that is difficult to fix without proper support from RN code itself.

this kind of stuff is awkward. do something new cool, but break major functionality for some users of RN.

<comment><USER56> "Move at a medium pace and break things."

</comment></comment><comment><USER61> I need to interact with a very specific SDK that Bluetooth stuff, is React the going to be able to handle that?

<comment><USER62> Sure you can.

Either you find an native module like this: [https://github.com/Polidea/react- native-ble-plx](https://github.com/Polidea/react-native-ble-plx)

Or implement a Native Module yourself([https://facebook.github.io/react- native/docs/native-modules-...](https://facebook.github.io/react- native/docs/native-modules-ios.html)), then you can use any native frameworks available.

</comment></comment><comment><USER60> I have very positive experience with React native, and also with React Native Web. Being able to share source of full pages/activities/forms across both Mobile platform + Web browsers, while having Native look and feel -- is incredible.

Very rewarding not just being able to use the same 'code base', but also leverage same paradigms to manage UI Layouts between native and web (with flux).

As a side note, I absolutely despair when I have to fall back to CSS or even bootstrap.

Once I, finally, 'groked' flux -- it was huge productivity booster and I can rely on that learn-once-use-in-many-places knowledge across not just my app, but also when building small web-sites (in web tech only).

My approach for the app, is of a 'hybrid'. That is, my app starts out as Native, and then, for some 'activities' (in Android-speak) -- I use react- native.

I have implemented native modules to get access to platform specific elements from React native code (eg networking apis, security, hardware device access, device-preference/database stores) -- while basic forms/widgets and navigation logic for some pieces are in React, leveraging React-native and react-native- web underneath.

I think the UI paradigm introduced by React is a sweet spot for UI development (concentrating on state as first-class-citizen).

I am hoping same paradigm (and similar abstractions) are adapted by MS toolchain for desktop and console UI in .NET-based solutions.

Another side note (not RN specific) : C# is really a much better language than JavaScript, but until browsers can supports C#-subset, JavaScript is the only game in town for the 'modern' cross-platform dev efforts (eg. cross mobile, desktop and web-browsers) ).

In terms of some challenges I have experienced with RN:

a) build system. Creating a release build is a major undertaking. As the solution has to merge the 2 worlds: native and JavaScript-specific asset management pipelines.

Error messages are obscure (eg I ran into issues, for example, where a path for an Icon file was too deep, moving it to shorter path, solved that one).

Guides are for primitive (and non-hybrid) approaches.

b) Lack of standard (RN and RNWeb ) support navigation component.

c) Small things like: no Checkbox component for IoS..

d) Cross-platform app-store compatible icon management is not built in. I use react-native-vector-icons -- so that solves that problem for me. But app-store compliancy like this should, ideally be part of such platform.

e) As the article points out, the integration bridge between RN and native is not efficient for 'constant interaction'. Because it requires you to serialize data structures back and forth. So impossible to write 'hybrid' apps where small parts are in RN -- instead it has to be 'bigger things' that would not require too much back-and-forth.

f) the Debugging with Chrome over TCP bridge -- is basically a horrible/slow/barely working. Navigations from one screen to another take like 2 seconds, while the debug mode. Because my components work on web browsers, thanks to React-native-web - I end up, most of the time, debugging my RN logic using React-native-web within browser debugging tools (rather than starting up the native app and then spawning the debugger with Chrome bridge).

<comment><USER63> > I am hoping same paradigm (and similar abstractions) are adapted by MS > toolchain for desktop and console UI in .NET-based solutions.

You're at least a couple of decades late, there, and the other way around: instead of `Winuser.h`, it's `react.js`.

<comment><USER60> I do not think we had something similar prior to React Native.

I programmed MFC, Delphi, YACL (if folks remember..), wxWidgets, Borland OWL, Dojo toolkits.

There was never a concept of State-as-first-class citizen for UIs.

And there as never a cohesive multi-screen layout engine story, like we have now with flexbox (via RN and RNW).

So in my view, the data binding via explicit state-management paradigm that React introduced -- will survive for decades, and will be copied to other programming environments.

Same, probably for flexbox as a layout management model...

Although, there, I wish that it would be more 'typefull' where various incompatible layouts could be flagged as errors or warnings at compile time.

Perhaps (and may be this is is far fetched) with the advancements in practical category theory, compute power (including at compile time) -- we should be able to do 'shape' management as algebraic concepts -- where layout engines, should be able to treat layout definitions as composeable, multi-variable functions.

WRT javascript vs C#, I was just noting, that, in my view C# is just a much better language, and I wish it would have been a de-facto web-standard and not javascript. This way something like React, would not have been conceived in javascript.

</comment></comment></comment><comment><USER64> Will React Native finally support exchanging BINARY data (ArrayBuffer, TypedArray) across the bridge?

Thus far I have to send binary data as base64 encoded strings! See react- native-fetch-blob for an example, when I read a file.

Current state:

Example, issue: [https://github.com/facebook/react- native/issues/1424](https://github.com/facebook/react-native/issues/1424) (closed but not solved, quote: "We are trying to keep issues focused on bugs and this is more of a feature request")

Documentation for native modules, which kinds of data can be sent back to Javascript: [https://facebook.github.io/react-native/docs/native- modules-...](https://facebook.github.io/react-native/docs/native-modules- ios.html#argument-types) (here the iOS docs, but it's the exact same for Android/Java)

<comment><USER65> I've managed to do this with direct access to the JSC C API — you could probably write an interop w/ Obj-C / JNI.

<comment><USER64> Any pointers or code?

<comment><USER51> [http://devdocs.io/react_native/native-modules- android](http://devdocs.io/react_native/native-modules-android)

[http://devdocs.io/react_native/native-modules- ios](http://devdocs.io/react_native/native-modules-ios)

[http://devdocs.io/react_native/communication- ios](http://devdocs.io/react_native/communication-ios)

<comment><USER64> That's the regular RN documentation - which is of ZERO help here. Please check the topic of this sub-conversation - you missed it.

Hint: The parent mentions the "JSC C API". You point to Java and Objective-C - that alone should give you a hint that something is wrong with your links, that they don't quite fit into the conversation. That's the equivalent of a physics question where you want Watts and get Newtons - a unit mismatch as an indicator that you solved the wrong problem or the problem wrong.

And just to say that too, I'm the co-maintainer of a popular native package for RN, so I'm already quite familiar with the RN native API for both Android and iOS.

</comment></comment></comment></comment></comment><comment><USER66> Facebook can make software great because they have great engineers, but they've suffered a major case of scope creep, which leads to more than a few loose ends as the company assigns their best engineers to [choose your own adventure]:

\- maximum profits (woohoo!) \- reaction to potential regulation \- unwanted press attention \- wanted press attention \- the shiny new thing

That's why I never switched to React. It's a good way to organize things and was clearly well engineered from the start, but there are other choices besides React (and RN) where leaders have demonstrated their willingness to stick with it through thick and thin because...it's all they do.

<comment><USER35> This is a pretty unrealistic view of how big companies work. Engineers aren't fungible, and no one has been "pulled off" of React or React Native to anything like you suggest.

React is my full time job (I was also the #1 committer before joining FB) and no one is planning to abandon it. Even if Facebook company leadership decided for some reason to divest, React would live on with the support of its community similar to other projects without corporate backing.

<comment><USER66> While it may be your full-time job, you're still participating in a larger mission, right?

Take the case of the legal problems with the React license that eventually were ironed out or the privacy issues facing the company more recently.

Neither of those would have been a factor in your day to day life if React was its own thing, right?

If no engineer has left the team, through their own will or through enticement, you have my apologies.

I'm not arguing that you're not committed. I'm arguing that working for a large company is a distraction, which is true of all large companies. Would you agree that the licensing issue was unnecessary and distracting?

Don't get me wrong, I think you're doing great work and React isn't going anywhere, but there's a broader mission there that is distracting from doing that one thing. Do you ever wish it were it's own thing (if money weren't involved)?

<comment><USER35> Certainly there are downsides to any setup, but due to React Native's large ambitions I'm unsure if it could have ever been created by an independent community. There is a _lot_ of work that goes into it and the abundant availability of complex real-world problems (to a greater extent than I've seen anywhere else) spurred by this setup pushes React Native to be a more capable project.

<comment><USER66> Thanks for the insight. I can tell from how you write about React, you're very dedicated, and I feel your passion.

Upper-level managers at the large companies I've worked for universally saw these types of projects as "cost centers" and tended to interfere in ways that demonstrated a basic misunderstanding of the value. I hope that's not true in your case.</comment></comment></comment></comment></comment>


Voyager 1 Fires Up Thrusters After 37 Years - <AUTHOR> https://www.nasa.gov/feature/jpl/voyager-1-fires-up-thrusters-after-37 <comment><USER2> The article mentions the thrusters used are the Aerojet Rocketdyne MR-103 [0]. They look pretty delicate, but only need to provide about 1N of thrust. Visually I was expecting something like the MR-107S in the same datasheet.

I ended up getting voyager "golden record" LPs for a friend's bday [1], which was a pretty neat present. Turns out her bf's uncle produced one of those records in the 90's.

[0] [http://www.rocket.com/files/aerojet/documents/Capabilities/P...](http://www.rocket.com/files/aerojet/documents/Capabilities/PDFs/Monopropellant%20Data%20Sheets.pdf)

[1] [http://www.ozmarecords.com/product/voyager-golden- record-3xl...](http://www.ozmarecords.com/product/voyager-golden-record-3xlp- box-set)

<comment><USER3> Here's a photo album of producing the original golden record, followed by its visual contents. [https://www.flickr.com/photos/nasa- jpl/sets/7215767618791618...](https://www.flickr.com/photos/nasa- jpl/sets/72157676187916186/)

<comment><USER4> I would love to read a story about aliens finding the records and trying to decode them. Personally, I find the image encoding impossible to understand.

<comment><USER5> There was a reddit post today showing the picture of the naked humans and the quasar map to earth... the caption was - maybe the reason aliens haven't contacted us is that we sent unsolicited nudes and directions to our house.

<comment><USER6> Googled, but couldn't find the cartoon that showed an alien family (looking every bit like Ward Cleaver's family) looking at the Pioneer plaque while one of the alien children says, "They look like us except they don't wear any clothes."

Maybe an old Scientific American or issue of OMNI magazine....

</comment></comment></comment></comment></comment><comment><USER3> From the Voyager FAQ ([https://voyager.jpl.nasa.gov/frequently-asked- questions/](https://voyager.jpl.nasa.gov/frequently-asked-questions/))

Even if science data won't likely be collected after 2025, engineering data could continue to be returned for several more years. The two Voyager spacecraft could remain in the range of the Deep Space Network through about 2036, depending on how much power the spacecraft still have to transmit a signal back to Earth.

<comment><USER7> They'll definitely keep collecting science data until it no longer transmits. They keep closing in on ending data collection and then scrounge up funding. It's a human milestone, we'll listen until the end. That said, when the digital world ends in 2038 it'll be moot anyway, but we'll record our stellar wanderer's name on stone tablets.

<comment><USER8> Luckily the Voyager software is not vulnerable (& can be remotely updated).

</comment></comment></comment><comment><USER9> See also previous discussion from 3 months ago [https://news.ycombinator.com/item?id=15827369](https://news.ycombinator.com/item?id=15827369) (260 comments)

</comment><comment><USER10> Posts like these are fascinating, but constant comments like these just take me entirely out of the story:

> [far away from earth,] there's no mechanic shop nearby to get a tune-up.

Did someone from marketing write this to dumb it down or something? It seems so random when two sentences down they talk about milliseconds and assembler language without explaining the terms.

<comment><USER11> I found this kind of odd and distracting too. You either go full nerd or no nerd, not half and half.

</comment></comment><comment><USER12> _"Voyager 2 is also on course to enter interstellar space, likely within the next few years."_

Is the lack of precision on the date because they don't know precisely where the boundary of interstellar space is?

<comment><USER13> Yes. This is based on Voyager 1's heliopause exit back in 2012 at 121 AU. It is presently at about 141 AU.

Voyager 2 is at at about 117 AU now.

The uncertainty in "the next few years" statement is because of the assumption is that the heliopause will occur at roughly the same distance that Voyager 1 found it at.

</comment></comment><comment><USER14> Whomever collects this piece of 'space junk' in the far distant future would be puzzled how that every power source had been eeked out and used, with no remaining systems functional they will wonder how it got to that state. To them it will be like one of those bicycles that has no brakes, a couple of punctures and no working gears - how did it get there, what broke first?

<comment><USER15> Anybody who can come up with a method of "collecting" it that doesn't smash it into millions of unidentifiable tiny pieces is probably smart enough to figure out the rest!

</comment></comment><comment><USER16> (December 2017)

Original submittal, 740+ points: [https://news.ycombinator.com/item?id=15827369](https://news.ycombinator.com/item?id=15827369)

</comment><comment><USER17> Obligatory :) [https://xkcd.com/1189/](https://xkcd.com/1189/)

</comment><comment><USER18> Neat timing on this resubmit. I just watched The Farthest on a flight this week. It's a neat movie that gives interesting (and human) context to the mission and those who executed it. I'd definitely recommend it as a watch for anyone even nominally interested in space exploration.

</comment><comment><USER19> This article piqued my interest in Aerojet!

Reading the Wikipedia entry, I was stuck by how the founders list control of their firm, "Unhappily for us, no bank would lend us money; bankers hadn't yet come to think of rocketry as a stable business."

Interestingly, a tire company acquired majority control!

<comment><USER20> So, if you are ever in Miami, you can take a 45 minute drive down to their old facility at the edge of the Everglades in Homestead. Bring/rent a mountain bike because the last 2 miles are closed road. Great place to run.

Even cooler, there is still a test missile in a silo in one of the remaining structures. There is all sorts of interesting rusting hulks out there.

[1] [https://en.wikipedia.org/wiki/Aerojet#Florida_facility_and_c...](https://en.wikipedia.org/wiki/Aerojet#Florida_facility_and_canal)

[2] [http://www.abandonedfl.com/aerojet- dade/](http://www.abandonedfl.com/aerojet-dade/)

</comment></comment><comment><USER13> "that was coded in an outdated assembler language" LOL, that's just a sad statement.

<comment><USER13> Can anyone explain to me why is this being downvoted? I have coded in assembly since the 1970's and still do today. It is essential for some tasks and when these spacecraft were designed, it was the obvious choice. I just don't understand why NASA would call it "outdated".

<comment><USER21> Maybe because they have less and less people who know how to read and program with this particular assembly language?

The program was written more than 40 years ago, most of the people who wrote it are probably retired now.

Also, it's not a "mainstream but old CPU" like a Z80 or a 6502, given the constrains of a space probe it's probably more a custom thing developped specifically for these (kinds of) missions.

<comment><USER22> How old do you have to be to be retired en mass? I'm in my early 50s, first assembler was 6502, second s/370\. I'm going strong as a dev. That was a misleading comment "outdated assembly language", but assembly is less common than in the past.

<comment><USER13> Thank you. I was beginning to feel old. I am also in my early fifties. I spent a long time with PPS-4, 8080, Z80, 6809, 8051, and many others. These days I work primarily with Microchip PICs, and still program in assembly fairly often.

<comment><USER22> I never use assembly these days, it's all C++ and before that Java. The only assembly I see is in the debugger and I occasionally look at it and is that left to right or right to left on x86 :-) Let's see, the best assembly was s/370, right? I am pretty sure the destination was on the left. and on x86, does it move right? They got everything else wrong on it :-)

</comment></comment></comment></comment></comment></comment><comment><USER23> This reminds me of those many YouTube vidoes showing extremely old machinery such as cars being started after many decades of inactivity. There's a certain indescribable feeling when something like this happens.

</comment><comment><USER24> (2017)

</comment><comment><USER25> And yet my phone can't last three full years.

<comment><USER26> Your phone will be outdated and replaced in three years. Hard to replace a probe in space. For this reason it is a good idea to design phones to last 3 years and space probs to last decades.

</comment></comment><comment><USER27> I've seen this article mentioned on several sites. The title is terrible, misleading clickbait that seem to indicate that the Voyager 1 has been unresponsive for 37 years. What nonsense! This is really about how NASA found they could use a set of thrusters that had been idle for 37 years. A much better discussion can be found at this NASA page:

[https://www.nasa.gov/feature/jpl/voyager-1-fires-up- thruster...](https://www.nasa.gov/feature/jpl/voyager-1-fires-up-thrusters- after-37)

<comment><AUTHOR> Thanks, I've edited the title to match NASA's. (Can't change the URL though.)

<comment><USER27> Excellent. It's a great story about how amazing the Voyager spacecraft are and I'm glad to see it getting a lot of attention, even with click-bait titles!</comment></comment></comment>


Google has trained us all to think like marketers - <AUTHOR> http://firewatching.com/ambient/2008/07/07/google-has-trained-us-all-to-think-like-marketers/ <comment><USER2> _Think of all the really interesting and important things that this pool of brainpower could be addressing._

Actually, though unsexy, making the global economy a little bit more efficient probably does more to make people's lives better than dramatic things done specifically to make people's lives better.

<comment><USER3> On the contrary. I think arguably the advances that have made people's lives better over the last century have been collective, more centrally planned efforts, _not_ driven by profit, and done in _spite_ of the attitudes of big business and the market.

I am thinking specifically of public sanitation, public health works, winning World War II (what a boost to the economy that was), public education; most, if not all, beneficial scientific advances. Most technology "developed" by business has been largely offshoots of collective efforts (eg NASA).

But come to think of it, most that was pretty damned unsexy too :).

<comment><USER4> I disagree. Just some counter examples in my mind.

1\. Mass production of automobiles. I don't think Henry Ford achieved this goal without making profit on his mind.

2\. Birth of Personal computers. I don't see any government has interest to put a computer in every household.

<comment><USER5> Although I agree with the main thesis, I must point out something that muddles matters: if we hadn't had massively subsidized highways, cars would not have been so ubiquitous in postwar America.

 _I_ happen to think that this supports the libertarian side, since a government powerful enough to build something of that scope will be vulnerable to lobbyists who want it to build something useful to their industry.

<comment><USER4> I agree the point of subsidised highway system encourages popularity of automobiles in America.

This also means when government's involvement distorts the market mechanism, the consequence of suburban sprawls, huge consumption of oil will creep in one day. If the government did not try to build too many highways, maybe we will not waste so much of natural resources, right?

</comment></comment></comment></comment></comment><comment><USER6> I've been observing the comments here and at my blog and I want to make it clear that I'm not trying to draw the line between making money or saving the world.

My point is that we've been conditioned somewhat to think that the only way to build profitable businesses is as an advertising platform.

It's less a question of revenue models and more a questioning of the types of technology we build and a challenge to expand our horizons.

</comment><comment><USER7> Pools of brainpower directed towards any task imply centralized planning. The market's probably better at pricing what must be done.

P.J. O'Rourke has put this in more memorable words. [http://www.latimes.com/news/opinion/la-op- orourke4-2008may04...](http://www.latimes.com/news/opinion/la-op- orourke4-2008may04,0,3597821,full.story)

<comment><USER2> Units of a few thousand people are a lot higher res than central planning on a national scale.

But I get your point. We're working hard on version 2.</comment></comment>


How to develop new Cordova plugins for Ionic without loosing your mind - <AUTHOR> https://medium.com/@sam_43786/how-to-develop-new-cordova-plugins-for-ionic-without-loosing-your-mind-19420452e02a <comment><AUTHOR> I had so much trouble finding info on how to make new Cordova plugins, so I compiled a some information together into a (hopefully) helpful article.</comment>


Ask HN: High-Quality Online Degree for Mathematics? - <AUTHOR> Hello Hackers,<p>I am looking for suggestions on online mathematics degree options (something similar to OMSCS from Georgia Tech). I have background in CS but have always wanted a degree in Math. Cannot leave my job and study - have mouths to feed.
I can self study but I find myself switching my topics of study too often. Following a strict regimen of syllabus will discipline me to complete what I start. <comment><USER2> UK OpenU has a remote applied math/stats BSc and they've been around for 50 years (though recently plagued with financial problems) [http://www.openuniversity.edu/courses/qualifications/q36](http://www.openuniversity.edu/courses/qualifications/q36)

You'd pay the same tuition to go to a local school P/T though, total cost to complete is around $4k USD per year plus whatever you have to pay to a local testing center (here it was $60 per exam). Another way is just work through a rigorous introductory text like Concrete Math by Knuth and hire local math grad students to tutor you (or for them to come up with their own curriculum) but since it would be nice to spend all this time and gain actual credentials I'd be interested in distance math degrees too if anybody knows of others, University of London only has graduate level distance math degrees.

<comment><USER3> > UK Open University

As a person that has two math degrees and knows someone that received their PhD in a CS/Math/Logic area (i.e. PL) I couldn't +1 this recommendation enough. That person is now a professor at a college in the UK but studied while elsewhere in the EU.

The OP stated:

>I am looking for suggestions on online mathematics degree options

The Open University is a very valid choice for this.

<comment><USER4> I'd agree with that, mathematics has always been a high priority for the OU.

</comment></comment></comment><comment><USER5> If you don't find any official degree online you can always stick to a bootcamp course that is similar to Harvard Math 55. It has had several forms. The most interesting ones being either Halmos + Rudin (plus many aids such as Gelbaum & Olmsted) or just Hubbard & Hubbard. Either way you will get a very solid introduction to mathematics that covers algebra and analysis, in a really rigorous way.

However, being a computer scientist I think a different approach to mathematics can be more enjoyable and also much more useful for many theoretical and practical developments that are yet to come. The downside is that materials are a lot less cohesive (any other references appreciated!). I'm talking about an approach with a focus on the foundations of mathematics, emphasizing logic, category theory and type theory.

Some links:

[http://www.paultaylor.eu/~pt/prafm/](http://www.paultaylor.eu/~pt/prafm/)

[https://ncatlab.org/nlab/show/computational+trinitarianism](https://ncatlab.org/nlab/show/computational+trinitarianism)

[https://softwarefoundations.cis.upenn.edu/](https://softwarefoundations.cis.upenn.edu/)

[http://adam.chlipala.net/frap/](http://adam.chlipala.net/frap/)

[http://concrete-semantics.org/](http://concrete-semantics.org/)

<comment><USER6> I've read parts of Halmos + Rudin, and I think that they would be a fast track to higher level pure math, but I've known people who've gone down such path and end up being able to prove Fubini's theorem using measure theory without understanding what it means.

The ideal approach for a self learner, which would simulate the university experience, would be doing as many problems in Schaum's outlines for math subjects and supplementing the info with textbooks/online resources.

</comment></comment><comment><USER7> the following assumes you are in the US.

If you already have a bachelor's degree, then I would do online lower div courses, often available via community college (Virginia has the whole lower div sequence online), then I would do the University of London graduate diploma, run by the London school of economics.[1] The courses are basically equivalent to upper div math / stats / early grad school classes.

If you don't have a bachelor's degree, UoL don't have a degree with _just_ math. They used to just have just a "math and economics degree", but have recently launched a "data science and business analytics" bsc [2] which looks like it has very little non-mathematical content (certainly less than a US math degree that has gen ed requirements)

I did a non-mathematical undergrad a long time ago, then did the lower div math courses online via community college. Currently doing an MS in math and stats in person at my local state school, but also enrolled in the london graduate math diploma this year to go over some things in more detail, and to help me review things before comprehensive exams next year :)

Message me if you want more info, happy to help!

[1] [https://london.ac.uk/courses/mathematics](https://london.ac.uk/courses/mathematics)

[2] [https://london.ac.uk/data-science-and-business- analytics](https://london.ac.uk/data-science-and-business-analytics)

<comment><USER7> Forgot to say, University of London is super cheap, maybe around $2000 for the grad diploma, or around $7-8000 for the degree.

<comment><USER8> It's cheap for a reason. The books are riddled with errors, they offer no support at all aside from "here are books. test is on $DATE". There are forums but no instructors on them.

If you're already proficient at mathematics then it's good to get a diploma to state as much. But if you're looking to learn then it will be of little help.

<comment> barry-cotter I don't do the Math degree but I've found the tutors for the Finance M.Sc. with SOAS reasonably responsive. It says they'll respond within three business days and they do. I wouldn't say the course readers are well edited or kept up to date but the textbooks are all good so far.

</comment></comment></comment></comment><comment><USER9> The University of South Africa is one of the largest correspondence universities in the world. Also, the course material is quite good but the support not so much (teachers and profs might take some time to respond, YMMV).

Also about 5x cheaper than the equivalent in the UK.

<comment><USER10> I went to look at their curriculum and fees and their website and programs are so hard to make sense of. You pay by module and the module consists of 12 credits to take to complete the module.

<comment><USER2> For an example the calculated UNISA fees for COS3711 Advanced Programming (Part of the Math & Comp Science program), when you include the 'Foreign Country Levy' is total 4110rand, which is $300usd. There's prob other smaller fees, like exam fees.

UNISA accreditation, seems they let their DETC (US National) accreditation lapse in 2004 but they're still accredited under commonwealth/UN IHU [https://iaci-canada.com/accreditation](https://iaci-canada.com/accreditation) which they claim qualifies as recognized by the US Dept. of Education though I have no idea how accreditation in the US works, so I would look into this more.

</comment></comment></comment><comment><USER11> math bsc here. In my opinion there is no reason to want such a thing. why? because mathematics is the most academic of degrees. you will want to build relationships with professors so you have a chance for a career in academia. it is also extremely difficult and you will want to team up with other students for assignments and the like. the study load is very high and without any community to support you, you are very likely to quit (which happens to one-third of first year students even on-campus at my alma mater).

if you just want to learn a bit on your free time, buying books is much cheaper. studying math for a degree is more than 40 hours a week. i can give a few suggestions if you like.

<comment><AUTHOR> Sure - Please suggest. I have been buying books (the likes of Apostol, Spivak, Artin) and doing self study. The typical pattern is start solving the problems and I get stuck with tough ones. And I hardly go past the third chapter of all the books that I had bought because of this.

<comment><USER12> Being unable to solve some tough problems is entirely normal - there is only a handful of people gifted enough to go though a mathematics curriculum, getting 100% on all their assignments, working in isolation. I certainly didn't! Having been a TA in upper-level math courses, many/most of the students averaged 80% on homeworks which were certainly NOT made up of entirely _tough_ problems - and they probably worked together quite a bit, and had teachers to ask for help if they want. So don't get frustrated if you get stuck regularly, just move on, then come back later in a couple of weeks when you're reviewing and try again. If you're still stuck, go to an online forum to ask for a hint, or you don't have to feel guilty about skipping some of the hardest problems entirely.

Two book suggestions:

Strichartz - The way of analysis. MUCH more user friendly than the standard analysis texts. The book is filled with long paragraphs if english sentences explaining what your are doing, and why you are doing it (if you can imagine a mathematics book committing that sin!).

Pressley - Elementary Differential Geometry. The appeal of this book is that it teaches only the more concrete classical formulation of the theory, so you don't have to confront tensors and n-dimensional abstractions at first, and also that it provides outlined solutions to _every_ problem in the text!

</comment></comment></comment><comment><USER13> UW has an Online Masters in Applied Mathematics

[https://www.appliedmathonline.uw.edu/](https://www.appliedmathonline.uw.edu/)

<comment><USER14> It requires an average of ~$40k to complete though.

</comment></comment><comment><USER15> I was looking for something similar 6 years ago or so. "High quality" is difficult... but regionally accredited and a real degree does exist.

I went to Southern New Hampshire University and got my BA in Math w/ concentration in Applied Math. I started grad school at GA Tech for an MS in Operations Research via their distance learning program. I also got into USC and Kansas State.

I learned about this other degree after I was done though so you have at least two accredited options. It is slim pickings though: [https://www.tesu.edu/heavin/ba/mathematics](https://www.tesu.edu/heavin/ba/mathematics)

<comment><USER16> Why do you care about accreditation? Do people ask you if a degree is accredited? Nobody's ever asked me.

<comment><USER15> A very tangible reason to care if a degree is regionally accredited is that your degree will transfer to just about any other school. If my bachelors wasn't regionally accredited I wouldn't have gotten into my current masters program for example.

Like the other comments say as well... it's basically what qualifies a "real" degree.

</comment></comment></comment><comment><USER17> California has extensive support for online college. I'm not personally familiar with their math programs, but they have some handy search functions.

California Virtual Campus:

[https://cvc.edu](https://cvc.edu)

Related:

[http://www.assist.org/web-assist/welcome.html](http://www.assist.org/web- assist/welcome.html)

</comment><comment><USER18> You can consider learning German and enrolling at Hagen. [https://www.fernuni- hagen.de/mi/studium/bsc_mathematik/](https://www.fernuni- hagen.de/mi/studium/bsc_mathematik/)

<comment><USER19> Sure, but you need eligibility for University studies in Germany, which isn't "just sign up here", and you have to travel to Germany for all exams.

<comment><USER18> As long as he has a CS degree, it's probably not a problem in terms of admission. About the exams, it says otherwise on their website. [https://www.fernuni- hagen.de/english/international/abroad/ex...](https://www.fernuni- hagen.de/english/international/abroad/examinations.shtml)

<comment><USER20> This is actually a quite good idea. Also it is a model similar to the MOOCS that actually works. I wish there were more universities allowing part- time/remote studies ending up in regular degrees.

It's funny this isn't more common, at least in Germany during diploma studies it was very normal and accepted to only go occasionally to the courses. The exercise review sessions were really important though.

</comment></comment></comment></comment><comment><USER21> [https://www.appliedmathonline.uw.edu](https://www.appliedmathonline.uw.edu)

<comment><USER22> this is the best (and maybe the only) one that i know of. it isn't cheap though.

<comment><USER23> indeed. Just checked the fee, it will be about $35000+? [0]

[0] - [https://www.appliedmathonline.uw.edu/costs-financial- aid/](https://www.appliedmathonline.uw.edu/costs-financial-aid/)

</comment></comment></comment><comment><USER24> You might be interested in Harvard's online program if you have an undergraduate degree already: [https://www.extension.harvard.edu/academics/graduate- degrees...](https://www.extension.harvard.edu/academics/graduate- degrees/mathematics-teaching-degree/degree-requirements) . I believe you would get an MA in Mathematics for Teaching. Not quite an "MS in Math" but probably close enough (especially if you don't already have the usual prereqs).

With the exception of 2 teaching classes, you'd be mostly taking "real math" classes, so it's an intriguing alternative.

<comment><USER25> This doesn't require what I would expect from an undergraduate degree in math, let alone a master's. It's not a reasonable option for what the OP is looking for.

<comment><USER24> I believe the course list has plenty that do match what the OP is looking for. For example there are several on real analysis, graduate-level optimization and other subjects like that. As well as much easier subjects.

Don't know the OP's exact level or prereqs (he mentioned in another post he had a rough go with both apostol & spivak) but there seem to be several classes that would match his needs/curiousities. The classes might not be at your particular level, but since mixing/matching seems possible I think it would cover a lot of ground.

</comment></comment></comment><comment><USER26> University of Illinois, Springfield has one: [https://www.uis.edu/math/curriculum/undergraduate/online/](https://www.uis.edu/math/curriculum/undergraduate/online/)

</comment><comment><USER27> This is interesting (along with [https://news.ycombinator.com/item?id=18854170](https://news.ycombinator.com/item?id=18854170)).

I have a Math BS, but I really wish I'd learned the material more comprehensively (I learned enough to get through problem sets and exams, but I don't feel that I really 'got it'). Paying for another degree is silly at this stage in life, but I'd happily pay a tutor to help me understand the material that 20-yr old me didn't grok the first time.

<comment><USER28> TL;DR - you tried YouTube?

Tangentially related... I've been having really good luck lately via teaching myself via YouTube videos. By observing an example, I learn 10x faster than trying to follow a written exercise that gives me a bunch of material I'm not (yet) interested in.

This past weekend, I wanted to understand the basics of how one inserts data into a 2-3 tree. This video, along with the audio, taught me everything I wanted to know...

[https://youtu.be/C3SsdUqasD4](https://youtu.be/C3SsdUqasD4)

</comment></comment><comment><USER29> [https://www.uis.edu/online/online-bachelors- degrees/](https://www.uis.edu/online/online-bachelors-degrees/)

</comment><comment><USER30> In India, we got IGNOU which provides BA/BSc in Mathematics.

</comment><comment><USER31> I'm very interested in this. I wanted to get an online degree with 100% online delivery (like OMSCS), but every school I checked required in-person proctoring (as opposed to something like ProctorTrack or ProctorU). So is there anything that's 100% truly online (like OMSCS)?

<comment><USER2> Only school I know of that uses ProctorU is University of the People but they do not have a regional US accreditation, so likely won't be valid for applying to OMSCS afterwards. Every town though will have some kind of invigilating/proctoring service you can rent. All the local colleges, libraries and universities in my city do this for a fee.

<comment><USER31> I don't need to apply to OMSCS...I was just saying it offers 100% online, including proctored tests. No need to go to get a proctor or go to a testing center, which is inconvenient for me. They used to use ProctorU, but switched to ProctorTrack. I don't know what they use right now.

Edit: Just checked and UOP doesn't seem to offer a math degree at all, so that doesn't help me.

</comment></comment></comment><comment><USER32> Is the primary (or necessary) end goal specifically a _degree_ or would "just" the _learning_ suffice (meaning you want the structure and progress points, but don't need an actual degree in the end)?

<comment><AUTHOR> Just the learning would suffice.

</comment></comment><comment><USER33> Assuming you are talking German well, Fernuni Hagen offers excellent math studies.

</comment><comment><USER34> Tangential question: What career options do you expect a degree in mathematics to open up for you? (Or is this entirely personal?)

</comment><comment><USER35> As a follow up questions, as a Indian, what online course offers degree that are valid in USA or Canada ?

<comment><USER36> Most everything mentioned here that's administered through a university is "valid" in the usa and canada. Many Indian universities are also recognized by USA and Canadian firms/universities (eg certainly the IITs).

Note, however, that you won't get e.g. OPT from an online degree.

</comment></comment><comment><USER37> If you want the degree, check with Coursera. Some universities offer degree programs through Coursera that don't carry a "online" label on the degree certificate.

I know this bc my gf works there. I don't care about a certificate so "audit » (i.e. no grading of exams,no certificate) for free. If you don't need the degree or college credit you can do that.

<comment> barry-cotter They only offer Master's and a B.Sc. in Computer Science. No Math degrees of any kind.

[https://www.coursera.org/degrees](https://www.coursera.org/degrees)

</comment></comment><comment><USER38> Stanford hcp statistics or the computational mathematics one

</comment><comment><USER39> If you can read French, there is more than 10 remote bachelor/master degrees you can register in French universities: [https://www.fied.fr/fr/index.html](https://www.fied.fr/fr/index.html)

<comment><USER40> Out of curiosity, how are these degrees perceived by French employers? Also does entrance into these universities require a BAC?

<comment><USER39> These are the same diploma as the non-remote ones. Typically you have to take an on-site exam once a year. I'm not sure if it is indicated anywhere that classes was provided online, so it should be totally the same. And yes it requires the bac.

Also I forgot to mention that the government annonced a raise for foreign student fees, so I would not stay as cheap as it is (400-600€).

</comment></comment></comment><comment><USER41> [https://thebestschools.org/rankings/best-online-bachelor- in-...](https://thebestschools.org/rankings/best-online-bachelor-in- mathematics-degree-programs/)</comment>


The RSS Wars - Dave Winer vs Techcrunch - <AUTHOR> http://techcrunch.com/2011/01/04/rss-war/

<comment><USER2> _sigh_ There were some interesting points in this discussion initially. Now it's just mudslinging and crap. Just let it go when it gets to this level folks.

As a side note...does anyone else somewhat suspect that TechCrunch wrote the whole "RSS has been killed by Twitter/Facebook" specifically to provoke this kind of reaction? Considering they're basically a tabloid, it wouldn't surprise me. As Siegler said in this post, these lame fights are a major part of TC.

</comment><comment><USER3> It seems to me every other article I see at TC these days is the blogger equivalent of the local TV news pointing the camera at the newspaper article that broke the story.

"I was justing mindlessly browsing quora for three hours and now I'm going to summarize whatever some insider posted..."

"We just wasted a bunch of time on twitter, check out the screenshots..."

A few years ago when people were talking about the dark future of journalism this is what they meant.

<comment><USER4> TechCrunch is awful now :(

</comment></comment><comment><USER5> > _Everyone knows tech crunch is dead as dead can be. Killed. Dead. Dead. > Pushing up the daisies. A former blog. Dead.dead. Sad._

Those guys aren't Monty Python, that's for sure. In memoriam: <http://www.youtube.com/watch?v=4vuW6tQ0218>

</comment><comment><USER6> Anyone know the name of the tool TechCrunch uses to get the screenshots of the tweets? I remember them writing about it, but can't find the reference.

<comment><USER7> Blackbird Pie.

<http://media.twitter.com/blackbird-pie/>

</comment></comment><comment><USER8> This partly reminded me of school, but at least I did get learned things in school.</comment>


Starbucks, Twitter Launch Gifting Platform Via Tweets  - <AUTHOR> http://www.fastcompany.com/3020715/starbucks-twitter-launch-gifting-platform-via-tweets <comment><USER2> Seems like a pretty interesting use of the twitter platform. Concerns about security are the biggest issues I'd think.

</comment><comment><USER3> Two years after Jonathan's Card, but probably not that vulnerable to asshats...

</comment><comment><USER4> Starbucks is involved with a surprising number of big SV players.

<comment><USER5> That said, Jack Dorsey is a co-founder of both Square and Twitter, and Starbucks already has a relationship with the former.</comment></comment>


Who Runs the World – Infographics Website for International Women's Day 2019 - <AUTHOR> http://madebychip.com/whorunstheworld <comment><AUTHOR> Hello HackerNews!

I made this mini-site with illustrations to explain the challenges faced by women in social, culture, politics, science and celebrate women's contributions and achievements. This year International Women's Day's campaign theme is #BalanceforBetter</comment>


Best Papers vs. Top Cited Papers in Computer Science - <AUTHOR> http://arnetminer.org/conferencebestpapers <comment><USER2> As an NLP researcher, I see lots of NLP papers on top of AAAI. I think that the high citation count is due to

(i) people in NLP actually bothering to tell others why their approach is interesting

(ii) other people being interested in the same / a similar kind of thing [avoiding the discipline-of-one problem that niche AI applications would have] and

(iii) NLP having a reasonably developed "canon" about what counts as must-cite papers. This canon is heavily biased towards US work, and towards people who write decent explanations of what they do, but at least it makes sure that people know about the big problems and failed (or not-quite-failed-as-badly- as-the-others) solutions.

What you see in other conferences is that the "Best paper" awards get to (i) more theoretical papers which still have issues to solve before people can use the approach (nothing wrong with those!), in (ii) subfields that are currently "hot". Whereas the most-cited papers are (i) more obviously about things that a dedicated person could apply in practice, and (ii) in a subfield that is obscure at the time but will become more popular in the following years.

</comment><comment><USER3> Reviewing SIGMOD, it appears that a lot of the citations earned are less about innovative research, and more about the everyone using the software tools they published.

And a survey paper in the field of big data analysis (survey papers are citation bate, but won't be pulling in many grants or awards).

<comment><USER4> Once a paper gets big enough you basically have to cite it any time you touch on vaguely related just to prove that you are aware of it, almost as a shibboleth. My wife is an academic and on more than one occasion has she gotten comments back from peer review along the lines of "good article, but you why haven't you cited famous papers X,Y and Z".

<comment><USER5> I really appreciate this practice. It makes it much easier to get up to speed on something new.

</comment></comment></comment><comment><USER6> Is it possible that papers that get the awards help give the scientists new ways of looking at problems, while the papers that are frequently cited are more likely to follow established viewpoints and back it with hard data I can use to justify later experiments?

What I mean is, if a paper makes me think "wow, I've never though of this that way before, I wonder if I could try something like that with this...." I probably wouldn't cite it, right? Its not directly related. But I would probably give it an award for best paper because it helped me come up with a new approach to my own problem.

disclaimer: I am not a scientist.

<comment><USER7> Yes, this kind of momentum is certainly a factor.

Another issue is that "best paper" competitions tend to attract younger scientists who don't have the same "star power" to generate citations.

Star power in science is nothing to scoff at either. If Einstein was still about and writing papers you can be sure everyone and their grandmother would cite them, even if the papers were useless. Now, while that is an extreme example, many fields have their own "stars" that are credited with making significant gains in a particular area.

<comment><USER8> _> Another issue is that "best paper" competitions tend to attract younger scientists who don't have the same "star power" to generate citations._

At all CS conferences I know of, 'best papers' are selected from all accepted submissions without the authors having a say.

</comment></comment></comment><comment><USER9> You could also see this as 'citation counting' not being a very precise measure of paper quality/importance.

<comment><USER8> This is certainly the case. On the other hand, "best papers" are not necessarily really the most important papers. Often politics, e.g., proportional representation of all important sub-fields among the best paper nominees, decide about whether a paper gets named "best" or not.

Anecdotally, I know of awesome papers that were not selected as "best paper" and 'cute idea' papers without substance that got a "best paper" award.

<comment><USER10> Or papers given the most 10 year influential award that aren't influential. It's all relative!

</comment></comment></comment><comment><USER11> Nitpicking, but why are they claiming to provide MAP (mean average precision) scores when their description and equation indicates that they are computing average precision, not MAP. According to the definition of MAP [1] that they link to, MAP is computed across multiple queries while average precision is computed for one [2]. Furthermore, they truncate their calculation to only consider the top 3 cited papers (i.e., they don't go all the way to 100% recall), so it's not even really the average precision.

[1] [http://en.wikipedia.org/wiki/Information_retrieval#Mean_aver...](http://en.wikipedia.org/wiki/Information_retrieval#Mean_average_precision)

[2] [http://en.wikipedia.org/wiki/Information_retrieval#Average_p...](http://en.wikipedia.org/wiki/Information_retrieval#Average_precision)

</comment><comment><USER12> Conference organizers are well aware that best paper awards are not perfect predictors of importance or popularity. Many top conferences specifically introduced separate awards ("most influential", "test of time", etc.) granted e.g. 10 years after publication.

<comment><USER13> Often times, the truly revolutionary ideas (and most likely to be cited in future papers) are those that are not understood fully or perhaps even reviled, and thus likely to not be awarded any significant honor on introduction.

Einstien won his Nobel for work on the photoelectric effect, not relativity, though obviously the latter mattered more.

<comment><USER14> > Einstien won his Nobel for work on the photoelectric effect, not relativity, > though obviously the latter mattered more.

The photoelectric effect led to quantum mechanics and the associated science and technology. I don't think it's obvious that relativity mattered more. If you judge by day-to-day use, one could plausibly argue that our understanding of quantum mechanics has a bigger impact.

<comment><USER6> My high school science teacher told us that he was given the prize for the photoelectric effect because that was a well understood mechanism by the time of the awarding. It was generally understood that relativity was going to be a bigger deal (concept wise), but since it was still so hotly debated / not yet thoroughly accepted, the commission wanted to ensure that he was given a prize before death (the award is not given post-humorously for some reason) and given for something that wouldn't be later rejected.

<comment><USER15> "In 1905 Albert Einstein published a paper that explained experimental data from the photoelectric effect as being the result of light energy being carried in discrete quantized packets. This discovery led to the quantum revolution."

So, he basically described photons as a particle for the first time. That's also ridiculously huge. [http://en.wikipedia.org/wiki/Photoelectric_effect](http://en.wikipedia.org/wiki/Photoelectric_effect) Considering they had been generally thought of as a wave before that. ([http://en.wikipedia.org/wiki/Maxwell%27s_equations](http://en.wikipedia.org/wiki/Maxwell%27s_equations)) Setting the stage for a lot of wave / particle duality aka QM theory.

<comment><USER16> You are forgetting Sir Isaac :-)

I don't think he used the word photon, but he did describe light as particles, and had (flawed, but that is science) arguments for that ([http://www.studyphysics.ca/newnotes/20/unit04_light/chp1719_...](http://www.studyphysics.ca/newnotes/20/unit04_light/chp1719_light/lesson57.htm))

</comment></comment></comment></comment></comment></comment><comment><USER8> In 2009, Bartneck et al. did a scientometric analysis of papers presented at CHI - the most prestigious academic HCI conference [1]:

 _" The papers acknowledged by the best paper award committee were not cited more often than a random sample of papers from the same years."_

[1] [http://www.bartneck.de/publications/2009/scientometricAnalys...](http://www.bartneck.de/publications/2009/scientometricAnalysisOfTheCHI/)

<comment><USER10> CHI has a huge number of papers though, and consequently a large number of best papers...so it is difficult for anything to stand out a priori.

</comment></comment><comment><USER17> I think it's far more interesting to just see what the top cited papers are every year (after the fact) than to compare with the best paper. Best paper awards are given for a lot of reasons that aren't consistent across conferences or even across years of the same conference.

</comment><comment><USER18> A cursory browse shows an interesting pattern in the names of the researchers.

edit_ Perhaps I should clarify: It's entirely possible that exposure in the West has a large part to do with the media, who often don't wade too deeply into scientific matters.

</comment><comment><USER19> Citation are just a game and are thoroughly gamed.</comment>


DIY Satellite Ground Station to Receive NOAA Images - <AUTHOR> https://publiclab.org/notes/sashae/06-26-2020/diy-satellite-ground-station <comment><USER2> You can also get with some more work the much higher resolution HIRT images from the GOES sats. It's kind or fun to mess with. I used it as an excuse to mess with offloading the error correction to an FPGA, which was fun but also totally unnecessary.

[https://pietern.github.io/goestools/guides/minimal_receiver....](https://pietern.github.io/goestools/guides/minimal_receiver.html)

<comment><USER3> The parabolic grid antenna in that link does not appear to be available

<comment><USER4> You can get by with one designed for 2.4GHz wifi if those are easier to acquire. They were < $50 on Amazon when I did my build a year or so ago.

Just have to flatten the front a bit and push it out by about an inch. I used a short piece of pvc pipe and some zipties.

</comment></comment></comment><comment><USER5> We used to do this back in the mid 70s, we built a VHF receiver (and someone outside in the frost with a big antenna listening to the noise floor and tracking) - the signal was an analog FSK (you can kind of imagine it as a single light sensor and the satellite spinning, getting 1 scan line per revolution) - we'd feed the signal to a TV in a dark room with a manual vertical sync button, and with a camera pointing at it.

As the signal started someone would press the sync button and someone else would open the camera shutter when the pass was done we'd close the shutter and wind the film on, we'd get 2-3 passes a night,at around midnight we'd develop the film.

There was also a much faster broadcast around midnight from a geostationary satellite - 12 images (4 around the equator and 4 around the poles) with the communist countries carefully blanked out, you had to change the scanning rates and be nimble with the camera.

It was fun and the alternative was a close to $1m fax ground station (this was before faxes were something most people had even seen)

<comment><USER6> > (and someone outside in the frost with a big antenna listening to the noise > floor and tracking)

I've wondered about this, why were consumer satellite dishes so huge back in the day, and now we seem to be able to get away with much smaller ones?

Is the transmitter power on to he satellites higher than it used to be? Or is it better receiver electronics? Or better algorithms/codecs?

<comment><USER7> Also we have increases the frequencies that we use. Back then it was C-Band, now everyone is using Ku or higher.

</comment></comment></comment><comment><USER8> [https://zoom.earth](https://zoom.earth) if you just want to see the recent images.

<comment><USER9> Wow, if you zoom in really far, the resolution seems to exceed that of Google maps. I can make out shingles on roofs of homes, so it must be what, a quarter foot res?

</comment></comment><comment><USER10> I think this is really cool, I'm genuinely curious if there's any advantage of it versus getting the image from NOAA's website?

In other words, is there any data or imagery gathered this way that you can't get from NOAA? (I realize there would be a slight delay before the imagery is available from NOAA).

I'm not trying to take anything away from this awesome project, I'm just curious.

<comment><USER11> It's useful for places where there is no internet connectivity, or where connectivity is very expensive. For example, ships at sea, to whom this sort of information is most important.

</comment></comment><comment><USER12> Are images received from satellites like this free to use, or does some license apply?

<comment><USER13> Imagery that the government chooses to release is typically public domain. Our tax dollars at work.

</comment></comment><comment> mkr-hn If you like this, there's a subreddit for you: [https://www.reddit.com/r/RTLSDR/](https://www.reddit.com/r/RTLSDR/)

Other NOAA-related projects: [https://www.reddit.com/r/RTLSDR/search?q=NOAA&restrict_sr=on...](https://www.reddit.com/r/RTLSDR/search?q=NOAA&restrict_sr=on&sort=relevance&t=all)

<comment><USER14> And if you want to put that RTL-SDR to a specific use by tracking airplanes, you should check out [https://www.reddit.com/r/ADSB/](https://www.reddit.com/r/ADSB/)

</comment></comment><comment><USER15> I've been trying to do this with my son for a few weeks. I haven't been able to get any of the Mac compatible SDR tools to work with Catalina. I haven't tried it yet but our next step is using GNU Radio with a RaspPi

<comment><USER14> Have you trying installing GNU Radio via macports? That may help.

[https://wiki.gnuradio.org/index.php/MacInstall#Prerequisite:...](https://wiki.gnuradio.org/index.php/MacInstall#Prerequisite:_X11.app.2C_recommended_via_XQuartz)

</comment></comment><comment><USER11> This seems like a lot of work.

We used to do this with a $30 shortwave radio and a Commodore 64.

Maybe the NOAA WEFAX transmissions aren't in shortwave anymore?

<comment><USER16> Good times, I've done this with DWD (German meteorological service) in the 90s, using HamComm [0]

This project in the article however, listens directly to satellites, and not to a LF/HF ground-based station like we used to do.

[0] [https://www.pervisell.com/ham/hc1.htm](https://www.pervisell.com/ham/hc1.htm)

<comment><USER16> Oops, lost my memory there for a bit: it was probably using the same DIY "Hamcomm modem", and using JVFAX (or similar) software running under DOS.</comment></comment></comment>