Ask HN: if you would want to move on from IT, what would you pick today? - <AUTHOR>

If you would felt burnt out from doing IT, what would you shift towards (of course maximizing your chances on continuing to be well-paid) <comment><USER2> I'm not sure about being well paid, but I've always thought doing pottery would be pretty relaxing and is about as far removed from IT as I can come up with.

</comment><comment><USER3> Mechanical Engineering. I suspect it'd press many of the same buttons as web development (tinkering, 'making something', etc)</comment>


Dirpy.com - convert YouTube to mp3 without the suck - <AUTHOR> http://dirpy.com dirpy.com lets you convert YouTube videos to mp3 in real time without all the bullshit and a whole slew of useful features.
Some of the features include: real time transcoding ( no waiting ), id3 tag support ( title, artist, etc ), offsets ( like from 0:05 to 2:20 ), high quality formats supported ( HQ @ 128kbps, HD @ 256kbps, etc ), and more.
Techno example: http://dirpy.com/studio.py?vid=av8Vd7SefbM
Have fun <comment><USER2> Good work, one thought is extending this to all flash based videos.</comment>


Would you fly in a single engine aircraft? - <AUTHOR>

I know I wouldn't. Talk about throwing caution to the wind. <comment><USER2> You say that as if a twin engine plane is safer. Twin engine airplanes should be treated the same as a single engine aircraft. Most small twin engine airplanes typically cannot fly efficiently with a single engine if you have passengers and/or cargo. If you have two engines, you double the chance of failure.

</comment><comment><USER3> A bit of risk, but huge rewards. Little planes actually glide quite well, so with some altitude it's often possible to make an uneventful landing where the plane is bent but the people are fine.

</comment><comment><USER4> The future is airplanes that have parachutes (for the plane itself). There is a prototype in x-plane. If that's the case yes I would.

</comment><comment> noir-york Why not? A helicopter is even more dangerous than a plane anyway and there are millions of flight hours every day, safely.

</comment><comment><USER5> Would you let everyone live on a single planet? I know I wouldn't. Talk about throwing caution to the wind.</comment>


You asked for it, HN: Hipmunk adds Multi-City Searching and more - <AUTHOR> http://blog.hipmunk.com/new-multi-city-searching-autocomplete-and-gla

<comment><USER2> I love the addition of choosing alliances as your preferred airlines, but I still want a way of excluding airlines I hate (I will never give United or Air France my money again!)

When that happens, Hipmunk will be perfect :)

<comment><AUTHOR> "Choose your nemeses" - that sorta thing sound about right?

<comment><USER2> Yeah, essentially. Hipmunk's "Agony" metric is one you use when you've already decided to compromise. I wouldn't need it if I had the money for my preferred airline (there's lots of good airlines if you can afford them). A "choose your nemeses" draws the line on the other end; the limit at which even a lower price won't make you compromise to fly on that airline.

And I really hate United and Air France.

</comment></comment></comment><comment><USER3> Is there a way to send the results of a search to someone via e-mail or post it on Facebook/Twitter? I'd love to be able to send an itinerary to my Mom for her to purchase (she foots Thanksgiving trips home) or be able to say "hey, everyone, these are the flights I'm considering taking to NYC/SXSW/whatever - what do you think before we all book?"

<comment><USER4> Yes, you can share the URL of the results page*

*The results are stored in memcached and last ~24 hours. This will improve in the future.

<comment><USER3> Yay!

<comment><AUTHOR> Back in the _very_ early reddit days, Steve on at least one occasion waited for a user to request a certain feature via feedback and would push it a little while later. This of course gave the impression that he'd just put written that code for him :)

That said, it's nice to have the feature already there and just point someone to it.

</comment></comment></comment></comment><comment><USER5> If I do a multi city search and then decide I want a new search I like that you save my existing search parameters but I would like it even better if you provided a "clear all" button or something. What if I really do want a new search with no cities in common to my old search?

<comment><USER4> Yes... right now you can just replace those inputs. It doesn't require any extra clicking or typing.

<comment><USER5> Yeah, it requires me to double click and clear or type over the input for each text box... That's more clicking than I should have to do if all I want is a new multi city search from.

<comment><USER6> You only have to double-click once. Then you can TAB to the other fields. That's roughly equivalent to having a clear button.

</comment></comment></comment></comment><comment><USER7> I think implementing language/syntax to accomplish this would save even more time than having to tab/create row/etc.

To point an example, ITA allows you to choose connecting cities such as SFO::PHX, but that's only for connecting cities. If you can create a syntax for multiple cities, it may save some time.

</comment><comment><USER8> I'm guessing this isn't possible because you don't have the data, but it would be great to have Southwest flights as well.

<comment><USER9> <http://www.southwest.com/about_swa/terms_and_con.html> They don't allow it.

<comment><USER10> I wonder if they can get around that by knowing the information, but not explicitly displaying it. For example, if one does a search and Hipmunk knows that Southwest has a plane scheduled at that time then they can provide a link to the Southwest website and a suggestion that "Southwest might have a time that's good for you." with a little "[?]" box beside it explaining that Southwest prohibits Hipmunk from explicitly displaying their info.

Obviously, another way would be Hipmunk getting authorization to use Southwest's data from Southwest.

<comment><USER11> Agreed. Even if you can't include certain low-cost carriers, _any_ information that you could provide about these flights would be better than any other site has attempted, and would make your search results that much more useful. If I understand correctly, the actual flights don't change too often, so if you could simply put somewhere in the sidebar that Southwest (or RyanAir or whoever) provides a flight for the same route, it would be fantastic.

</comment></comment></comment></comment><comment><USER12> You guys are awesome! I just book round trip flight to Pasadena in less than 10 minutes.

<comment><AUTHOR> Sorry this reply took so long (I just saw your comment). Thanks for the great testimonial. Pasadena is a lovely town - hope you have a splendid trip!

</comment></comment><comment><USER13> once you guys figure out a clean way to do flexible dates, you will be kings

<comment><USER4> We _know_ how. It's just a matter of getting things together with our data providers.

<comment><USER13> >It's just a matter of getting things together with our data providers

would you elaborate?</comment></comment></comment>


Microsoft: Litigate on FAT, and you'll be the next Unisys - <AUTHOR> http://blogs.zdnet.com/perlow/?p=9594 <comment><USER2> This headline is misleading and poorly chosen by the original author. Isn't it a convention that headlines that start with an entity followed by a colon, then a statement are meant to convey that the entity is making the statement that follows (e.g. "Microsoft: Windows 7 to Cure Cancer")? In this case, the author is making a statement _to_ MS instead of this being an MS statement.

</comment><comment><USER3> It's hard to imagine that anything MSFT does with patents is going to damage its reputation any more than the '90s already have. Unisys was hurt because before the GIF debacle, nobody knew who they were, and after it they were a comic book supervillain. Fairly or not, Microsoft is already the Lex Luthor of software.

<comment><USER4> Fair point, this won't kill MSFT.

But it could kill MSFT's attempt to enter this market slice. Everyone will run from MSFT like vampires from sunlight, and MSFT will never be a significant player in the GPS market. Perhaps the whole device market!

If a free alternative that won't get you sued is available, would you touch MSFT?

<comment><USER5> I think the biggest risk for MSFT is purely reputation. Their reputation has got worse and worse and I believe you're right, it's going to start damaging their ability to enter any market other than computers and games consoles (and only there because they actually have a _good_ reputation).

I don't trust MSFT's reliability with products. I've even noticed some classic MSFT flaws in the Xbox 360, namely that it tells you somethings wrong with how _you_ set up the Xbox when it cannot connect to Live, yet if you actually watch the connection steps it connects to the network, connects to the internet and gets 2/3 the way through connecting to MSFT's Live and then it fails, yet they blame you. This reminds me of Live Messenger, when the service goes down for everyone (including articles on ZDNet and places about the outage) you check the service and it _always_ says that the Live systems are running without a problem. I still can't understand why MSFT simply never admits there's a problem; IMO it hurts their reputation a lot more that they don't than if they did.

Honestly, I find myself looking at the apple website, watching the prices of all their products. Because once there's a good enough deal, or I have enough cash to spare (whichever comes first) then I'm getting one. With my wifes' education discount some of the prices are dangerously close to a good deal as it pretty much becomes tax free, in fact I think some save more.

<comment><USER6> More to the point, they're starting to erode their reputation in the game console world, too.

Check here: [http://consumerist.com/5160187/identifying-yourself-as-a- les...](http://consumerist.com/5160187/identifying-yourself-as-a-lesbian-gets- you-banned-on-xbox-live)

and here: [http://consumerist.com/5161145/microsofts-policy- regarding-i...](http://consumerist.com/5161145/microsofts-policy-regarding- identifying-sexual-orientation-on-xbox-live)

</comment></comment></comment></comment><comment><USER7> I work for an embedded Linux hardware company. We use ext3 on our SD drives and IP over USB to handle writing to it from Mac and Windows, obviously natively from Linux. I'm not sure why TomTom chose FAT. We didn't even have to write our own drivers. Another option is to make the device wifi or Bluetooth so that the filesystem is completely irrelevant to the host.

<comment><USER8> So you can download new maps onto the cards by putting them into your PC and clicking on their website.

<comment><USER9> If you're downloading things from their website anyway, they could include a driver for whatever FS they wanted. They could build on top of FUSE so you wouldn't even need admin rights, probably.

<comment><USER8> So your average home user who wants an addon map of all the local McDs on his GPS is going to install a new filesystem driver!

<comment><USER9> Why not? Packaged as an executable, double click to run? It's not that hard. All those iPod users managed to "install a new filesystem driver" just fine.

Not as convenient as the "just works" FAT on USB, perhaps, but hardly an insurmountable problem. I'm surprised they're not bundling some kind of management program already - asking users to manually arrange files on USB sticks seems a bit fiddly.

</comment></comment></comment></comment></comment><comment><USER10> I'm not sure how anyone would get around 6,256,642, which is "Method and system for file system management using a flash-erasable, programmable, read- only memory", which honestly just sounds like the idea of a filesystem trivially applied to flash. It may be possible that some other filesystem would not match the description closely enough to be enforceable.

That said, two of the other patents are regarding long filename support in fat32. If the outcome of this is that fat32 is put to rest as the default embedded filesystem, I personally could not be happier about it.

It wouldn't surprise me if Microsoft's legal team was not trying to pull crap with Linux, the kernel, and the GPL here. I suspect that they're really going after the Navigation System patents and there's probably a legal reason why they have to prosecute as much of their portfolio as applies. IIRC this prevents the otherwise unprosecuted patents from becoming unenforceable at a later time because they were neglected or not tended.

<comment><USER11> >this prevents the otherwise unprosecuted patents from becoming unenforceable at a later time because they were neglected or not tended.

You're thinking of trademarks. Patents can't become unenforceable thru neglect... trademarks, though, can...

<comment><USER12> IANAL, but I think that there is a bit of an exception in the legal doctrine of promissory estoppel (<http://en.wikipedia.org/wiki/Estoppel#Promissory_estoppel>), which says that one cannot withdraw a promise to another party that they have come to rely upon. If that promise is implied by inaction, it is still sometimes seen as a promise.

</comment></comment></comment><comment><USER13> One thing that's worth pointing out is that Unisys's shares are trading at 33¢, and its market capitalization is down to US$120M. This share price is about 4% of the heights it reached in 1999, when it started to enforce these patents against GIF. It's low enough that I'm surprised they're still listed on the NYSE.

It wouldn't be surprising if a patent pirate company like Intellectual Ventures or Walker Digital acquired Unisys's patent portfolio, either at bankruptcy auction or by acquiring the company today.</comment>


Jacob Kaplan-Moss, Django Co-Creator, Talks Ecosystems at Heroku's Waza - <AUTHOR> https://blog.heroku.com/archives/2013/3/9/jacob_kaplan_moss_on_creating_ecosystems?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+heroku+%28Heroku+News%29 <comment><USER2> Such a good talk on why building an ecosystem is important, and how you can build an awesome ecosystem. Definitely worth watching no matter what web framework you like.

Some great points:

• Prefer extensibility over scratching your own itch -

Rather than creating a new feature in the core of your project, and making a decision on behalf of your users, create an API that allows your users to do "whatever". That way, not only can you scratch your own itch by using your API to build your feature, others using your product are empowered to use their own imagination to do interesting things with your product.

• Keep the core of your project stable -

Stable APIs and standards allow your community to build things that work together. "Interoperability only works when the common parts [of your product] don't change ... Every time your break something core to your platform...that your ecosystem depends on, you leave a portion of your users behind." (Definitely timely with what we're seeing with Twitter.)

• Encourage participants in your project -

The lower the barrier to entry for participation in your project, the broader the pool of people who can add value to it. Every step that you force your users to take before they can participate, you increase the likelihood that they stop using your product. Great documentation, and transparency in the process of participation helps your users become contributors.

</comment><comment><USER3> Watching the video is so much nicer directly on Vimeo: <http://vimeo.com/61059530></comment>


The Scale of the Universe, v2 with even more awesome. - <AUTHOR> http://htwins.net/scale2/

<comment><USER2> Keep up the awesome!

</comment><comment><USER3> I love it</comment>


Diaspora » API needed - <AUTHOR> https://www.bountysource.com/issues/295-api-needed

<comment><AUTHOR> There is a $815 open bounty on this issue.

</comment><comment><USER2> Power to the people!</comment>


A C++ Real-Time Broadcast App with Silicon and Websockets - <AUTHOR> http://siliconframework.org/blog/how_to_implement_a_realtime_broadcast_chat_with_silicon.html <comment><AUTHOR> Author here. Questions/remarks are welcome.

<comment><USER2> Très bon article, merci. Unrelated but how would you compare using something like Go to Silicion and C++,if you ever tried Go?

EDIT: didn't know about IOD, looks nice.

<comment><AUTHOR> Merci Aikah :). I know Go yes. It is a nice platform for web programming. There are some good articles comparing Go and C++. I guess C++ will always be faster than Go, but Go may be a better choice for productivity, especially if you do not know C++. Compilation time also a big C++ problem.

In short, this framework is targeted to experienced C++ users with a big focus on performance.

In terms of language, the big difference to me between Go and C++ is templates. Go does not include them, which makes it a bit more limited but on the other hand much simpler to understand for beginners and faster to compile.</comment></comment></comment>


Ask HN: Is this world missing this? - <AUTHOR> Spotify - Music (Spotify owns no music)
Uber - Transportation (Uber owns no cars)
Facebook - Friends/Content/Social (Facebook doesn't "produce" its content)
Instagram - Photos
You get the point. What specifically is there for clothing? <comment><USER2> Rent the Runway [https://appsto.re/us/U8UgO.i](https://appsto.re/us/U8UgO.i)

</comment><comment><USER3> Pinterest and "crate" companies probably fill this niche. Though I suppose you could do rental clothes? A bit weird though.</comment>


Android Device Manager - Remote locate, lock and wipe. - <AUTHOR> https://www.google.com/android/devicemanager?u=0

<comment><USER2> Nice? When did this become available I have never even heard of this</comment>


Broadcom releases an open-source driver for its wireless chipsets - <AUTHOR> http://lwn.net/Articles/404248/

<comment><USER2> I don't understand why more commodity hardware companies aren't doing this. Drivers are an actual competitive advantage with 3D video cards and possibly a few other things, but I can't see it for wireless chipsets. It seems to me that making the drivers open source might actually reduce costs, with no real down sides.

<comment><USER3> 3D video cards are a commodity, too, these days. Even they could offer open- source reference drivers that allow for full basic utilization of the hardware, albeit at suboptimal performance. The heavily-optimized trade secret like cool codepaths could be offered in binary drivers for those who want the last drop of perf.

<comment><USER4> The business problem of open source 3D drivers lies not so much in secret know-how in the drivers but in this: [http://steveblank.com/2009/04/16/supermac-war- story-7-buildi...](http://steveblank.com/2009/04/16/supermac-war- story-7-building-the-whole-product/) High-end graphics cards tend to be exactly same as consumer level cards, save for few bits in some configuration memory that is used by driver to disable more advanced features/reduce performance.

<comment><USER5> Is this relevant to the current 3d cards market ? I somehow doubt it.

<comment><USER6> It is relevant; people are "softmodding" GeForces into Quadros, theoretically costing Nvidia millions in revenue. Open-source drivers might make this even easier.

<comment><USER7> Do you have more details about this? Maybe a link or something.

<comment><USER6> <http://www.lmgtfy.com/?q=geforce+softmodding>

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I struggled with vendor drivers for chipsets for years (yes this company too). They are generally awful. Most are warmed-over demo drivers from the original silicon vendor, intended to exercise chip features but no diligence to adhere to specs, protocols, handle (any) error conditions, be readable or supportable.

Vendor "support" for their driver means a third-string intern/student who hashes together patches that reveal profound ignorance of the architecture.

Its not just NIH; the chain of custody from silicon designer to you just doesn't include ANYBODY who has your interests/your customer's interests in mind. They are more concerned with making the driver portable across their product line, doing it cheaply, getting it to market at the same time their hardware releases etc.

Any robustness/architecture/responsible software processes have to be your business and yours alone. This probably means rewriting the whole driver, using the demo driver for reference but ONLY for chip-specific info.

<comment><USER6> I agree completely with what you said (e.g. the BCM5700 driver was rewritten as tg3), but in this case it's much better to have a crappy vendor driver than to have nothing from the vendor, which was the situation yesterday.

</comment></comment><comment><USER9> Congratulations Broadcom! It's nice to see you becoming a Linux-friendly company! It's certainly a new chapter in the history of the company!

(People who use Linux and your chipsets already know why this is such a good news.)

</comment><comment><USER10> Great to see this. Broadcom also came out with drivers for its CrystalHD decoder chip a while ago (<http://www.broadcom.com/support/crystal_hd/>) and they are actively involved in community development of the driver (<http://groups.google.com/group/crystalhd-development>)

</comment><comment><USER11> I'm looking at the source and the code that interfaces with the PHY has had every single comment stripped out of it. I don't see the point of that, it'll just take a bit longer for the code to be understood... after all, these guys have even black-box reverse-engineered many NICs.

<comment><USER12> For those who didn't know

"black box" reverse engineering - systems are observed without examining internal structure.

"white box" reverse engineering - the inner workings of the system are inspected.

<http://www.chillingeffects.org/reverse/faq.cgi#QID188>

<http://multimedia.cx/eggs/black-box-re/>

</comment></comment><comment><USER13> Unfortunately, it looks like the new driver only supports 3 chipsets, and none of the "older" SSB-based ones. Granted, it's a new driver, and they say it's designed with the idea that other chipsets can be added, but it's still a little disappointing.

(I say "older," because my BCM4322 is such a chipset, and it's in my 15-month- old MacBook Pro. How is that "old?")

Regardless, whatever their motivations, it's a nice start. I wonder if they plan to collaborate with the guys working on the b43 driver at all. They support a ton of chipsets, and (at least from my perspective) the main deficiency is the not-yet-finished (partly due to the reverse-engineering effort being incomplete) N-PHY support for the 11n chipsets.

</comment><comment><USER14> Well I'll be hit in the face with a tire iron. Didn't see this one coming.

Now if only this happened two years ago, I'd have been running linux for two years.

</comment><comment><USER15> I feel like there has got to be a gotcha or two in there, but if not, this is great news. I wonder how much the proliferating netbook market is to blame for it?

<comment><USER16> Wanna bet it's so they don't get left behind in the ChromeOS reference designs?

<comment><USER13> I hear Google's been putting pressure on manufacturers to avoid using binary blobs in the kernel on Android. This could be related to that as well.

</comment></comment></comment><comment><USER17> From the comments: "Has hell frozen over?"

</comment><comment><USER18> This is good news for operating systems besides Linux, too. I might be able to run Haiku on my laptop now :)

</comment><comment><USER19> Great and all but "Linux drivers are not documentation"!

All of FOSS is not Linux.

<comment><USER20> I agree with you, but if I had to choose between a functional Linux driver and documentation, even as someone running BSD, I would take the Linux driver every time. A functional driver with source lends some confidence that nothing is missing. Documentation can be well-intentioned, but it is rarely so complete that you could write a major piece of software with nothing else.

Of course, drivers+documentation would be even better :)</comment></comment>


Web Inspector Vs. Firebug - <AUTHOR> http://jayrobinson.org/2009/12/05/webkit-web-inspector-vs-firefox-firebug/ <comment><USER2> This is literally the only reason why Firefox is still installed on my Macbook Pro. I have managed to switch completely to Chromium otherwise.

<comment><USER3> Do you ever get the font problem? I try to use Chrome, but the fonts get screwed up approximately every other time I boot up.

<comment><USER4> I had this issue. Chrome on mac doesn't like to load fonts from anything other than the hard coded paths they programmed in. Usually not a problem for people, but after tracking things down I had to uninstall FontExplorer X and after that haven't hit the issue again.

Was a real pain in the ass to fix, but despite these kinds of bugs I still can't help using Chrome for mac as my main web browser.

<comment><USER5> So that's it... I need to uninstall FontExplorer. I have been using Safari to view Github and other sites whose text turns into [A]-like characters. Very annoying.

<comment><USER3> Can you post here after you've done that to let us know the results please?

I don't have FontExplorer installed...

</comment></comment></comment></comment></comment><comment><USER6> Firefox has been on my bad side lately. For months now, it's been the slowest, most unreliable browser on both my PC and my MacBook (not counting IE).

That said, since Chrome's release, the ONLY reason I have continued to use Firefox is Firebug. I do a lot of heavy design work and DOM modification, and sadly Web Inspector is just not up to the job. Like someone else posted, I never really knew why this was the case, but this post hits it spot on.

Most importantly:

* I want my CSS to _look like_ CSS. Specifically, I want it to look exactly like the CSS I wrote. Firebug does this perfectly, and Web Inspector does not.

* I want to edit things with a single click. Double-clicking is for grandmas, I don't have that kind of time.

I did just notice that Web Inspector in Chrome allows me to right-click nodes and select "Edit as HTML". And the editing here is actually very good, good job.

</comment><comment><USER7> I couldn't put my finger on why exactly I liked Firebug better than Web Inspector, but this article sums it up. It is all the little things that make Firebug more usable.

<comment><USER8> I can point to a dozen examples of far better usability in the WebKit Inspector, but rather than do that, I'll just note that almost all of these are fixed in the Chrome version of the Web Inspector.

<comment><USER6> Firebug has better usability in the places _where it counts_. The result is that using Firebug is, in general, faster than using Web Inspector. Let's take editing, for example:

* WI requires double-clicking, whereas FB allows single-clicking. If you think this is trivial, then try this out: Spend a day on the web double-clicking textboxes, links, and other elements that normally require single clicks. It will annoy the hell out of you, especially if you use a trackpad instead of a mouse.

* On a related note, FB shows you a text-editing cursor when you hover over an editable field. WI, on the other hand, shows you the same cursor no matter what you're hovering over. It fails to provide context clues as to what can be edited.

* When editing a field, WI doesn't update the page with your changes until you press enter. Firebug, however, updates the page in real-time, so you can see your changes before submitting them. This is huge.

* EDIT: After spending the last hour working with Web Inspector, I was reminded of something else: For no apparent reason, WI will sometimes reject my edits. I will edit a style, press enter, and it simply reverts to the previous value. Ugh. I don't know if this is a bug or not, but I remember running into it almost a year ago (admittedly much more often than I do now, though it shouldn't be happening at all).

Using Firebug is just faster by comparison. If you're a light user then it might not matter to you. If you do heavy DOM manipulation and design work on a regular basis, however, then speed is everything.

<comment><USER8> where it counts.... to you. Not where it counts to me.

WebKit has an actually usable JavaScript profiler, the one in Firebug is useless. WebKit can debug into eval'd code, Firebug is terrible at it. Chrome's version of the inspector has a heap profiler, Firebug doesn't. Same goes for decent cookie and local storage viewing. WebKit's resource monitor is more intuitive. Etc.

<comment><USER6> Good point. Those are all aspects of Firebug and Webkit that I don't use on a regular basis. It seems they each have a lot to learn from each other.

</comment></comment></comment></comment></comment><comment><USER9> The author makes good points. Especially:

"But Firebug feels much more like a text-editor, and Web Inspector like a passive, well, text-inspector"

Personally, I use Safari as my main browser and like Web Inspector because it feels more "solid" and works for me in most cases. But anytime I need to tweak HTML and CSS (for layout for example) I use FF/Firebug. Adding elements, changing CSS is much easier and intuitive with Firebug.

</comment><comment><USER10> Nice list. My personal pet peeve with Web Inspector is no hot-key for inspecting an element in a page (Command-Shift-C in Firebug)... instead you have to open web inspector, click the magnifying glass, click back to the window, and then click an element.

<comment><USER11> In Windows Chrome it's Ctrl-Shift-I

<comment><USER10> That opens the window, I'm talking about directly inspecting something.

<comment><USER11> You are right, it only opens the window.

</comment></comment></comment></comment><comment><USER12> Is Mozilla officially supporting Firebug development yet? They ignored it for years, choosing to keep supporting and even bundling their useless "Web Developer Toolbar".

The Web Inspector lives in the tree with the code, is tested along with it. and is released as one package. Mozilla constantly breaks the already-fragile Firebug through automatic updates to Firefox, or by haphazardly updating the extension from addons.mozilla.org.

</comment><comment><USER13> I just noticed that the styling for the web inspector is defined via css. One such relevant file is file:///System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Resources/inspector/inspector.css

I'm sure one could tweak this and make it look better. anyone up for the challenge, instead of complaining?

FWIW, my complaint with WI isn't that it looks bad, but that it's buggy. Just try a console.log(arguments) inside any function and try, you'll see what I mean. That being said, it's my primary debugger now. I just go to firebug in dire circumstances. I even use Stainless.app sometimes; it has the same engine, and is a little lighter than safari.

EDIT: Even all the js is available! <http://i.imgur.com/hXuJ3.png>

I smell a side-project coming on...

</comment><comment><USER14> vs DragonFly :-)

I really like the console of Web Inspector that mixes the input and output, like a bloody console and shows the errors even if the inspector was hidden (which is linked to the fact that it's webkit bundled basically)

<comment><USER15> DragonFly's cold start takes about ten seconds. Unusable.

I like Web Inspector's tab completion, although it has issues when I try it on Linux.

</comment></comment><comment><USER4> Firebug is obtrusive, buggy, and slow. However, for the reasons this article suggests, and some others (no right click - delete element in web inspector), I'm stuck with using Firebug for the foreseeable future.

I can't wait to replace it with web inspector. I try to use the latest one on Chromium and it works for very small things, but Firebug is essential whenever I'm doing heavy hacking on DOM elements.

</comment><comment><USER16> While firebug is clearly superior, web inspector is much more stable. It ends up being a combination of both (or one of the older, less-featured, more- stable versions of firebug).

<comment><USER8> I don't use Firefox at all, because for what I do it's clearly inferior. I don't think I've launched Firebug to do anything other than log in the last 6 months.

<comment><USER17> This is also available in Safari (not sure about Chromium) [http://developer.apple.com/safari/library/documentation/Appl...](http://developer.apple.com/safari/library/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/DebuggingYourWebsite/DebuggingYourWebsite.html#//apple_ref/doc/uid/TP40007874-CH8-SW20)

<comment><USER14> it sure is.

</comment></comment></comment></comment><comment><USER18> Does anyone else find the font on this site almost illegible in Chrome? Maybe I'm going crazy...

</comment><comment><USER19> I wish there was a way to clear the resources tab without reloading the page.

</comment><comment><USER20> Now if only firebug wouldn't break Adblocks Element Hiding Helper.

</comment><comment><USER21> Well don't just blog about it, get patching! [http://trac.webkit.org/browser/trunk/WebCore/inspector/front...](http://trac.webkit.org/browser/trunk/WebCore/inspector/front- end) ;)</comment>


Let me help market your startup – post ideas here - <AUTHOR>

Hey, I'm a marketing expert and enthusiast currently working at a startup as a Customer Acquisition Manager. I have a lot of experience with startups and marketing and would love to help your company grow. Post your company URL + short description here and I'll suggest cool tricks to reach more users. <comment><USER2> What is a good way to market nemcv.com, as it is a site which has a free product for making CVs</comment>


Underscore.coffee - <AUTHOR> http://jashkenas.github.com/coffee-script/documentation/docs/underscore.html

<comment><AUTHOR> This is the coffeescript version of underscore.js.

BTW, these beautiful documentation webpages are auto-generated with a tool, as pointed out in the underscore.js post: <http://news.ycombinator.com/item?id=1767897>

There are equivalents for several languages.

</comment><comment><USER2> Cautionary note: this version is slightly out of date, and needs to be updated to reflect the changes in Underscore 1.1.1 ...

<comment><USER3> It's probably worth noting that you can just use the original Underscore.js in your CoffeeScripts, which solves the problem with being out of date.

Underscore.coffee is a good demo of CoffeeScript though.

</comment></comment><comment><USER4> I'm not really a fan of this literate coffeescript. Most of the code speaks for itself, and the English explanation make the code much harder to follow. It's worse than "add one to i" because at least that doesn't take up multiple lines.

<comment><USER2> I agree that Underscore's functions are simple/short enough that the commentary doesn't add much. However, do you still think that literate-style documentation isn't helpful for more complicated modules like this one?

<http://sstephenson.github.com/strscan-js>

Or, to take an extreme example -- this one:

[http://jashkenas.github.com/coffee- script/documentation/docs...](http://jashkenas.github.com/coffee- script/documentation/docs/rewriter.html)

... where the code is very detail-oriented, and you need the commentary to convey the "what", and the "why" -- while the code explains the "how".

<comment><USER4> Literate programming is useful, but not when the commentary is "the function createMeAFoo creates me a foo".</comment></comment></comment>


The Principles of Mathematics (1903) - <AUTHOR> http://people.umass.edu/klement/pom/pom.html <comment><USER2> "[A]ll pure mathematics deals exclusively with concepts definable in terms of a very small number of fundamental logical concepts, and that all its propositions are deducible from a very small number of fundamental logical principles ..."

Cue Gödel... [1]

[1] [https://en.m.wikipedia.org/wiki/G%C3%B6del%27s_incompletenes...](https://en.m.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems)

<comment><USER3> All pure math can be deducible from axioms doesn't mean that all math can be deducible from a single set of axioms. Rather, it means that for each mathematical proposition there is a set of axioms from which one can deduce it.

<comment><USER2> For any set of axioms you take, if they are consistent then it is incomplete. You can enhance the axiom set to extend its reach, but an adversary can always find true, unprovable statements.

My main point is I disagree with the view of mathematics as nothing more than some axiomatic program-- in 1903 many were hopeful that a system (like Russell's formal logic in Principia) could simply generate the truths of mathematics. Gödel shattered that dream.

<comment><USER3> >My main point is I disagree with the view of mathematics as nothing more than some axiomatic program

I just don't see how this follows from Godel. It gives us a more expansive view of math, but I don't see how any fundamental understanding is overturned. I don't see how this takes away from the connection between axioms and theorems. The characterization of math as discovering the logical consequences of axioms is just as true.

<comment><USER4> Cousin comment helped me out a bunch:

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

</comment></comment></comment></comment></comment><comment><USER5> Is this level of density typical for some subset of advanced maths texts? I've never seen anything like it and I'm about to receive an undergrad maths degree.

<comment><USER6> This appears to be a philosophy text, to my cursory glance. Definitely not like the advanced math texts I have read.

<comment><USER7> >This appears to be a philosophy text, to my cursory glance. Definitely not like the advanced math texts I have read.

It is absolutely not a philosophy text. It's an attempt at defining a rigorous definition of the basic axioms we take for granted in mathematics in terms of pure logic, and then examining whether those basic rules of logic are themselves irreducible forms of nature or further creations of man. Essentially it seeks to support all higher mathematical thought by not just taking axioms for granted, but formally proving every one.

<comment><USER6> You say that, and I'm aware of the historical context. But you cannot deny that the majority of the text is devoted to questions like which verbs are appropriate and how words as used in mathematics relate to their notions used in math.

In my experience, logic falls into two catgeories: using math to study a formal system of logic; and determining "foundations for all math" and determining what is an "irreducible form of nature" and other such prosaic things (can the phrase "such that" be defined?). In my humble opinion, the former is mathematics and the latter philosophy.

</comment></comment></comment></comment><comment><USER8> I have this book, I recommend it especially if you like math and you are a teenager.</comment>


On Programming Languages - <AUTHOR> http://raganwald.posterous.com/on-programming-languages

<comment><USER2> What on earth is this post even talking about? People can name their variables and write their comments in any language they see fit. How you've managed to draw a parallel between the current state of programming languages and "negroes in the army" is astounding...

>I value inclusiveness, that includes including people who don't speak English.

This is incredibly vacant. You value inclusiveness but you don't cite a single place where you'd like to see that. Do you want more programming languages to be constructed in Portuguese? Do you want to see more French comments on HN? What specifically are you looking for?

Edit: Perhaps I'm missing something crucial in the linked video? YouTube is blocked at my workplace.

Edit2: Alright, there's been a line added to the post referencing <http://news.ycombinator.com/item?id=4886560> Although I might disagree with the post, there is certainly context for its existence now.

<comment><USER3> The post is talking about doing things like participating in discussions, submitting issues or feature requests, reading or writing documentation, and so on. Try submitting a pull request to any major OS project. Can you document your changes in Spanish?

<comment><USER2> I'd imagine you can document your changes in the language the product has been documented in previously.

Reading and understanding software is an already difficult task, I'm not sure why you insist we add an additional layer of complexity to it. Your intentions are noble, but I think the end result is a detriment not only to any English committers, but to the Japananese committer who is also expected to be able to understand/translate Spanish and English. And when she starts committing in Japanese, your original Spanish committer is now saddled with an additional layer of complexity.

The army analogy is a little bizarre to me as well. The issues of discrimination you pointed out were not centralized around communication issues. I imagine most militaries don't support all the languages of the world due to the obvious communication problems this would create.

</comment></comment></comment><comment><USER4> The argument comparing to gay/woman is just a fallacy. you can learn english, everyone can. You cannot stop being a woman or being gay (despite the latter being argued many times in the past).

And you should learn english. The problem is not because you have to. The problem is to communicate better and to share more. The exclusion principle will still apply, but instead excluding bigger group (people not speaking language X) instead of a smaller group (people not speaking english), unless we actually have completely-automatic translation (and then there is no issue). See what's going on in ruby community - you cannot participate in the design of the language, if you don't speak japanese. As simple as that.

<comment><USER3> _you can learn english, everyone can. You cannot stop being a woman or being gay_

That argument doesn't persuade me. Let's say you could stop being a woman, perhaps by taking hormones and having an operation. Would it suddenly be ok to have a male-only company, since obviously people are choosing to remain women?

Your second paragraph is simply arguing something I already agree with, namely the _utility_ of everyone using English.

<comment><USER4> You're bringing a strawman. Obviously having an operation is slightly worse than learning english.

Regarding the utility - the final utility of male and female company is known to be better than a male only one, even if for a short period of time it drops. A utility of everyone speaking the language he pleases ends up with a situation of lack of communication, which is certainly worse than everyone speaking broken english.

What I would argue instead (and it has been on HN) is that we should allow more broken english and be less nazi about it. It's fine to restrict people who know english better to use only simple words (for example) to lower barriers of entry. It's also ok for people to use english that's not gramatically correct (like no doubt, this post).

<comment><USER5> What seems to happen in practice is that either:

(1) If a majority of particpants are skilled in English, the less skilled will just submit the best they can, and the better speakers will correct (e.g. at patch-review time) anything too confusing in the same way they correct code bugs.

(2) If the majority of speakers _aren't_ skilled in English, you often end up with amusingly misspelled variable names and odd comment grammar, but most people can't tell the difference anyway, so it's cool....

[I work for a Japanese company, so many internal projects just use Japanese for most comments/commits (although I'm free to use English if I want, because most people can understand it more or less).... but because of character-set restrictions, variable names are still mostly amusingly-misspelled English...]

E.g., there doesn't really seem to be all that much of a problem.

</comment></comment></comment></comment><comment><USER6> This article is not "On Programming Languages", it's "On the Use of English in Software Development". Has anybody coined the term "linkbait-and-switch" yet? I'm not against the inclusivity proposed, I just don't like the overloading of the term "programming language" here. Grumble grumble.

<comment><USER3> The author is the cad responsible for this flagrant violation of blog title ethics:

[https://github.com/raganwald/homoiconic/blob/master/2011/12/...](https://github.com/raganwald/homoiconic/blob/master/2011/12/jargon.md)

<comment><USER6> It's okay, you can atone by writing a survey of programming languages and using the title "On the Use of English in Software Development".

<comment><USER3> There's always this language-neutral programming language: <https://leanpub.com/piet>. Then again, some would consider it Dutch Modern...

</comment></comment></comment></comment><comment><USER7> You think you'd be doing someone a favor by enabling them to carry on for a little longer without learning to communicate in English, but in reality, all you'd achieve is closing many many doors that otherwise might be open for them in the future. Not just things like good jobs and scholarships (which itself should be reason enough for any young dev not speaking English yet to drop everything else they have planned and focus on learning it). Not knowing English will make it much harder, if possible at all, to learn and become really good in what they're doing.

If you saw a developer who had to stop drinking whisky each morning because their hands were shaking so badly they had trouble hitting the right key, and you decided to help them by creating a special keyboard, easier to operate with shaking hands, that would be a similar kind of charity to your "inclusiveness".

<comment><USER3> I nominate your analogy for "ShitHNSays."

</comment></comment><comment><USER8> Interesting article. We actually just had a discussion on this topic the other day at work. Oddly, or out of best practice, whatever you want to call it, we try to keep all code documented in English, written in English, etc, but almost everyone involved on our projects would understand it better if it was in the native language. I do sometimes wonder how big of a difference it would make in the community, since most coders just read the source code anyway. I've had to work on a couple foreign language code bases in my life and it wasn't anything extravagantly difficult. Though, then again these were all european languages where you more or less know what something means if you speak a couple anyway, that's not the case with something like chinese or arabic. Anyways, I wouldn't mind not forcing the "everything" in English, I think if it was a looser atmosphere more people would get involved.

</comment><comment><USER9> This is preposterous. There is no moral equivalence between requiring code to be submitted in a particular language and requiring racial segregation.

"All code must be submitted in English" is morally equivalent to "All code must be submitted in Python" - which is to say, there is no moral perspective whatsoever. Maybe it makes sense to have an all English (or all Python) codebase, maybe not, but these are logistical questions, not moral ones. They _should_ be decided on the basis of utility.

<comment><USER3> I don't think it's preposterous to note that there are people who don't speak English and wanting to include them, any more than it's preposterous to note that there are people who can't afford an education and wanting to find a way to get them one, or noting that there are people who don't like in the US but wanting to find a way to have them participate in programming.

There may not be a reasonable trade-off between utility and value, but preposterous isn't a word I accept for valuing the idea of being more inclusive.

<comment><USER9> This is disingenuous. You are not merely suggesting that we be be more inclusive of non-english speakers. You imply that requiring english is the moral equivalent of racial segregation. _That_ is preposterous.

This argument is not even reasonable on its face. You're overlooking one of the essential characteristics of utility-based pro-segregation/anti-gay arguments - they're demonstrably _false_. It's clear that a desegregated military is _more_ effective, not less. Homosexuality, I am sure, will prove itself similarly.

</comment></comment></comment><comment><USER10> As others have already mentioned, comparing a choice of a common language for communication to discrimination issues is just completely baseless.

In total, picking a common language and sticking it makes it much _easier_ for people to communicate. Sure, the native Spanish speaker will have more trouble with English than with Spanish, but what about the next guy, that happens to speak French and English and wants to read the Spanish guys comments?

Suddenly people don't have to learn English as a second language, but have to in fact learn all the languages that other people on the project like to use. Of course everybody will still have to learn English, but now you better also know some Mandarin, French, Spanish, or whatever somebody else felt like using. Latin anyone?

<comment><USER3> Simply saying an argument is baseless doesn't make it so.

The rest of your argument merely repeats what I already agree with, namely the utility of a lingua franca.

</comment></comment><comment><USER11> Are the translational grammar of latin based languages such that you could just add more reserved words? If we were to add for/if/etc for other languages that use our alphabet, would it be just one word each time? Would an imperfect single word be chosen over a better fitting phrase, because the nuance is not needed?

Who is this aimed at? It's relevant for OLPC-educated, but if you were contributing to Lua (Brazilian Portuguese) or Ruby (Japanese) you'd be on english mailing lists. OLPC in South Africa alone has 11 languages. Maybe we can't add reserved words and entirely portable scripts, maybe there has to be conversion, and modes/switches like english-reserveds, european-reserved, all- reserveds.

</comment><comment><USER12> #define por for

The utility argument to exclude a minority/woman/gay/lesbian person was just BS. But what you're talking about here is the ability to communicate. If you can't communicate with someone, I don't know how you expect them to be able to contribute to a community. The only realistic way would be to have people in charge who can communicate in every language in the world, all of which whom also share a same language in common. Or have every programmer speak every language.

</comment><comment><USER13> > I know we'll have to take a hit, just as the armed forces did take hits when > they put negroes, and then women, and then homosexuals on the firing line.

If by "take a hit" he means "take political arguments," then this is true but irrelevant to his argument. If he means "became less effective," then that would support his argument, but it would also be false.

</comment><comment><USER14> I'm not sure I understand what the article is advocating as an alternative....

</comment><comment><USER15> Are there any programming languages/environments that allow localization of code? I mean where you can give multiple strings to each declared symbol, for multiple languages.

<comment><USER16> Yes, the Android development environment allows/encourages this:

[http://developer.android.com/guide/topics/resources/localiza...](http://developer.android.com/guide/topics/resources/localization.html)

In principle, once an app is designed this way, the correct language is automatically selected based on locale.

<comment><USER17> I think he is talking about the localization of code itself (in the case of Android, the Java that the app is written in), not the localization of the user interface element, etc. that the user sees.

Imagine a programming language in which the keywords, for example, could change based on the user's language settings.

</comment></comment></comment><comment><USER18> I'm surprised that nobody has pointed out the other sciences, in which English is clearly the dominant language. If you learn chemistry in any country around the world, you're going to be interacting with periodic tables using the Roman alphabet for elements, for example.

At one point, Latin was the _lingua franca_ [1], but those days are long past. French and Russian were used in the mathematics, but even there, mathematical papers are being published largely in English nowadays as much as possible, even if the author is a native speaker of another language.

The reason this is practical is because the sciences all speak their own language anyway. Every chemist, regardless of their native language, knows that this expression[2] denotes the combustion of propane. Likewise, mathematics uses its own symbols and relationships.

I remember the story of someone - perhaps Erdos? - co-authoring a paper with another mathematician, despite neither of them speaking a single natural language in common.

A well-written computer program may have English identifiers for variable names, but this is really cosmetic more than anything else. (If you don't believe me, go ask your lexer!) Don't confuse the fact that we usually attach English identifiers to variable/function names with the myth that our programming languages are somehow "English" in nature.

[1] An ironic term in this case, for sure!

[2] [http://upload.wikimedia.org/math/a/7/6/a76ae3507ba0d03474726...](http://upload.wikimedia.org/math/a/7/6/a76ae3507ba0d03474726055fc8924a4.png)

<comment><USER19> _I'm surprised that nobody has pointed out the other sciences, in which English is clearly the dominant language._

And industries, such as aviation. All air traffic controllers are expected to be able to converse at a basic level (as necessary for ATC duties) in English even if pilots and ATC may sometimes choose to use other languages.</comment></comment>


Top user-generated comments about the Apple iPad - <AUTHOR> http://www.gabrielweinberg.com/blog/2010/01/top-user-generated-comments-about-the-apple-ipad.html <comment><USER2> Check back in two years and see if _Looks like basically an oversized iPod touch so far…_ has taken its place alongside _No wireless. Less space than a nomad. Lame._ in history.</comment>


React Native for OS X - <AUTHOR> https://github.com/ptmt/react-native-desktop <comment><USER2> I sympathize with cross-platform development woes (we have this problem too) but I can't say I've ever been impressed with a cross-platform app developed using React Native (or anything else cross-platform).

A React Native app isn't horrible or bad (nothing like Java Swing) but it also isn't delightful to use. Technically you have animations and things like the cross-platform navigator. In reality, you have a lot of performance issues and strange incompatibilities due to attempting to execute animation keyframes on the JS thread (or replace the system-provided navigation bar in the case of Navigator). It isn't terribly easy on battery life either.

I'd rather write my sync and offline storage system in JS and share that across platforms while leaving the entire view layer as native code. That stuff is far harder to get right for non-trivial apps, it just isn't sexy and most web devs ignore it completely because hey - the web browser is always online!

I'm biased though. Our customers download 5-10 GB projects with millions of objects in them because when you're building a hospital the MRI room is a literal faraday cage. No such thing as internet access in there and telling the user they can't pull up plans or engineering specs because they're offline is a non-starter.

<comment><USER3> Am I the only one who see the same story repeated again ?

We have now Facebook, a major actor on the web, who is developping a cross- platform toolkit for application development, using OS native widgets. XUL, I miss you :) And now others try support different OS.

Mozilla created everything and they just failed to "market" it. It s at the same time a pain and a joice to see real JS applications, shadow dom, custom components, CSS based styling being the core of a toolkit while we saw XUL/XBL/CSS/native calls from Mozilla be killed a few months ago. It had its flaws, but it s a serious (but really difficult) way to go : Qt did it, Gnome did it, Microsoft did it, even Adobe tried to do. Mozilla and people involved in previous ideas and implementations deserve a special mention for their work.

We _really_ need such technologies, and that Mozilla killed theirs was a really sad choice for me. Creating software with "simple" markup, "simple" styling rules, "simple" event/user interaction handling should be a concrete goal of decades of languages/compilers/interpreters researches.

It has a price : performance, sometimes native look&feel not perfectly accurate, supported platform must have similarities. We may hopefully reach a level where a <button> tag will cost 1% of overhead against a native call and this will be a great day. I hope these new implementations will succeed, and that the actual overcomplexity in the web developpement will not land in though.

<comment><USER4> > We may hopefully reach a level where a <button> tag will cost 1% of overhead > against a native call and this will be a great day.

Also known as XAML and QML.

<comment><USER3> I wish it to be true :)

Disclaimer: I didn't feel the user experience you described. (and have a lot more experience with XUL than QML)

What I experienced is that actual performances of crossplatform "runtimed" toolkits are enough for desktops and acceptable for mobile devices, but the global overhead (compared to a binary using native OS widgets) exists, beginning with startup cost, memory consumption, i/o latency. In fact, the same constraints that VM-based languages have. And even more : the underlying GUI toolkit may be used in an unexpected way, strange GPU driver behaviours may pop up, how not to be bothered by OS fragmentation. And then an application may run flawlessly on a device with a given OS while on another it performs not that good.

While I think it's correct to say that VM-based languages does not have to blush in front of compiled programs when talking about raw computing performance, my experience (as an ex XUL-lover, I may be biased) make me think that this is still not true when UI is involved. Java has maybe the oldest (and most optimized ?) runtimed UI, and it does not convince me. OK, this may be a bad example : Java UIs are "runtimed" at a different layer. but seeing the length of the QML performance wiki page is a bit scary :)

Maybe the "1% overhead" is an unreachable dream, and maybe the native apps will become deprecated, but I think there are a place for improvements. How many attempts of crossplatform UI runtime exists ? Not that much. With hardware improvements, the overhead will be more and more acceptable. It s a huge work, and previous errors should be looked at (rant time : Mozilla: you should not have stopped to use native widgets - Adobe: Flex - QML: mimicking web dev like XUL did is nice !).

Though, I am really impressed by Qt and .Net SDKs and I would really love to see more free software and linux surprises from Microsoft with the Xamarin acquisition.

And, let's be utopic, the future is maybe about a standard API à-la POSIX for end-user applications, where OS vendors will agree on an app, and natively implement their own <button>, their own <menu>, their own <video>. They do if for the browser, for the "webassembly", why not for the OS ? Or the browser will be deeply integrated in OS and the "web" apps will replace all native applications. Or they'll still coexist for years.

OK, anything but embedding a webview would please me :)

<comment><USER4> I got lost at the VM references.

XAML engine is native C++ code, no VM. Since Windows 8 there isn't also a VM as such on the .NET side, given the AOT compilation support.

Similarly QML is only interpreted in the free version. Commercial Qt compiles QML into native code.

<comment><USER3> Yes, the java comparison is not really good, I wanted to make a "runtime" analogy. I didn't know for compiled QML.

<comment><USER4> You can read about the QML compiler here

[http://doc.qt.io/QtQuickCompiler/](http://doc.qt.io/QtQuickCompiler/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Here's a bit about my experience with React Native.

I've been using React Native on iOS in production since last November for [http://townske.com/app](http://townske.com/app),

Over that period, I did hit some performance issues, but the vast majority of those were implementation flaws (i.e. my fault), not framework flaws. Real user feedback has been overwhelmingly positive, including being featured in the app store multiple times.

I just launched another app for iOS and Android last weekend ([https://curbitapp.com](https://curbitapp.com)) that was built with React Native in a few weeks, and shares about 80% of the codebase. I haven't spent any time optimising these apps for performance, other than following standard react best practices and see sufficient performance on both iOS and Android.

For someone who has a web background, React Native is a no brainer. 60fps native UI is generally attainable, you can use the exact same tooling (good dev tools, hot reloading), and you have the ability to pick up a large chunk of your code and put it on Android, or web, or now potentially OSX.

<comment><USER6> I have to admit it's better than most web apps I've seen. However...

After downloading Townske I get hit by three modal dialogs one after the other:

* notifications

* location access

* query about installing an update, even though I've just downloaded the app. If I select install, nothing happens, no progress bar or anything.

Developing for a platform is more than having native-looking widgets, it also means taking conventions and user expectations into consideration.

I am referring to things like the tab bar which has a back button, having a next button and _also_ page swiping in the intro, not throwing popus at the customer, etc.

<comment><USER7> The update message I've not generally seen before, but nearly every app I've used asks for at least the first two individually. The modals to allow notifications, location access, and other granular permissions on iOS is a good-practice pattern.

<comment><USER8> Good onboarding will however prepare the user for the appearance of those dialogs, or ideally only present them when the user performs an action that requires access to e.g. location services or push messages.

<comment><USER7> Agreed entirely, if it's just blasting them out on first-use then they could definitely tighten that up.

</comment></comment></comment></comment></comment><comment><USER9> As someone who quite likes Qt, why should I prefer this over Qt5+QML? This whole React Native thing just feels like "let's reinvent Qt but slower and much less mature".

Note: I really don't mean this in an inflammatory way; it just feels like people are rediscovering the cool stuff about Qt and reimplementing it but worse.

<comment><USER10> Have you drunk the react kool-aid for the browser yet? I have, and I was initially skeptical. Performance can be plenty fast but more importantly, your UI and your application as a whole is more testable, reliable, and easier to reason about if you use React (and importantly, the functional mindset that the React ecosystem comes with). I've made many desktop UIs without this sort of thing and they can be fiddly little bastards to get all of the interactions right, but React makes it effortless and reliable.

I'd love to see React and Qt talking to each other.

<comment><USER11> QML on Qt is also a declarative and reactive technology, it behaves very similarly to React for the browser, but for native widgets. I think that is what the question is about, and I'm curious too... how does React differ? Qt's QML automatically updates UI elements based on state changes. I use React for web programming and they seem like similar concepts, so I'd be curious for anyone to shed light on their differences. Qt falls more into the "reactive" domain, whereas, name aside, React is _not_ a reactive tool, technically, but the use-case is similar for both, no?

<comment><USER10> I would disagree with this. I haven't worked with QML, but I have worked with WPF which also supports two-way data bindings in a manner that I would guess is similar to Qt. The major difference between the approaches is that React embodies the functional approach. By describing your UI as a pure* function of your application state, you get a lot of important benefits.

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

<comment><USER11> Several academic papers on functional reactive programming specifically discuss QML implementation, so I suspect a comparison to WPF is superficial. You may want to take a look at QML before dismissing it. I've seen react developers who have used QML say that the experience is very similar.

<comment><USER10> That's why I included the disclaimier that I hadn't actually used QML. Thanks, I'll check it out.

</comment></comment></comment></comment></comment></comment><comment><USER12> Maybe it's just me, but as an C++, Objective-C and Swift programmer, React Native doesn't really appeal to me that much.

At least on the iOS and Mac, I don't really want to give up on Swift in favor of Javascript.

I like React on the web. In my view, conceptually it's the most interesting framework out there and that's saying a lot, given the jungle of JS frameworks populating the web.

But I also like UIKit and the other native frameworks, now that I've spent so much time learning to use them right.

I'll give it a try anyway, I'm sure there's something to like about it and probably something to learn too..

<comment><USER13> As a Java, Kotlin & Rust programmer, React Native does not appeal to me either. The main appeal seems to be that web devs can continue to use js for most of their work, it does not really appeal to a mobile dev..

<comment><USER14> Web developers should remain on the web, or put enough time to learn new technologies. For a good developer, moving to another language and framework is not really that difficult. Just means to a goal. If, however, the mere thought of learning Swift or Java scares the living hell out of a "developer", then that "developer" is better left outside of my ecosystem as a mobile apps user.

<comment><USER15> The thing about React Native vs other frameworks is that it is cross platform. There aren't many proper cross platform frameworks which allow for 1 app, to be web-based and have native siblings in 1 codebase.

I'm not scared of Swift or Java, But I am frigthened of their ux. Even big apps like eclipse put me off, due to their bloat.

Also frameworks like QT don't offer the same ease of development.

Remember React-Native is currently on version 0.22, and over a year old. IMO it currently offers much better ux than TK/Swing/Qt/...

<comment><USER4> > Remember React-Native is currently on version 0.22, and over a year old. IMO > it currently offers much better ux than TK/Swing/Qt/...

The day it offers something like Expression Blend, Qt Creator, Netbeans Matisse, Scene Builder, Storyboards ... I will believe it.

</comment></comment></comment></comment></comment><comment><USER16> I'm in love with React Native. We're delivering the Android & iOS application we've been working on for the last three months this week, and it's been a phenomenal experience. Far more stable, and far more powerful than I expected going in to it; combined with Redux (though react-redux needed npm 3 and some tweaks to get it working due to name collisions under the packager) we built out a real cross platform app faster than I ever though possible.

Applying that to native desktop application development has me so excited its not even funny!

<comment><USER17> I wonder is there any way to reuse your already existing React Native app within Electron so that you can also achieve both OSX and Windows support?

<comment><USER16> If you implemented your "business logic" in, say, Redux or some other Flux implementation then you could share a massive amount of code between the two; however because React Native acts as a fork of React, having both in the same project (same package.json) will run into issues as far as I'm aware; so you could share code, but not have a single project that compiles to both, at this point in time

EDIT: See below, this is no longer the case as of the latest versions?

<comment><USER18> As of one or two releases ago React Native no longer ships with a forked version of React, and just depends on the upstream "React" library like any other project. So it's compatible with most things in the ecosystem now that don't depend on a DOM being available.

<comment><USER16> Oh really? What version is that at, we've been upgrading at every release, but I could've sworn we still ran into issues even with npm v3 with external libraries installing React when installed, rather than relying on the upstream that should already exist. Might need to upgrade again!

Edited to add:

We're running v0.21.0 here, and I know there were still issues with certain libraries causing conflicts even running up to v0.20.0 -- we've not had any issues since upgrading mind you.

<comment><USER18> [https://github.com/facebook/react- native/releases/tag/v0.18....](https://github.com/facebook/react- native/releases/tag/v0.18.0)

</comment></comment></comment></comment></comment></comment><comment><USER19> Reminds me of "Facebook will eat everything with React Native" \- [https://www.quora.com/What-is-mobile-development-going-to- lo...](https://www.quora.com/What-is-mobile-development-going-to-look-like- in-2-5-years/answer/Jeff-Meyerson?srid=pvSi)

<comment><USER20> Thanks for sharing, scary perspective though.

</comment></comment><comment><USER21> Anyone aware of anything similar for Universal Windows Platform? That would seem like another logical extension to the existing Android/iOS targets.

<comment><USER22> [http://cordova.apache.org/](http://cordova.apache.org/)

or

[http://electron.atom.io](http://electron.atom.io)

<comment><USER23> Those are not quite the same however. Those actually render the HTML / CSS / JavaScript in an web view of sorts but React Native actually uses the real, native components under the hood.

I hope it's extended to Windows eventually.

</comment></comment></comment><comment><USER24> I'm a bit confused by this. I thought the entire point of making things "native" was that the app would feel like it belongs on the platform. Native interfaces have certain details that might not be immediately noticeable, but that massively improve the experience.

This... does not. The screenshots look like webapps that try hard to look native, despite actually being native.

The text in the top-left textbox in the first and second screenshots looks weird, because its baseline is too high. The box around it in the second screenshot has weird corners, etc.

Now, I'm not an OSX user, but with all the talk about OSX having the most polished interface, I highly doubt weird things like this are common.

<comment><USER25> Good point, thank you. Some things look in that weird way only because my (unfinished) implementation. You could use the exact same control as you would use in vanilla Cocoa app, you just need to write a correct wrapper (ViewManager). Most of the current controls are ported from iOS, I certainly should improve some of them. Also, UIExplorer also a ported app, and being not a great example, should be rewritten to achieve more OSX look and feel.

Update. Filled the issue [https://github.com/ptmt/react-native- desktop/issues/52](https://github.com/ptmt/react-native-desktop/issues/52)

</comment></comment><comment><USER26> Oh yeah... once we have Windows and Linux we will finally have a single paradigm for GUIs. It's enough to make me actually love Facebook.

<comment><USER27> And are there Windows and Linux ports being developed?

</comment></comment><comment><USER28> Did "Building MacOS apps with JavaScript" ever get any traction?

[http://tylergaw.com/articles/building-osx-apps-with- js](http://tylergaw.com/articles/building-osx-apps-with-js)

</comment><comment><USER29> And - for windows [https://github.com/joemcbride/react-native- wpf](https://github.com/joemcbride/react-native-wpf)

</comment><comment><USER22> Why would you use this instead of Electron?

<comment><USER10> Because Electron provides an awful UX. It ships with an entire web stack for applications that could be 1/100th the size and 100x the performance if they used a native toolkit instead of a web view. Electron apps also get none of the native L+F that you get if you use an actual toolkit properly. Electron is to the desktop as hybrid apps are to mobile.

<comment><USER30> >Electron apps also get none of the native L+F that you get if you use an actual toolkit properly.

This is a selling point. CSS can make an app look beautiful, native look-and- feel is always atrocious, everywhere.

<comment><USER31> The obvious advantage to native look and feel is that it will be familiar to users, and that consistency in itself might make for an overall more beautiful look.

If I use 5 applications and they all look entirely different, it will not look beautiful, and each time I swap to a different application I have to re- familiarize with whatever the UI designer thought was a good idea for that application.

</comment></comment></comment></comment><comment><USER11> There seems to be some common misconceptions about the technology behind both React and FRP, and unfortunately this is compounded by the fact that FB called it "React" when it is not technically using reactive technology or functional reactive programming. I'd love to hear from any experts on the matter what the key technical distinctions are between React and FRP and where Qt's QML, which is declarative and reactive, fits into this picture in comparison. I've recently skimmed several papers on general reactive programming, and many of them cite QML in their examples, while none of them mentioned React -- perhaps because React is newer. In any case, these are interesting paradigms that could use some dumbed-down explanations.

</comment><comment><USER32> What!? This is a thing :O And I didn't know. Great work! over 5.5k commits already.

<comment><USER33> It's actually just a fork of React native:

[https://github.com/facebook/react- native/graphs/contributors](https://github.com/facebook/react- native/graphs/contributors)

[https://github.com/ptmt/react-native- desktop/graphs/contribu...](https://github.com/ptmt/react-native- desktop/graphs/contributors)

so very few of the 5.5k commits came from the OS X port

</comment></comment><comment><USER34> Oh good, another was to half-ass port things to Mac. Lovely. There's a reason people like native interfaces.

"No it's not like Java this time!" "It's not like Carbon!" "It's not Flash!" "Don't worry, it's no X11!"

If you care about the platform, go native. Learn the rules and look and feel. If you don't care that much? Maybe you should reconsider the port. You can't "click this checkbox for OS X", it doesn't feel right.

<comment><USER35> I don't think you understand what React Native is.

It's just a way to use the underlying native UI. It's not a bunch of emulated components with a pluggable "look and feel". They're the real thing, just wrapped in a JS API.

<comment><USER34> No, I understand it generates native components. But if you're writing generic UI code and deploying it on a Mac without following platform conventions (about the menus, ways of doing things, etc) it will still feel 'wrong'.

</comment></comment></comment><comment><USER36> I am less interested that is "looks" like everything else as long as it "works" like everything else and does what I want it to do.

</comment><comment><USER37> up next: React Native ncurses

<comment><USER38> It's not quite ncurses, but....

[https://github.com/Yomguithereal/react- blessed](https://github.com/Yomguithereal/react-blessed)

</comment></comment><comment><USER39> Last time I checked "native" didn't have access to camera. Not sureif...

<comment><USER40> It does have access to a camera. Check out react-native-webrtc.

<comment><USER39> [http://stackoverflow.com/questions/29309970/how-do-i- access-...](http://stackoverflow.com/questions/29309970/how-do-i-access-the- phones-camera-with-react-native-ios)

I've tried few plugins and there's no production support yet.

</comment></comment></comment><comment><USER41> When you think about it, using react with electron is kinda like react-native for cross-browsers. It'll be hilarious when someone writes a wrapper that let's you do cross browser with react

Let me know if you guys know of one

</comment><comment><USER42> Really loving simplicity of react on a desktop. It is possible to do with electron, this is more versatile.

I have a sense that there should be more versatile components for desktop, I guess once it takes off, there will be those.

Thank you.

</comment><comment><USER43> Interesting to have the same chronology of ecosystem hacks that iOS had: Fully Native --> Wrap JS app in WebView [0] --> React Native

[0] - E.g., PhoneGap apps on iOS & Slack app on OSX

<comment><USER22> Slack is electron based

<comment><USER42> Oh man, that explains so much!

</comment></comment></comment><comment><USER44> At the end of the day.. The customer doesn't care about your code... they just want a smooth running App, so, here React Native wins.

<comment><USER4> Some web view based apps forced me to take the battery out to regain control of my smartphone...

</comment></comment><comment><USER45> What are your experiences using RN with Angular? It's interesting to see that the Angular team are in some way endorsing RN.

</comment><comment><USER46> This is very cool. I admire all of the hard work from the react team and open source contributors that make this tech possible. <3

</comment><comment><USER47> I'm learning electron. But, React Native launch the Desktop.May i give up it?

</comment><comment><USER48> Does this mean Facebook is building a native desktop app?

<comment><USER18> The React Native for OSX fork is being developed by a developer outside of Facebook, and as far as I'm aware Facebook hasn't put any resources into it. I'm sure they're super pumped about it though -- the core team is very enthusiastic about efforts to apply React/RN outside of just iOS and Android, they just don't have time to work on more than that at the moment.

</comment></comment><comment><USER49> Awesome - Might be replacement of Electron

<comment><USER50> If you care only for OSX yeah.

</comment></comment><comment><USER51> This is pretty awesome. They're really proving that you can learn once build anywhere.

For OS X though if I were to get into a project I'd go the Electron route.

</comment><comment><USER52> So we're back to Mozilla XUL ?

</comment><comment><USER53> Looking forward to it in action.

</comment><comment><USER54> If this still requires me to install xcode...then I would rather go with ReactJS + electron!

</comment><comment><USER55> I don't use or develop for OS X, but I know it has a reputation for some pretty bad desktop applications. Do people think React Native might lower the barrier enough to improve on this problem? Thinking of getting a Mac soon and am curious.

<comment><USER56> This is completely the opposite of the case, in my experience. People complain about some things like Mail and iTunes, but overall software for OSX is typically head and shoulders above its Windows and/or Linux counterparts.

For a recent example, having gotten used to Transmission (BitTorrent client on Mac), I was absolutely floored at how absurdly complicated and ad-ridden Windows alternatives are.

<comment><USER57> Can't you just use Transmission on windows? It's a GTK app and they're better on Windows than MacOS. Or you can always use it's web interface on Windows.

<comment><USER58> Transmission on OS X uses native UI components[1] rather than GTK. In fact they seem to have 3 sets of UI code (AppKit, GTK+, Qt), plus the web interface, plus whatever they're using on Windows (might be GTK+ or Qt there?).

[1] [https://www.transmissionbt.com/images/screenshots/Mac- Large....](https://www.transmissionbt.com/images/screenshots/Mac-Large.png)</comment></comment></comment></comment>


Please review my startup - Online Classifieds - <AUTHOR> http://www.abtain.com/

<comment><USER2> Welcome to the start-up everyone started-up in 2001 that failed for the same reason: content.

Craig won the lottery on this one.

Here's something to think about though: Critical mass and exponential growth.

It's going to take you a few years to hit critical mass, which I "imagine" is around 60,000 to 100,000 sellers.

It's at this point where if every person tells 3 people about your service, and 1 of those 3 people use the site, you'll start getting enough traffic that enough products will be sold that enough of your sellers will return to sell again, maybe your buyers will too.

My first thought is to create a community for your sellers. Give them an outlet to talk with each other. They'll help you improve your site. Engage in that communication. Let them make it a home away from home, let them make friends with each other.

It's these people that will give your site legs.

(I do have some past experience in this space...)

<comment><AUTHOR> I actually did this before for a client in the auction market. Most of the initial users were in the Texas / Louisiana area. After around 30,000 users we had a nice critical mass.

The biggest problem came from the client not anticipating the support required fro 30k users. Fraudulent transactions like fake Rolexs with western union money transfers were too common. Another issue that came up was people paying for postings yet using stolen credit cards. If you charged $5 to signup, but then had a chargeback, you would get dinged for that $5 and a chargeback fee of $25.

</comment></comment><comment><USER3> Things I like:

\- Design looks nice and clean. I'm impressed that you have a photo of downtown Raleigh on my city's section, that's a nice touch.

\- Posting interface is simple, and I like that its free.

\- I like the McAfee secure logo. I know it doesn't mean anything, but the everyday user in me likes seeing it (reinforces trust).

Things I think could be improved:

\- My profile says I'm in Reidsville (geolocated). I can't find a way to change this (I'm actually in Raleigh, NC).

\- I can't find a way to post an ad from the dashboard.

\- More categories for services. For example, I'd like to list under graphic & web design, which is available as a job but not a service. Computer is too broad.

\- Once I choose a city, set a cookie so that when I click back to the homepage it takes me to the Raleigh homepage, instead of the generic choose-a- city page.

\- Let me add a link to my site! I'll make a profile for my business on just about any well-made business directory provided that listing is free, and lets me link to my website.

\- Following on this, let me add more metadata about my business (e.g., hours, address, phone, specializations).

\- "Manage My Ads" is dropping onto 2 lines, orphaning "Ads".

\- The combination of the icon and the name _Ab_ tain make it seem like a health site at first blush.

Overall, I really like it. If you can add in some of that metadata I will definitely fill out my listing and try your site out.

<comment><AUTHOR> After you make a profile, go to edit your profile and you can add a link to your website. See how I have a link back on my profile. <http://www.abtain.com/dan>

I'll check into updating the geocoding. Anyway you can tell me your ip address? I'll check to see if any databases have your ip in correctly.

Will take your other comments under consideration in the next deployment. Thanks.

<comment><USER3> Thanks, I see it now. It was linked to my abtain profile, and I didn't realize I could change that to whatever I wanted.

IP: 184.108.40.206. It shows up as Greensboro on most sites, which is just one of the shortcomings of geolocation by IP. So really, I just need to be able to change it.

</comment></comment></comment><comment><USER4> "No classified ads were found for" whatever I click on. Looks nice but that's your hurdle.

<comment><AUTHOR> Yeah, not only segmented by category but also by region. Curious, what area are you from?

<comment><USER4> Chicago.

</comment></comment></comment><comment><USER5> How is this different than craigslist? It looks nicer, but you have the same feel of how to find things. Why can't I search all of the USA? Or a region. Or search a whole state? I hate clicking around to different cities to try and find something.

Posting is easy. Making an account is easy. Managing postings is easy. <http://www.abtain.com/posts/manage> has a field for price but I do not see a place to enter that in the posting.

Good work.

<comment><AUTHOR> I have sphinx search in the backend but turned it off because the number of posts is limited.

Thanks for the feedback, I'll look into making browsing/searching across regions better.

Do you think it would be useful if you are visiting a category in your local city to see posts from other nearby cities (within 150 miles)?

<comment><USER5> Oh yes, most definitely. I was recently in the market for a new (to me) dirt bike and it was a pain switching around to different local cities and performing searches. And, because I was willing to drive for 2-3 hours to pick it up, some people would say they lived near a larger city to get more hits but when I called them up it turned out they lived like 50+ miles away from said city.

</comment></comment></comment><comment><USER6> The prefix ab denotes 'away' or 'from'. Similar to the word abstain; abstain from sex, abstain from voting, and seemingly opposite of obtain.

Just gives a weird feeling and vibe.

<comment><USER7> Interesting counterpoint - [http://37signals.com/svn/posts/2303-the- unimportance-of-prod...](http://37signals.com/svn/posts/2303-the-unimportance- of-product-names)

</comment></comment><comment><USER8> Why would I use this instead of craigslist?

If you don't have an answer for this I don't think you have a business. If you do, it needs to be more apparent on the site.

</comment><comment><USER9> Is this really "high traffic" already or is that the end goal?

Also, I couldn't find any actual listings. I saw in the recent activity that "billybob created a post I want a 250f motocross bike about 5 hours ago", but when I clicked on it, it only took me to his profile and had no link to his ad listings, so I still couldn't find it.

It basically seems like a Craigslist, but without the content.

</comment><comment><USER10> Also some of the categories are empty. I looked for IT and Software Jobs in the San Francisco Bay Area, and it has nothing. It might be better to start with a narrower focus and solve the chicken-and-egg problem first. If you have posts, then you'll get readers, and then you'll get more posts.

<comment><USER11> Following on from that..

On the homepage: * I would limit your popular cities to the top 4 or 5 as some only have 1 or 2 items listed. * I'd limit the recent activities also, you have some from two days ago.

</comment></comment><comment><USER12> Get some integration to other sites to generate the posts, post people won't post if there isnt much users.

Improve page preview. Had a sluggish feel to it also when high lighting the subject and think the message but from right toleft it wouldnt select? wtf?:)

<comment><AUTHOR> I think part of the sluggishness is the extra traffic from hacker news right now, and forgetting that I only had one mongrel up to serve the load. Working on getting unicorn going again to help handle more requests/second.

</comment></comment><comment><USER13> Maybe you shouldn't try to do every city at once. Instead, focus on one city and make it great. Expand from there.

Other than that, you need content. You could always try aggregating other services and newspapers, to the extent their TOSs allow.

</comment><comment><AUTHOR> Thought you guys may find this interesting. stats from this post getting on top of hacker news for a bit. <http://skitch.com/quellhorst/dby8q/dock>

</comment><comment><USER14> @quellhorst, what do you think about slightly fading the color of all category links that have no posts? I certainly don't want to browse through categories that I know have no posts.

<comment><AUTHOR> Oh, I like that much more than showing a number next to the categories.

<comment><USER14> It would be primarily helpful on the interior pages (e.g. <http://chicago.abtain.com>).

</comment></comment></comment><comment><USER15> How did you get the geolocation to work? It correctly noted I'm in the SF Bay Area but my IP address normally shows for Richardson, TX (thanks alot, AT&T).

<comment><AUTHOR> Using the free maxmind for the backend GeoIP database.

</comment></comment><comment><USER16> Can you link us to one working classified ad? I'm clicking through random Boston categories and I can't find any that have anything.

<comment><AUTHOR> There are many postings in the Dallas area. <http://dallas.abtain.com/>

</comment></comment><comment><USER17> It has a very spammy look to it. I don't know exactly what it is that causes this, but it looks "dubious".

<comment><AUTHOR> Someone mentioned that it was because the blue links look like domain squatting pages.

I only recently changed the links to be blue underlined after hearing a presentation from bing about how a specific color of blue performed better.

</comment></comment><comment><USER18> what do you mean by "high traffic classifieds?" Are you referring to some kind of technological superiority over the alternatives? Does high traffic mean anything to your users? Just wondering.

<comment><AUTHOR> That is actually part of an A/B test with abingo to see if having that motto does better with conversions. It did better with advertising.

</comment></comment><comment><USER19> Lack of search would put me off using it.</comment>


Monads in Clojure - <AUTHOR> http://intensivesystems.net/tutorials/monads_101.html

<comment><USER2> "The most obvious question at this point (or much earlier) is what are monads good for? To illustrate this in a practical way, consider recursive descent parsing."

This was the most useful part to me. My question about monads is always "Why should I care?" Now I know at least one possible answer: "It makes it easier to implement recursive descent parsing." Cool.

<comment><USER3> Graham Hutton has written a couple of papers on monadic parser combinators:

<http://cs.nott.ac.uk/~gmh/bib.html#pearl>

<http://cs.nott.ac.uk/~gmh/bib.html#monparsing>

He also discusses them in chapter 8 of _Programming in Haskell_ ; the code is up on his site, you want the 'Functional parsing library' and 'Expression parser'.

<http://www.cs.nott.ac.uk/~gmh/book.html#code></comment></comment>


Economists' Faith in Markets Broke America - <AUTHOR> https://www.theatlantic.com/magazine/archive/2019/09/nicolas-lemann-binyamin-appelbaum-economics/594718/ <comment><USER2> Banks were subsidized or required by the state to issue subprime mortgage loans to the poor; people with terrible credit who would have no chance of actually paying the loan back. The Federal Nation Mortgage Association would then give banks guarantees that they would buy the loans from them if they needed funds. So these terrible loans that no bank would ever issue were suddenly considered to be a reasonable investment, because the federal government would just buy them out. Something very similar is currently happening with student loans. This is why lenders will gladly loan 90k to somebody to major in Gender Studies, where the major itself provides very few financial prospects for the loan being paid back.

That system is not "markets." That system is the federal government saying "Americans need to be homeowners and Americans need to be college graduates," with no consideration for whether or not the loans will ever be paid back. So then of course banks will say, "uhh, okay, ya I'll give you a loan. The government has my back."

And then when all the people failed to pay back their mortgages, the banks get "bailed out" for doing shitty loans...but they were "bailed out" from the get go, that's literally WHY they issued the loans in the first place. People will say "oh look at these free market capitalist looking for social welfare," but again, these loans were only issues as a means of actual social welfare for the poor, subsidized by the federal government.

<comment><USER3> That may be a piece or the seed of it, but no govt forced the lenders to generate fraudulent loans at scale or to then repackage those loans into securities and massively mis-rate the risk of those securities -- both of those activities done at massive scale (along with CDOs and other shenanigans) is what collapsed the banking system.

<comment><USER4> A lot of it was break down of originating standards, rating fraud, and worthless insurance on as you said CDOs and other shenanigans. All the people responsible get protected and 10-20 million people lost their homes.

Worse the employment to population ratio dropped 10% and has stayed there since.</comment></comment></comment>