A couple neat things about using chemical elements as hostnames - <AUTHOR> http://geoff.greer.fm/2009/06/17/hostnames/ <comment><USER2> Naming is a classic bikeshed. Sure, a good naming system is a good thing, and helps you recognize what box is where. But once you hit between 20 and 200 hosts (depending on your memory) you are going to need to stick 'em in a database and sort 'em into groups to manage them in a sane manner anyhow, and at that point, naming schemes won't mean much anyhow.

The problem is that as a bikeshed, /everyone/ has an opinion and everyone wants to have that opinion heard. I've been places where we spent more effort arguing about naming schemes than it would have taken to write the database and tools for retrieving groups of hosts.

So generally, when this comes up in situations where I'm in charge, I loudly declare it a bikeshed, and we choose the scheme essentially at random.

<comment><USER3> We have several very very large clusters - as you say, the names become problematic.

Currently we are using a "code" to ID servers.

\- 2 letter geographical location code

\- 2 letter building code

\- 4 number computer ID

(e.g. LIMB0001)

This was after someone had to spend nearly a whole day working out where computer CU2043 was located :)

<comment><USER4> Couldn't they have just used the IP address of the computer to figure out what subnet the computer was on?

<comment><USER2> many people have big, flat layer two networks... e.g. one subnet might span locations. Now, personally, I think this is a bad idea in nearly all cases, but many other people disagree with me.

The thing is, vendors of expensive MPLS gear like to sell this idea of 'location independent subnets' to upper management as a way to 'simplify' the network.

Now maybe it's just 'cause I don't know layer two well, but god damn it is so much easier to troubleshoot layer three problems than to troubleshoot layer two problems, so I strongly favor making the subnets location and/or rack dependent.

<comment><USER4> The very idea makes the network engineer in me cringe. There are _so_ many good reasons to establish layer 3 boundaries before crossing any relatively low speed or high latency connections.

</comment></comment></comment></comment></comment><comment><USER5> I like to use Pokemon names, as the numbers of those first 151 have stuck in my head for many years for some reason. You can subdivide them in many memorable ways too, e.g. the author could say: "On my network, pikachu is my router, rack-mount servers are fire-type pokemon, embedded devices are water, gaming consoles are dragon, and laptops are ground type."

It would also has the advantage that you could use redily available pokemon stickers to attach to each device, and is a nice way to personify devices if you are so inclined - "Ivysaur is playing up again; time for a trip to the pokecentre"

<comment><USER6> Laptops should be flying type. Then embedded devices can be ground type.

</comment></comment><comment><USER7> The last sentence should be the first: "If you have more than about 20 machines, just give them numbered hostnames and be done with it."

<comment><USER4> The problem with numbered hostnames is that it's very difficult to remember which host is which, even in the course of very short projects (was that ser0483 or ser0438 that needed rebooted?) etc. Although I'll grant you that numbered hostnames is probably the only workable alternative for a large farm of otherwise identical servers (VMWare server farm, rendering farm, etc.)

<comment><USER8> I've never found numeric names to be a problem. And there is _never_ a problem with how to spell the name. I will take "ssh m435.local.domain" over (real world example, ARGH) "ssh Vanaheimr.local.domain." and "ssh Muspellheim.local.domain" - I want to shoot people who think that's clever.

</comment></comment></comment><comment><USER9> I like that there is consistency in naming them when considering the periodic table. However, most people don't know the table well enough to know their atomic number, their classification (noble gas, halogen, etc.) nor would there be any connection between name and purpose. Rather you must know the meta- information about the element to know the purpose which makes this a well- suited convention for chemists but few others.

<comment><USER7> Usually the hostname should be disconnected from the machine's purpose. Instead, use a generic name and then use aliases (either cnames or additional A records) for mapping services to the machine.

<comment><USER10> I don't think nnutter meant naming machines by their purpose like "mail.localdomain", "www.localdomain", etc. Rather, for example, I once named a QA build-testing machine "yaeger" after the test pilot that broke the sound barrier. Hostnames whose namesake has similar traits (even vaguely) to the machine's purpose can help you remember which machine performs what task on your network, or recall what a machine's purpose is by it's hostname. Careful selection of such names provides these benefits without causing any more problems when you move a service to another machine than using any other naming scheme.

</comment></comment></comment><comment><USER11> Numbered hostnames are fine if you've got a cluster of identical machines such that there's not much value in differentiation.

'xyz241' is a test router

'xyz211' is a second test router

'xyz262' is a production webserver

'xyz546' is a production webserver

'xyz33' is a development database server

'xyz411' is a development database server for a temporary contract dev team.

'xyz101' is the corporate file server

If you have hundreds of devices to track, the weaknesses of using numbers should be apparent. The only advantage of that naming scheme is organization of the entire monolithic collection. It's easy to select new names and it is easy to enumerate the entire collection at once. Those are definitely advantages, but there are some obvious drawbacks, too. There's no obvious way to tell, short of committing it to memory, that "546" is a webserver.

To track of any other pattern, you'll have to encode some sort of information into the names. For example, you could organize the numbers, like most colleges do for classes. <subj> <level-number> * 100 + <course-number>. eg: MUSC 211.

<comment><USER12> I always figured that names are good if you treat your servers like pets -- unique, long-lived individuals with personalities and quirks.

Otherwise, you use numbers, and you treat them like farm animals -- anonymous, members of a species, with shorter lives.

You can get attached to pets, but you shouldn't bond to livestock.

<comment><USER13> You also should never have hundreds of pets at once.

<comment><USER14> Lest you become a crazy cat lady. I like this metaphor.

</comment></comment></comment></comment><comment><USER15> This gives purpose to all the years of Chemistry I learned at school.. Thank you!

</comment><comment><USER16> At my current job, we've switched from Star Wars characters to colors. While I can understand that having a testing machine called "jarjar" is a bit, well, jarring to those with less geeky proclivities. But mentally associating colors to certain servers is a bit too bland. Maybe that's just the way my brain works…

(Worst sin I've commited, name-wise: Naming my desktop PC dunsinane and my laptop birnham)

</comment><comment><USER17> Just refer to the RFC: <http://www.faqs.org/rfcs/rfc1178.html>

</comment><comment><USER18> Yes, this is the PERFECT plan.

But how do I name my router at 192.168.1.254?

<comment><USER19> I believe that would be "bipentquadium". (<http://en.wikipedia.org/wiki/Systematic_element_name>)

<comment><USER18> Very good. Now I can safely append

192.168.1.254 bipentquadium bpq

Thanks.

</comment></comment></comment><comment><USER20> we do this as well; the inspiration came from the engineering machine names at umich.edu.

Edit: umich had a lot of funny machine names. The login servers were named for console video games (galaga, moonpatrol, galaxian), while the kerberos servers were (inexplicably) named for schwarzenegger movies: terminator, redheat, lastactionhero, etc.

</comment><comment><USER21> Overloading the names? Classifications as functional groups?

Um. Ok. That's, um, interesting.

If you start with chemical names and hit the limits of the complexity that permits, are you going to move onward to molecules? Wait for Ununbium to be renamed Copernicium? What's next, molecular host names within the hydroxyl group are assigned to management?

If you're going to use a "corporate-style" naming scheme for your hosts, then just encode whatever it is you want to convey into the host name. Location or whatever.

Or just select random names.

Having the IP address encoded in the name strikes me as particularly problematic, too. Hosts and subnets and VLANs tend to come and go, and names and VLANs and address assignments tend to shift.

And naming based on physical locality is an increasingly quaint concept in the era of virtualization and client mobility.

After a while, most any naming scheme will prove insufficient or will unravel, so why not just have an eye toward the likelihood of distributed management and (increasing) complexity from the onset?

Seems better to spend your time getting (for instance) SNMP and DNS records configured and working for all your boxes, and less time making (more) work for yourself with explaining and maintaining complex host name schemes.

<comment><USER22> Seems like this extends to domain names too. SO why even have an address bar at the top of the browser? What will replace it?

<comment><USER21> Many browsers have two text input boxes.

In more than a few places, a Google search string (or the browser's search input box) is the already the preferred contact path; not the URL.

What might replace URL-based navigation more widely, I don't know. We went from ARPA not all that long ago to the Big Seven to however many dozens of TLDs we have now. We'll certainly find out, as the URLs are increasingly hideous, and we're just a few years into this current naming structure.

There are certainly potential business opportunities here, too. Approaches to better solve a distributed planetary-scale address book than "just" based on a domain name, and better than a brute-force search engine.

<comment><USER22> Yes, I've wanted an "authoritative" directory of web pages for some time. Every since Yahoo gave up on it, I've had to learn clever ways to tease the right pages out of google.

How about a search engine that ALWAYS returns the canonical page for any techinical/commercial/copyright/patented term FIRST! Instead of somebody's dog named "rfq" or a car for sale by a gal from Concordance, OR.

</comment></comment></comment></comment><comment><USER23> In my household, we've found that place names can be useful for memorable and informative hostnames. Servers in the garage: Japanese cities. Upstairs northern places (being English we use Scottish cities), basement Australian, and the central computer is Rome. After all, all roads lead to Rome!

</comment><comment><USER24> We've solved it by having the actual hostname be the mac address from the machines first NIC preceded by a 2 character code for what type of machine it is (DT for desktop, VM for virtual etc) and then allowing for the assignment of an "administrative" name that goes in the internal DNS and is shown in green on the command line when logged in.

This lets the suits pick goofy names for their boxes based on whatever they've seen on tv recently and allows us to automatically generate unique hostnames based on physical properties of the actual machines.

The sweet lack of multiple "Gimli's" and "Gandalf's" on my network warms my geek heart.

<comment><USER8> This becomes somewhat more problematic (but not impossible) when you need to start replacing NICs, and moving MAC addresses over to new servers. Some linux IPv6 stacks (RHEL) tend to work better in autoconf mode (EUI-64 promotion of their MAC address) - particularly across multiple versions of the kernel (Static addressing has given us problem) - so we tend to do the migration of IPv6 addressing by changing the MAC address on the NIC, which, ironically, offers more straightforward and predictable behavior across multiple RHEL 5 releases than trying to force a particular static IPv6 address onto the host.

If you end up having to play games with your MAC addresses, basing hostnames on them is a suboptimal strategy.

Asset tags, on the other hand.....

</comment></comment><comment><USER25> This is great for highly connected devices like routers and switches because each element has an unambiguous abbreviation which makes labeling cables much easier.

</comment><comment><USER26> naming servers is so BAWS (before AWS). :)

</comment><comment><USER27> I did this back in 1995. I still remember the first three hosts: mercury, carbon, helium ...

</comment><comment><USER28> Cute hostnames are pretty obnoxious. My preferred method of building out datacenters is more self-documenting, and I've done it on 4 rack colo buildouts and 100 rack colo build-outs.

I just use a naming format of Loc-Cabinet-Rackspace.

In my Seattle datacenter I know that sea-c01-s1 is a server thats in my seattle datacenter, cabinet 1, slot 1. I know it's PDUs are plugged into port 1 of PDU-LEFT and PDU-RIGHT in that cabint. I know it's two ethernet ports are plugged into Port 1 sea-c01-sw-left and sea-c02-sw-right. I know it's LOM cable is plugged into port 1 of sea-c01-sw-mgmt.

(I handle multi-U spaces by naming the server based on the bottom most rackspace it uses, and I stay consistent. If Sea-c01-s1 takes 10 rackspaces, then the server above it is sea-c01-s11. Beyond that, my configuration management tools tag spare resources when needed, and release them when unneeded. Cute hostnames are of no use to me, or anybody building out a datacenter that they'd like somebody else to be able to manage without months of knowledge dump.

<comment><USER29> What happens when you have to move a server for some reason? Has that never happened?

<comment><USER30> My guess: logical names (like www or db or ns) are CNAMES, so that when the server moves and gets a new named based on location, the CNAME is adjusted as well.

<comment><USER31> You shouldn't need to rename a server when you move it, esp. since you might not know where its hostname is used (e.g. at least one major database vendor at software installation time embeds the hostname in various generated config files).

Machines should have sequential names, services should be VIPs (or CNAMEs if you must) and everything else should be in a configuration management database.

</comment></comment></comment></comment><comment> daniel-cussen "I admit this naming convention is more for the massive nerd factor than practicality."

Epic.</comment>


Noughts and Crosses in HTML and CSS only - <AUTHOR> http://dev.stunjelly.com/xando/pages/x000000000.xhtml

<comment><USER2> Doing a different page for each possible move isn't all that impressive.</comment>


Show HN: Ultralight – Lightweight, Pure-GPU HTML UI Renderer for C++ - <AUTHOR> https://ultralig.ht <comment><USER3> >> We needed something in between a huge, all-in-one browser toolkit and a bare-bones HTML UI renderer that only supports a tiny subset of HTML/CSS spec.

>> We started over with WebKit, stripped it to the bare-minimum, then rebuilt it from scratch with an eye towards embedding.

This is very similar to the origin story of Flutter. [1] In the end Flutter team just abandoned the HTML based UI idea and went with their own component system. As per the podcast, the core team doesn't have any plans to bring Flutter to the desktop development. I wish they would do it, that way we can get a performant alternative to Electron.

[1] [https://softwareengineeringdaily.com/wp- content/uploads/2018...](https://softwareengineeringdaily.com/wp- content/uploads/2018/06/SED625-Flutter.pdf)

Edit: Found the actual quote from the podcast:

>> We allowed ourselves, I think it was a week or two and we just tore Chrome apart and see how fast we could move on our benchmarks. Allowing ourselves to break compatibility to the web. The end result was we were 20 times faster on some of the benchmarks that we cared about and obviously, the end product wasn't the web, it didn't render all web pages, but it taught us that there was a lot of potential to do things better, faster, if we worked on something that was beyond the web.

<comment><USER4> > I wish they would do it, that way we can get a performant alternative to > Electron.

Qt / QML is an existing performant alternative to Electron.

<comment><USER5> How are their licensing terms?

<comment><USER6> GPL, LGPLv3 or commercial.

</comment></comment></comment></comment><comment><USER7> WebKit is the only open source project I've ever needed to dig into which _immediately_ signaled onerous complexity, and did not disappoint on that instinct until I gave up. You, too, can have this experience, if you really want. Take a weekend, if you've been programming for a couple decades -- more, way more, if you haven't -- and just try to build WebKit. Go to the repository, follow the instructions, and just _try_ to build the project.

That anybody would -- or _could_ \-- dig in, tear it apart, and try to make something better... That is impressive and I salute you.

Edited to add: I am however only interested in using open source applications on Linux, so I'm out on this one, unfortunately. That's not strictly true -- for example, I use ST3 as my daily driver -- but I've got to see a substantial value proposition to weight my decision towards becoming a user. Still, impressive nonetheless, and best of luck to you in this endeavor!

<comment><USER8> Did you get deep enough into WebKit to see that the namespace for the utility functions is called WTF? :)

I also like how there are at least five string classes (to be fair, there are good reasons for most of them): String, AtomicString, StringImpl, CString, WebString.

Edit: If you're feeling particularly brave, look up some of the text-run and unicode bidi algorithm related code. I don't remember how old that code is, but some of the darker corners of WebKit go back literally decades.

</comment></comment><comment><USER9> This part of the FAQ right here:

      Q: Who is behind Ultralight?
      A: Hi, I'm Adam Simmons...

YES that is what I am talking about! I hate it when people try to hide behind a company name. When they try to make it out like they're some big "proper" business. Just tell me who you are, and I'll trust you much more. Just like this. Thank you very much Adam!

<comment><AUTHOR> Haha, you are welcome! I definitely don't hide, come join our Slack channel here: [https://chat.ultralig.ht](https://chat.ultralig.ht)

<comment><USER10> Question: will there be a C API? (for using Ultralight from languages other than C++)

<comment><AUTHOR> Yep! We plan to expose a C API to make bindings easier to generate.

</comment></comment></comment></comment><comment><USER11> A few questions

\- What does it do to be better (smaller, more memory-efficient) than a browser engine? Which features does one lose?

\- When will Linux support ship? (Edit: I see it's planned, this was just an assumption before)

\- There could be bindings to other languages in the future, right? (Edit: I see .NET compatibility is planned)

Edit: \- Where's the source? Yes, this is a rethorical question; What is the motivation to keep it closed? This will probably hinder adoption (unless support is damn good).

\- Could you upload the files to GitHub (or some other, similar place)? It's probably less intimidating than "Get SDK" and a lot nicer to browse through samples on my phone (Chrome doesn't seem to forward zips to apps at all, I don't really have a good text/code viewer installed etc).

<comment><AUTHOR> Hi there:

Pros (Ultralight is...)

\- Smaller distributable (25% the size of Electron/CEF or smaller).

\- Simpler and easier to build (fewer dependencies and smaller codebase).

\- More configurable (users can do custom handling of file system, fonts, GPU rendering, clipboard, and more).

\- Potentially more performant (all rendering is done via GPU command buffers).

\- First-class support from an actual company.

Cons:

\- No support for MathML, Geolocation, WebGL, IndexedDB, WebAudio/Video (for now)

\- Less mature and unstable.

\- Slower release cycle (might be a pro).

Linux support is planned and will ship when it's ready, you can track its progress here: [1]

Yes, we have plans to publish a C API interface to simplify bindings for other languages.

The WebCore source is available here [2]. The rest of the source is kept closed for now to keep our licensing/support options open. There's a chance we will find a better funding model and will open-source the entire repo in the future.

Yes, I agree the SDK packages should belong on GitHub, and will also be BSD'ing the framework/sample code so users can fork and hack on it at will.

\- [1]: [https://github.com/ultralight- ux/ultralight/issues/4](https://github.com/ultralight-ux/ultralight/issues/4)

\- [2]: [https://github.com/ultralight-ux/ultralight- webcore](https://github.com/ultralight-ux/ultralight-webcore)

<comment><USER12> Slower release cycle is a con.

Slower deprecation cycle is a pro.

</comment></comment></comment><comment><USER13> > Chromium is awesome, it really is. But not for embedders.

> the API is currently available for C++ only and requires Direct3D 11 on > Windows and Metal on macOS.

"Embedders" here seems to mean "people who want to embed a web UI in a desktop application." This confused me at first because I wondered why an embedded systems UI framework only supported Windows and macOS instead of Windows and small Unixes.

<comment><USER14> "Embedding" is often the term used to describe using a scripting language runtime within a larger app, for example embedding a Lua runtime in a game or a Javascript engine in a database. I'd imagine that was the context for using that term here.

</comment></comment><comment><USER15> Hi, I was a former Awesomium user (.NET bindings) and i think you did a good job, then told everyone to wait for the next version (2 years?) and.. there comes Ultralight which is a completely different beast. It can be impressive for people who need an embedded html front-end, but who wants to embed a real browser is left with CEF.. which is really cumbersome.

I think you should open source Awesomium also, allowing contributors to maintain it.

</comment><comment><USER16> This looks like a useful framework.

To the creator: Could you help me understand how lightweight this is, in terms of memory usage? For instance, how much memory is used to render the Wikipedia sample page, when using Ultralight, vs. using a single Chrome browser tab to do the same?

Thanks!

<comment><AUTHOR> That's a great suggestion and I will make a better comparision with real numbers in the next release.

Currently, the memory usage is similar or less than that of Chrome/Safari, with most memory being allocated by the JavaScriptCore VM, render geometry pools, and some by the GPU texture atlas.

So far, we've managed to reduce the total binary size to about 25% of a similar Electron-based app by reducing dependencies to the bare minimum and punting platform features to be handled by the embedder instead. See our Platform API [1].

As far as runtime memory usage goes, a lot of that memory is being allocated by pools and cache structures to improve performance (the same is true in most browsers). We will be implementing a memory management API soon so that this behavior can be configured (offering users the ability to strike a balance between memory usage and performance).

Additionally, Ultralight is NOT multi-process. The overhead of tens to nearly a hundred renderer processes makes sense for sandboxing in a browser situation but not for HTML UI where the assets are controlled by the user and security is less of a concern.

\- [1] [https://github.com/ultralight- ux/ultralight-0.9-api/tree/mas...](https://github.com/ultralight- ux/ultralight-0.9-api/tree/master/include/Ultralight/platform)

<comment><USER17> > with most memory being allocated by the JavaScriptCore VM

If I'm writing a green-field HTML5 app, and I don't derive any benefit from Javascript, is the interface between Ultralight and JavaScriptCore clean enough to just rip out the JS support altogether, replacing it with something simpler?

I'm picturing:

1\. I embed Ultralight into a process that exposes a simple script-loading API, ala the one in JSCore;

2\. I write HTML with no <script> elements, just elements with onclick/ontouch/etc. handler attrs, where these handlers just contain a UUID;

3\. Ultralight passes the "script code" (i.e. the UUID) to my trivial script- loading API, which simply looks up a native handler based on the provided UUID, and returns its function pointer;

4\. Ultralight holds onto that function pointer and treats it just like a regular thunkable Javascript handler function pointer.

In other words, all the "dynamism" of the HTML would be handled by native, static code in my compiled binary, with the only thing being set up at runtime being the binding of DOM elements to those known-at-compile-time native handlers. The QML/XAML/NIB approach.

<comment> c-smile Just in case you can do that with Sciter already.

In your CSS to define

        div.my { behavior:my-widget; }

While loading HTML that contains <div class="my"> you will get SC_ATTACH_BEHAVIOR callback with the DOM event handler reference. By handling SC_ATTACH_BEHAVIOR you will return DOM event handler (a.k.a. behavior) - <USER2> a native function pointer that receives all DOM events on that element: mouse, keyboard, etc.

That's the same mechanism as HWND and WndProc but with lightweight DOM elements instead of Windows.

Example of such behavior that implements panels with tabs container: [https://github.com/c-smile/sciter- sdk/blob/master/include/be...](https://github.com/c-smile/sciter- sdk/blob/master/include/behaviors/behavior_tabs.cpp)

</comment></comment></comment></comment><comment><USER18> Using HTML/CSS for UI design _on the web[0]_ makes sense in that you don't really have an alternative besides embeds like Flash, Java, etc.

But surely it's non-optimal for native applications that have direct access to the native renderer and GUI systems, or at least to limit them to HTML and CSS and not some more optimal domain specific subset of XML?

[0]assuming one accepts the premise that "web apps" should even be a thing, which I know is controversial on HN to say the least...

<comment><USER11> Pure HTML for UI is pretty shit, with Vue/Angular/React it's bearable to develop in (though now huge), but:

Everyone knows how to produce "fuck it, it works" results with it.

Everything (almost) supports it.

It already runs on the web.

<comment><USER18> That's a valid excuse for the web, but there's no reason we can't take what works about the HTML/CSS as UI model and make it work better for native applications. Just sticking to the web model because it's familiar is laziness.

</comment></comment></comment><comment><USER19> This got me excited as I will soon start working on a visualiser / developer tool for a niche industry. I am looking for desktop gui frameworks to build performant desktop apps with lot of visuals on the screen. Will give Ultralight a try along with some other suggestions in the comments.

In my app there will be lot of trees and mind-map style diagrams with traced signals. These will react to user input and as there is a change in state.

There is a need to support huge monitors or a multi screen setup so, I have currently ruled out Electron and looking at building a native tool as cross platform is not a priority.

Any suggestions are welcome.

I recently came across this excellent article comparing GUI frameworks [1]. It is definitely worth a read for anyone looking at building a serious desktop app. I have put my particular requirement in a longer format here if anyone is curious and has some suggestions [2]. [1]: [http://blog.johnnovak.net/2016/05/29/cross-platform-gui- trai...](http://blog.johnnovak.net/2016/05/29/cross-platform-gui-trai..). [2]: [https://pastebin.com/8SUpcgWJ](https://pastebin.com/8SUpcgWJ)

</comment><comment><USER20> Is there a video or screenshot anywhere, I wonder? I'd like to see it in action. Rendering HTML could mean a lot of things.

It's not clear how much of a browser they are reimplementing. Features include XSLT and local storage, scroll bars, "text selection and dragging"? While on the to-do list is "full GIF support" and "CSS shadows." It's such a mixture of things that doesn't sound based on what you'd minimally need for a game UI.

"We've stripped WebKit to the bare essentials" \- Sounds like maybe they took the non-rendering part of WebKit (eg layout) and wrote their own renderer(s)?

Fascinating.

<comment><AUTHOR> It renders most major websites fine, it's similar to WebKit with a few rendering quirks. Here are a few screenshots:

\- [https://ultralig.ht/screen1.png](https://ultralig.ht/screen1.png)

\- [https://ultralig.ht/screen2.png](https://ultralig.ht/screen2.png)

\- [https://ultralig.ht/screen3.png](https://ultralig.ht/screen3.png)

And yes, the renderer is completely new, this project has been in development for 4+ years.

<comment><USER21> i recommend putting screenshots of your acid test results right on your website. it's the first test people will run when evaluating your SDK anyway.

[http://www.acidtests.org/](http://www.acidtests.org/)

<comment><USER22> What? No major browsers pass Acid3 these days, AFAIK. Chrome and FF on my mac only get 97/100\. Who are these people still running acid tests?

</comment></comment></comment></comment><comment><USER23> I would really like to replace Electron. It's way too heavy for the types of things we want to use it for.

But two things make it extremely valuable:

1\. Ability to render css and js, so that web devs can build our app

2\. Easily cross platform. This is so valuable to us.

<comment><USER24> To add some weight on 2 - with Electron, you rarely have to even _think_ about platform differences, and just about everything you'll need to handle for a typical app (including installers, code signing, automatic updates, app linking, notifications, etc. et al) can be taken care of easily, either through core libraries or community libraries.

Electron isn't just Chrome in a box. It's a whole ecosystem of libraries that dramatically accelerate and simplify cross-platform desktop development.

Just because you can get another project running on all platforms, that doesn't mean the experience is going to be a smooth one. There are so many potential boondoggles lurking here. Do you really want to bet your company on something that uses less RAM or CPU but could easily confront you with problems like, hmmm, suddenly 43% of your Windows users can no longer update their apps and you have no clue why and the maintainers aren't responding on Github?

Electron has its faults, but if we want to build something better, we should also understand its strengths. Despite its performance drawbacks, it's an impressive technology that gets many important things right.

</comment></comment><comment><USER25> This is pretty cool. If you told me 20 years ago that the future of UI rendering would be GPU-accelerated HTML... I would have laughed. Heartily.

<comment> c-smile Why such a surprise?

20 years ago Windows had .dlg resources that define layout and content of dialog windows. .dlg is just a binary representation of serialized window DOM.

16 years ago Visual Basic had .frm files that are close to what now known as QML.

Et cetera.

So there is nothing new with markup defining UI structure. What is new and quite valuable is CSS with its declarativeness and cascading.

<comment><USER26> And all of those were/are easier to work with than picking a div and turn it into a component.

One gets to write a bit of CSS soup and then ensuring it works as expected across all target browsers.

</comment></comment></comment><comment><USER27> One interesting Google project which I think shares a similar goal (but is not quite so easy to port yet) is Cobalt.

It strips down a subset of HTML that can then be used to render UI across different base platforms. I feel like it could be a good starting point as well

[https://cobalt.foo/](https://cobalt.foo/)

I believe it's currently used by Youtube to render its HTML5 app on many set- top box devices

</comment><comment><USER28> This is proprietary, so it's a non-starter.

<comment><USER29> Care to elaborate why? I'm not affiliated with the project in any way. But if it works well and the documentation/support are there, why is it as completely unusable as you seem to claim? Your comment sounds like you're just fighting the holy FOSS war.

<comment><USER28> Because I see every piece of software like this as something I will inevitably have to dig deep into the internals of to fix bugs and send patches for if I were to adopt it. So should you.

<comment><USER29> By being so religious about the open source aspect only, you are blind to the many potential other benefits a project may have. But to each their own.

<comment><USER28> I don't think that's true. I've long worked with software both proprietary and not, and I find myself digging deep _all the time_. I shouldn't have to reverse engineer my dependencies to find out why they're broken. When I do figure it out, I should be able to send a patch so everyone benefits. Without these basic things in place, I simply cannot get work done.

The other advantages are not really important. If an open source offering is lacking something, I can just add it myself. If the proprietary version is lacking something, I cannot.

<comment><USER29> And what if what you're doing is just a quick, one month project? Is it likely you must absolutely dig into the sources then? I would say no. The fact is, your original comment completely fails to address or take into account the context of the individual project. You think you're being reasonable, and of course there are great advantages to open source. I too would prefer this library to be. But the dogmatism and fanaticism is not just offensive to the author who claims elsewhere in the thread that he spent 4 years on this, it's also irrational and leads to suboptimal results.

<comment><USER28> >And what if what you're doing is just a quick, one month project? Is it likely you must absolutely dig into the sources then? I would say no.

You would be surprised. I can't even count on one hand the number of times I've send a patch upstream within the first 2 hours of using a new dependency.

I don't really care how long he spent on it. It was a waste of 4 years if it's just going to be proprietary.

<comment><USER29> > It was a waste of 4 years if it's just going to be proprietary.

Dogmatism all over again.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> Now someone please explain why this isn't the electron-killer to save us all.

<comment><USER31> \- This sort of thing has existed for a while, and people still use electron [0], [1]

\- It doesn't come with a DOM implementation, so most existing js libraries won't work. EDIT: actually it does have a DOM implementation, which is awesome

\- Its API is in C++

\- People are lazy

[0]: [https://github.com/zserge/webview](https://github.com/zserge/webview)

[1]: [https://bitbucket.org/chromiumembedded/cef](https://bitbucket.org/chromiumembedded/cef)

<comment><USER32> \- Being a fresh C++ codebase, god knows what security vulnerabilities and stability issues it has.

\- D3D 11 and metal required. Most likely huge compatibility/stability/rendering issues across different graphic cards and driver versions.

\- Barrier to entry is one of the most important factors in a framework/library's success. You can't beat the Electron ecosystem where any idiot can make a cross platform app. This is really only useful for C++ developers.

<comment><USER33> > You can't beat the Electron ecosystem where any idiot can make a cross > platform app.

As an idiot, I can attest to this. I'm constantly looking for lighter weight alternatives, but nothing so far has been nearly as simple as Electron. Here's the list of options I maintain: [https://docs.google.com/spreadsheets/d/1dTZIp6z2J1IL7YgBlHG_...](https://docs.google.com/spreadsheets/d/1dTZIp6z2J1IL7YgBlHG_x68x0_zfecU0MTsjTXn1E3A/edit?usp=sharing)

<comment><USER34> Qml.Net [0] (I'm the author) is a pretty simple way to make a cross platform app. I think it's worth checking out.

[0] [https://github.com/pauldotknopf/Qml.Net](https://github.com/pauldotknopf/Qml.Net)

</comment></comment></comment></comment></comment><comment><USER35> Electron is bloated indeed, but it's open source.

<comment><USER36> Sure, it's not open source, but their licensing terms are quite generous. It's free for noncommercial use and for independent development (<$100k per year)[1].

Compare this to something like Qt, which is open source. But (as I understand it) it's LGPL licensed, meaning it can't be used commercially without paying the developer for a commercial license or releasing all the source code.

Of course, take this advice with a grain of salt. I've not really worked with Qt or Ultralight before, but I've been exploring my options for a project for a school club.

[1]: [https://discuss.ultralig.ht/d/6-ultralight-0-9-beta-now- avai...](https://discuss.ultralig.ht/d/6-ultralight-0-9-beta-now-available)

Edit: added source

<comment><USER37> That's not what LGPL means, no. It's not GPL.

<comment><USER36> Interesting. I thought Qt was dual-licensed using the (L)GPL and a commercial use license[1].

[1]: [https://www1.qt.io/faq/#_Toc_1_2](https://www1.qt.io/faq/#_Toc_1_2)

<comment><USER38> What they meant was that the LGPL is perfectly fine to use for commercial use, but you have to a) provide the source for just the library when requested (easy enough: provide a link), and b) allow for the program to run using a different or modified version of the LGPL library that's used.

That means you can dynamically link QT, and your program doesn't have to be (L)GPL. No commercial license required.

</comment></comment></comment></comment></comment><comment><USER39> Having worked with embedded WebKit in games before, this looks interesting. However, even more than binary size or runtime memory usage, I hope Ultralight optimizes for responsiveness. In games we're usually dealing with frame times on the order of 16 ms (or less for MR applications); any sluggishness in the UI immediately stands out. Often the UI masks more delayed gameplay feedback and for html/js to be viable as an embedded framework for games, it needs to be as fast as native implementations.

<comment><AUTHOR> To minimize latency, Ultralight runs on the main thread, single-process, and outputs to raw virtual GPU command buffers for consumption by the user. I worked in game engines before so I'm familiar first hand with responsiveness as a design goal.

</comment></comment><comment><USER40> What does "The new standard in UI." mean? As far as I know it's not really a standard until either many people are using it and/or it's ratified as a standard of some kind. Or is it saying that html is a standard? Is the implementation a standard implementation? If so how standard is it?

That's the largest text in the landing page and it's really confusing.

</comment><comment><USER41> I downloaded it and launched the Browser sample Xcode project, take a look: [https://vimeo.com/284388678](https://vimeo.com/284388678)

<comment><USER42> Tip: you can hold down cmd while clicking to interact with windows in the background.

</comment></comment><comment><USER43> Out of curiosity, why did Qt Quick not accomplish your objectives? I think it has a quazi-CSS/HTML/Javascript engine in the QML language

</comment><comment><USER44> I take it this allows applications to (safely) render simple html inside of their apps without having to include the whole webkit/chromium engines? Or is there something else more that I'm missing?

</comment><comment><USER45> What is the advantage of this compare to Sciter [1], which on the surface is very similar and lighter.

[1] [https://sciter.com](https://sciter.com)

</comment><comment><USER46> I'd like to see one of these based on servo.

<comment><USER47> Servo _is_ "one of these based on servo" :) Of course the embedding stuff is WIP just like Servo itself, but here's a few examples:

[https://github.com/paulrouget/servo-embedding- example](https://github.com/paulrouget/servo-embedding-example) [https://github.com/paulrouget/servoshell](https://github.com/paulrouget/servoshell) [https://github.com/antoyo/servo-gtk](https://github.com/antoyo/servo-gtk)

<comment><USER46> Having servo wrapped up with a nice api and sdk with a good up to date default example project is exactly what I mean. Just like electron/ultralight/sciter. These projects are great but they haven't been updated for over 6 months and they aren't designed for mass (developer) consumption. Not to disparage, even servo is still WIP so I understand that a ultralight-equivalent isn't possible right now, I'm just excited for when it does happen for servo. Don't downplay the value of packaging and documentation. :)

<comment><USER48> Last time I looked at Servo for the same purpose, the build was clocking at ~40MB. Unless something changes drastically, it's not gonna be any better than Chromium for Electron-type apps (except better performance).

<comment><USER46> I don't know if your figure of 40MB includes support for javascript, but if Servo offers native DOM apis that would let you omit all js-related dependencies. (I don't know if it will, hence "if".) Even at 40MB, with static assets like html templates, css, and images, and a compiled binary, you could probably package a full-featured app up at ~60MB, less if compressed.

I wanted to know how that stacked up against some of my favorite and most used apps on windows, so I made a list: [https://pastebin.com/KnkFcJXh](https://pastebin.com/KnkFcJXh) (sorry, it's a bit long for HN).

I'll be honest, if I could publish a native app that's blazing fast, is cross platform, and whose size sits between Paint.NET (40) and VLC (130), and is even a _fraction_ as useful as those two I would be downright ecstatic. I know for some people the final build size is a very important metric for native apps, and to those people I'm sorry. But if it's under 100MB and it uses about the same amount of ram I'm actually pretty ok with it, and I think a lot of others would agree with me.

<comment><USER32> > but if Servo offers native DOM apis that would let you omit all js-related > dependencies.

Nope. JS engine is deeply integrated in Servo. Thus it can not be much better than Electron.

</comment></comment></comment></comment></comment></comment><comment><USER49> I work at a company that has been doing a webkit-based GPU accelerated renderer for more than 4 years and we have great results powering many games with <1ms render times for many cases. Webkit however has a lot of intrinsic architectural limitations that we spent a lot of time trying to overcome. Now we are writing a new HTML renderer from scratch and our results are promising: 5x-12x faster than anything WebKit/Blink based. You can hear more about how that was done at CppCon 2018 ([https://cppcon2018.sched.com/event/FnKC/oop-is- dead-long-liv...](https://cppcon2018.sched.com/event/FnKC/oop-is-dead-long- live-data-oriented-design)). Also I would love to hear from people interested trying Electron-based apps with our tech.

</comment><comment><USER50> >…that only supports a tiny subset of HTML/CSS spec.

Which subset?

</comment><comment><USER51> This is awesome. I'm definitely going to use it for a project in the near future.

My personal favourite environment to solve the 'one codebase for all platforms' problem, has been .. MOAI. The reason is, it gives you everything you need from the browser/server relationship, with none of the bullshit; i.e. you use Lua for everything, and do nothing in HTML/CSS/javascript, etc.

Well, its been a nice ride. For my projects, MOAI has been very useful.

But with Ultralig.ht, the question is .. which part gets embedded in what. Naturally, it'll be a sinch to stitch UL->MOAI .. and with a nice result: can finally do business apps. ;)

</comment><comment><USER52> If this is based off of Chromium it may be required to be Open-Source. Unless the LGPL parts are dynamically linked, you must share the statically linked source just like with the GPL.

Regardless, I'm only interested if it is Open-Sourced.

<comment><AUTHOR> It's WebKit-based, not Chromium-based. The only LGPL component of WebKit is WebCore and we have open-sourced our WebCore module here: [https://github.com/ultralight-ux/ultralight- webcore](https://github.com/ultralight-ux/ultralight-webcore)

<comment><USER52> Glad to hear it. Too bad it's not all Open-Source. Otherwise, it's just another one of several preexisting closed source solutions.

</comment></comment></comment><comment><USER53> How does it compare with CoherentGT? [https://coherent-labs.com/coherent-gt- or-hummingbird/](https://coherent-labs.com/coherent-gt-or-hummingbird/)

</comment><comment><USER54> Hi, this looks cool! What's your ETA for Linux? Thanks!

</comment><comment><USER55> You say this is a hard fork, so how do you intend to maintain feature parity with new HTML rendering concepts. eg imagine CSS Grid had not been invented yet?

<comment><AUTHOR> We will be pulling upstream WebKit changes from the Safari stable branch into WebCore, so it's not a "hard hard" fork.

</comment></comment><comment><USER56> Is there any documentation here? How does styling work? Is there DOM manipulation? How is this useful at all?

<comment><AUTHOR> There was actual documentation for 0.8 [1] but the source for it was wiped by an erroneous rm -rf and I couldn't update it for 0.9 in time. Full documentation and tutorials will be published soon.

With that said, the SDKs include full samples and framework code and all the API headers are documented so you can get up to speed fast.

\- [1] [https://ultralig.ht/docs](https://ultralig.ht/docs)

</comment></comment><comment><USER57> it is really disappointing when I see open source projects refuse to use cross platform and vendor neutral APIs like Open0CL and go for Metal, direct3D or CUDA. please don't. you are defeating the purpose of free software!

<comment><USER58> Performance be damned!

</comment></comment><comment><USER59> very interesting. Would it be able to support games exported by Godot ? (they require webassembly and webGL) ?

[http://docs.godotengine.org/en/3.0/getting_started/workflow/...](http://docs.godotengine.org/en/3.0/getting_started/workflow/export/exporting_for_web.html)

</comment><comment><USER60> Couldn't find any documentation for OpenGL but it says macOS is supported - anyone know? I'd like to use this with SFML or GLUT.

<comment><USER26> macOS is supported via Metal.

</comment></comment><comment><USER61> Uh... Where is the documentation?

</comment><comment><USER62> I want to ask a dumb question: can Ultralight integrate with WebAssembly ?

</comment><comment><USER63> When it comes to Linux, will it utilize Vulkan or OpenGL?

<comment><AUTHOR> Definitely yes on an OpenGL GPUDriver implementation (it's done), Vulkan is still being explored.

<comment><USER64> +1 for Vulkan. Tell the exploration team to come back, Vulkan's here to stay.

</comment></comment></comment><comment><USER65> Hi I'm Andrew McWatters, I author lcef, LuaJIT FFI bindings for Chromium Embedded Framework at [https://github.com/Planimeter/lcef](https://github.com/Planimeter/lcef). I also work on Planimeter's Grid Engine, the largest 2D Lua game engine on GitHub. So, I'm fully invested in both exposing libraries to languages like Lua, and directly integrating those offerings with software.

So, while people are in here talking about Electron, which is most likely not your target audience and might be confused as a result, I am your target audience. I am looking for ways to move away from my engine's imperative UI system and to migrate to web-based UIs in an OpenGL setting, and I have been for years.

Adam, this looks great, and I've been waiting to see new solutions like this in the game development space for quite some time now. However, the only truly viable solution at the moment in my opinion is still CEF. The proprietary aspect is significant, and while some using Unity and Unreal might be interested based on existing license restrictions, for these reasons, I am not.

Can you explain how Ultralight is fundamentally different than projects like Awesomium and libRocket? It seems very similar to your previous work and not enough of a differentiator for someone like myself. Could you tell me why I wouldn't use EAWebKit instead of this?

I spent years as a Source Engine developer and avoided both projects because of their proprietary nature, and because of lack of updates to their underlying web browser libraries.

I fear this is a repeat of Awesomium, with a similar proprietary nature, and operating in a space where we will not see frequent updates to the underlying web libraries, regardless of using a subset of web technologies that UI developers would care about.

<comment><AUTHOR> Hi Andrew, thanks for the comment!

Trust me, no one is more familiar with the issues of Awesomium (cumbersome licensing, slow update schedule, bloat, etc.) than myself and it was this reason that I decided to start over from the beginning.

Awesomium was similar in scope to CEF (and actually predates it by many months), it's goal was to wrap Chromium and make it accessible via a pixel buffer instead of a platform window.

Chromium in its initial stages was very tight and focused in its scope and only supported a subset of the current web platform we see today, I think the first Awesomium DLLs were something like 18MB or less.

Over the years Chromium grew larger and accumulated more complexity to a point where it was no longer a web renderer but something closer to an OS platform. Many of the features added were somewhat irrelevant for users looking to render HTML as a frontend but downstream developers like Awesomium and CEF had no choice but to integrate their updates as a whole since we were de-facto wrappers.

Ultralight is different. It's a hard fork of WebKit and has a considerable number of differences tuned specifically for embedders (such as the Platform API and virtual GPUDriver). We have much more control over the project and will continue making design decisions that benefit embedding as a first-class use-case.

Reasons to use Ultralight over EAWebKit are ease of use, pure GPU rendering and performance (EAWebKit, last I checked, depends on Cairo for all its rendering), and the backing of an actual commercial company that will support and maintain the product for years to come.

<comment><USER66> Does Ultralight provide a pixel buffer or just on-screen rendering?

<comment><AUTHOR> Ultralight renders to a virtual GPU command buffer for later consumption by a user-space GPUDriver. We ship implementations of GPUDriver for D3D11 and Metal.</comment></comment></comment></comment>


The Philosophy of Computational Complexity - <AUTHOR> https://ristret.com/s/qk8wpt/philosophy_computational_complexity <comment><USER2> I'm still with Feinmann here.

If we somehow got a constructive proof that was useful, in anything less than Polynomia, it would probably have the effects being discussed.

But if the proof is not constructive, and doesn't really shed any light on how to concretely attack real cryptosystems, then it basically doesn't matter because it's still basically dependent on whether anyone can come up with a groundbreaking advance and keep it secret.

I think it also over-estimates the value of unbreakable crypto over unbreakable by your average criminal organization crypto. While we have good crypto, our computing systems are woefully insecure, and you can't have meaningful secrecy if your client is hacked, and yet we're largely doing fine. We have breaches and outbreaks, but they're nowhere near so bad that we're rethinking this whole tech thing. So if we can keep crypto to the level of breakage we have now with security, well, we're no worse off than we are today.

And practically, I think we'd be far better off than compared to today's security where we have tonnes of monthly patches by every vendor.

I think the difficulty of creating cryptosystems is a bit exaggerated in this piece; I think we haven't seen much diversity in the past, because diversity was bad for public cryptanalysis, but there are six different approaches listed on the wiki for post-quantum crypto: [https://en.wikipedia.org/wiki/Post- quantum_cryptography#Algo...](https://en.wikipedia.org/wiki/Post- quantum_cryptography#Algorithms)

One of which is pure-symmetric crypto infrastructure.

It was certainly interesting reading about the different worlds we could be in, and knowing this would be worthwhile, but I don't really feel like the pure knowledge of what world we live in by itself would have much impact.

<comment><USER3> _> I think the difficulty of creating cryptosystems is a bit exaggerated in this piece; I think we haven't seen much diversity in the past, because diversity was bad for public cryptanalysis, but there are six different approaches listed on the wiki for post-quantum crypto_

The difficulty is not really exaggerated, and diversity is still bad for public cryptanalysis. The main approaches of post-quantum cryptography utilize very advanced mathematics _and_ very different algebraic structure. We can use basic probability theory and game theory for basic modeling, but it's very hard for us to compare and contrast relative security for algorithms variously built over polynomial rings, modules, Galois groups, lattices, supersingular elliptic curves and error correcting codes. There is some linear algebra featured in all of this, but very few people are sufficiently well trained in all of these mathematics to consider them on equal footing.

Researchers don't like this diversity. It's hard to competently analyze the advantages and disadvantages of systems with wildly different mathematical underpinnings, and you have to keep up with a lot of new material just to stay competitive. In contrast the literature for hashes, block ciphers and stream ciphers is relatively sane and unified; and at least for classical public-key cryptography you only really have to wade into number theory. The result is that the research landscape of post-quantum cryptography is pretty fractured into tribes of mathematical lineage.

<comment><USER2> I'm not saying diversity is good, I'm saying that the community's preference for a single strand of work does a lot to explain why real crypto systems are based on a very small number of problems.

But, if these problems were found to have solutions that resulted in practical attacks, I don't think we would have as much difficulty finding a new problem to hang crypto on. Or at least not as hard as this article makes out by suggesting there are only 2 mathematical problems underpinning all of public key crypto.

</comment></comment></comment><comment><USER4> See also this fascinating paper by Scott Aaronson [1].

[1] Aaronson, Scott. Why Philosophers Should Care About Computer Science. [https://www.scottaaronson.com/papers/philos.pdf](https://www.scottaaronson.com/papers/philos.pdf)

<comment><USER5> That is linked in the article, where it says:

> First, computational complexity is not well-understood outside of computer > science, and this is a pity. Philosophers in particular should pay more > attention to computational complexity!

<comment><USER4> Thanks, somehow I totally missed that link.

</comment></comment></comment><comment><USER6> Fascinating stuff. Wonder if one could decisively prove that the world matches one of Impagliazzo's possibilities if and when P != NP is proved. Question for another time, I guess, but important nonetheless.

</comment><comment><USER7> > I'll bet you twenty one million bitcoin that we live in Cryptomania or > Minicrypt!

It doesn't count if it's your own fork...

Great post. I never saw much point in the question, before. I'm still skeptical, but at least it gives a plausible scenario.

</comment><comment><USER8> > an appeal to that favorite jackass of armchair physicists, Richard Feynman:

I'm not sure quite how to parse that. Especially coming from what appears to be an armchair physicist.

</comment><comment><USER9> The most meta philosophical analysis I've ever read. Like wow.</comment>


A Call for Scholarly Markdown - <AUTHOR> http://blogs.plos.org/mfenner/2012/12/13/a-call-for-scholarly-markdown/ <comment><USER2> asciidoc can do everything author is calling for in scholarly markdown

[http://www.methods.co.nz/asciidoc/](http://www.methods.co.nz/asciidoc/)</comment>


US Navy underwater laser development "changes everything" - <AUTHOR> http://www.strategypage.com/htmw/htsub/articles/20090910.aspx

<comment><USER2> I remember reading about the importance of sub-millisecond shutters in underwater photography. Apparently, if you time the flash and shutter _just_ right, you can get the light bouncing back from the target into the camera, but block all the light from in front of and behind the target, as well as ambient water particles . This apparently increases your visible distance underwater by twofold.

<comment><USER3> Note that here the laser is used to generate an _acoustic_ pulse, so the light is not used as a carrier, sound is.

Research in using lasers underwater for 40 years with the same result: little use other than for very short distances. Water absorbs the energy too much for lasers to be of use at long distances. And high power emissions only make you look like a searchlight, hardly something you want to do if you're in a submarine.

I cannot see that this "changes everything".

</comment></comment><comment><USER4> >> To do this, the sub releases a similar buoy through its garbage chute.

This is technically incorrect. The garbage shoot is for weighted trash that gets flushed vertically downward. If the sub were going to launch a buoy it would send it upward via one of its 3" signal launchers (used for flares, other buoys, etc.)

<comment><USER5> Though they did note that the buoy hovers for a while so the sub isn't below it when it rises to the surface. Considering the delay it could be deployed above or below the sub, but below may make more sense because it won't float up on its own.

</comment></comment><comment> Engine-uity I wonder if this technolgy will provide an alternative to communicating with satelites in space. I think using this underwater laser system is great because it provide security from signals being intercepted.

<comment><USER6> I don't believe this is relevant to ground-to-space communications. The way I read the article the laser pulse has a short range, ionising the water in the vicinity of the buoy, which creates sound waves which emanate out to wherever the sub is. The laser isn't bouncing back and forth from sub to buoy.

As the communication is via sound and not laser it also means that anyone else in the vicinity could intercept the message. Strong encryption and authentication would still be required.</comment></comment>


Do Us a Favor and Read About This Social Start-up Called Favo.rs - <AUTHOR> http://allthingsd.com/20110610/do-us-a-favor-and-read-about-this-social-start-up-called-favo-rs/

<comment><USER2> People tend only do things like this for people they actually know and not for acquaintances on the 5th or 6th degree of separation. Seriously, this isn't a startup. Its not a business. Its a potentially nifty tool that nobody is going to pay for.</comment>


The mystery of Kawasaki disease - <AUTHOR> http://arstechnica.com/science/2015/06/the-mystery-of-kawasaki-disease/ <comment><USER2> The consequences of Kawasaki - especially if undiagnosed - are severe. Coronary artery ectasia, which infrequently persists, can lead to spontaneous coronary thrombosis in otherwise young healthy adults. In other words, healthy young adults can develop heart attacks as a consequence of this disease. This is documented in the article, but I'll emphasize that it's something we see (albeit rarely) in the real world.

</comment><comment> K-Wall Never expected to read an article about this on HN. I had Kawasaki's and was extremely lucky that my doctor recognized it from another case they had with a boy from the next town over.

</comment><comment><USER3> I suffered from this disease in Montreal, Canada at the age of 5. It came on as Scarlet Fever. Eventually entire portions of my limbs were 'peeling'. The skin on my tongue peeled towards the end - that was neat...

Nothing quite like being an early case for that particular city and having doctors ask an 8 year old if they can photograph him...

Edit: What's really interesting is that a friend's cousin, only a few blocks away from where we were living was apparently diagnosed with the same thing only a few months prior.

<comment><USER4> I also suffered from this in Fukuoka at the age of 4, I also remember that peeling stuff, really scary.

</comment></comment><comment><USER5> When I read the article, I thought "surely this disease would have been on House, M.D.". And it was: [http://house.wikia.com/wiki/The_Confession](http://house.wikia.com/wiki/The_Confession)</comment>


The Christopher Walken App - <AUTHOR> http://founderama.com/2011/the-christopher-walken-app/ <comment><USER2> Tie that in with "more cowbell" for the killer Christopher Walken App.</comment>


Cyberthieves Looted A.T.M.'s of $45 Million in Just Hours - <AUTHOR> http://www.nytimes.com/2013/05/10/nyregion/eight-charged-in-45-million-global-cyber-bank-thefts.html?src=twr&_r=0

<comment><USER2> It's funny that they put in all this technical effort and just ended up laundering the money in the same crappy way that drug dealers in the '80s did. I would think they could have found a better way then just buying expensive things.

<comment><USER3> I was a bit confused by that part of the article. It mentioned "Rolex watches and expensive cars" as examples of the things bought to launder the money. But both of those have unique identifiers (rolex S/N, car VIN) which in both cases is recorded on sale. Surely that makes them terrible ways to launder money? Am I missing something?

</comment></comment><comment><USER4> Millions taken and all they've impounded so far is a couple of cars and watches? I was expecting ... more.</comment>


Defense Department: The War on Terror Has Cost $250M a Day for 16 Years - <AUTHOR> http://www.ibtimes.com/political-capital/defense-department-war-terror-has-cost-250-million-day-16-years-2608639 <comment><USER2> It seems wrong to categorize the war in Iraq as part of The War on Terror(ism), since Iraq wasn't involved in 9/11\. The best explanation I ever found as to why the US went to war in Iraq was in the article below. It basically says that the Neoconservative faction of the right wanted to bring democracy to the middle east long before 9/11, but 9/11 was their opportunity to actually do it. Here's an excerpt:

"Neoconservatism, which had been around for decades, mixed humanitarian impulses with an almost messianic faith in the transformative virtue of American military force, as well as a deep fear of an outside world seen as threatening and morally compromised.

This ideology stated that authoritarian states were inherently destabilizing and dangerous; that it was both a moral good and a strategic necessity for America to replace those dictatorships with democracy — and to dominate the world as the unquestioned moral and military leader.

Neoconservatism's proponents, for strategic as well as political reasons, would develop an obsession with Saddam Hussein's Iraq. That obsession would, by the end of the decade, congeal into a policy, explicitly stated: regime change.

Their case was always grandly ideological, rooted in highly abstract and untested theories about the nature of the world and America's rightful place in it. Their beliefs were so deeply held that when 9/11 shook the foundations of American foreign policy, they were able to see only validation of their worldview, including their belief in the urgent need to bring democracy to Iraq.

It was this ideological conviction, more than any piece of intelligence or lie told about it, that primarily led America into Iraq. Weapons of mass destruction were the stated justification, but they were never the real reason, nor was bad intelligence."

[https://www.vox.com/2016/2/16/11022104/iraq-war- neoconservat...](https://www.vox.com/2016/2/16/11022104/iraq-war- neoconservatives)

<comment><USER3> [https://www.theguardian.com/world/2002/oct/07/usa.iraq](https://www.theguardian.com/world/2002/oct/07/usa.iraq) : transcript of speech by George W Bush.

"Many Americans have raised legitimate questions about the nature of the threat, about the urgency of action. Why be concerned now? About the link between Iraq developing weapons of terror and the wider war on terror.

...

Over the years Iraq has provided safe haven to terrorists such as Abu Nidal, whose terror organization carried out more than 90 terrorist attacks in 20 countries that killed or injured nearly 900 people, including 12 Americans.

Iraq has also provided safe haven to Abu Abbas, who is responsible for seizing the Achille Lauro and killing an American passenger. And we know that Iraq is continuing to finance terror and gives assistance to groups that use terrorism to undermine Middle East peace.

We know that Iraq and the al-Qaida terrorist network share a common enemy: the United States of America. We know that Iraq and al-Qaida have had high-level contacts that go back a decade."

(The question of how much of this was subsequently found to be true or false is a different one, but a key characteristic of the War On Terror is the use of lies or misleading generalisations to maintain the war)

</comment></comment><comment><USER4> Includes the cost of paying and feeding troops. Presumably you have to pay and feed them if you aren't at war and they're playing cards and doing drills in established US bases and hopefully acting as a deterrent to war?

I'd like to see the actual marginal cost of the war on terror that excludes money that would have been spent on defence anyway (spent anyway rightly or wrongly, this isn't judgement about whether that spending should have gone up, down or flat).

BTW the war against Iraq absolutely was "War on Terror" It was sold as such with "Weapons of Mass Destruction" That justification being entirely false and knowingly to those who made it is beside the point, without the War on Terror existence and used as a justification it is reasonable to assume the Iraq invasion doesn't happen.

<comment><USER5> The wiki page for the US Defence Budget has graphs[0]. One shows the per- capita expenditure appearing to trend downwards over the very long term[1] but still showing an obvious bump for the gulf war and the 'War on Terror', another highlighting a doubling of spending since the after the Gulf War in absolute terms[2] and a less pronounced jump when adjusted per capita[3]

[0] [https://en.wikipedia.org/wiki/Military_budget_of_the_United_...](https://en.wikipedia.org/wiki/Military_budget_of_the_United_States)

[1] [https://www.usgovernmentspending.com/spending_chart_1792_201...](https://www.usgovernmentspending.com/spending_chart_1792_2017USp_18s2li011lcn_30f_Recent_Defense_Spending)

[2] [https://en.wikipedia.org/wiki/File:InflationAdjustedDefenseS...](https://en.wikipedia.org/wiki/File:InflationAdjustedDefenseSpending.PNG)

[3] [https://en.wikipedia.org/wiki/File:PerCapitaInflationAdjuste...](https://en.wikipedia.org/wiki/File:PerCapitaInflationAdjustedDefenseSpending.PNG)

</comment></comment><comment><USER6> Sounds like a win for the other team.

</comment><comment><USER7> The war on the constitution is a better moniker.

<comment><USER8> Nowhere in the Constitution is there listed a right to use drugs.

[EDIT] maybe I need to read better

<comment><USER9> Where did drugs come from? I know most of use don't bother to read the actual article but maybe we should at least read the whole title.

<comment><USER8> I read the title as War on Drugs. Then, like I normally do, I read the comments before the article, and posted that comment before reading.

</comment></comment></comment></comment><comment><USER10> It was defense that was part of why US went off the gold standard.</comment>


Dump4chan - <AUTHOR> https://github.com/RosettaStoned/dump4chan/ <comment><AUTHOR> Simple perl script used to dump files from 4chan posts in async and non- blocking manner thanks to AnyEvent</comment>


Put an end to GitHub graveyards – Find a sales partner for your project - <AUTHOR> If you're a programmer like me, you probably have a github graveyard of your own filled with inspired projects you envisioned being "the next best thing" that will make you rich.
Somewhere along the line, you realized that the one-man (or one-woman) show is a steep uphill climb and your inspiration slowly fades.
If you: - Love to build but don't have time to sell - If you want to build products, sit back, and watch the money flow in - If you are about to take down your servers and add to your graveyard
My next project might interest you.
The idea is: Post your side projects.  Connect with someone interested in selling.  You build.  They sell.  Split the profits or do it for the love of the game.  Get some traction for your side project by finding a seller willing to go out and sell your project.  You can both make a good chunk of change on the side.
PUT AN END TO GITHUB GRAVEYARDS.  GET PAID FOR YOUR WORK!
I'd love some feedback.  If you're interested, I'll have an MVP up in a week or so.  Let me know if you'd like to connect with me to help out, give feedback, or tell me what a stupid idea this is! <comment><USER2> Recruiting and managing sales people when you don't have sales experience is a challenge (same with devs). How do you plan to manage that?

<comment><AUTHOR> That's a good point and definitely a source of contention from both the sales and dev perspective and I'm definitely open to ideas about how to help with this, if you have any feedback.

The way I see it is from the sales perspective, you get access to great products that have sales potential. It gives a seller the ability to make extra cash on the side, while the dev is granted the luxury of being able to focus on what they do best. Build.

Several apps out there are hyper focused on building teams, businesses, and finding co-founders. This proves very difficult for the exact reasons you mentioned, among others.

The main focus of this app is getting the underground projects a chance at the lime light. Connecting dev and sales in a way that they can give their projects life (and make some money doing it). It's not attempting to "find the perfect cofounder" or "build the perfect team" but simply to connect the right people, with the right skill-sets to get projects off the ground (and make money doing it).

</comment></comment><comment><USER3> The idea is good. I am sending another project to graveyard. And all of the developers that are here having the same problem.

But in my experience nobody cares about our projects as much as we do.

<comment><AUTHOR> No! Our graveyards are too big as it is!

I'm half kidding, half serious. I found myself in your exact position several times before. Often times, the reality isn't that "nobody cares about our projects" but really that they haven't seen enough love from "other side".

As developers, we excel at building great products. We often think that a great product will sell itself, and that people will be excited to buy after just hearing about what we have to offer. I've definitely found myself in this frame of mind time and time again, I've found that this simply isn't the case. Even the greatest products in the world needs some love from the sales/marketing fronts, and without that, it's particularly difficult to "get people excited" about what you have to offer. Thinking that "nobody cares about our projects as much as we do" is something that I have found particularly destructive to my project success and progress (and often leads to a larger graveyard). Hopefully my app can help projects like ours get a chance at some traction and get people to care!

END THE GRAVEYARD! GIVE YOUR PROJECT A CHANCE AT THE LIME LIGHT!

Very pumped to get some developer feedback here as well, much appreciated! I'll post the app soon, let's get your graveyard back up and running!

<comment><USER3> Great, but if the problem is marketing, how do you market it? Loool

<comment><AUTHOR> One of the hardest parts! Marketing and sales are big time consumers that take away from my ability to build great products. And to be honest, my skill sets lie elsewhere.

I'm hoping that this app can help developers with the sales, and with a few successes and iterations on the idea, help with marketing too.

Initially I'd like the app to be very clean and focused, which is why it's limited to connecting only dev and sales for now. So many other apps have too many options and are focused on "building teams" or finding "co-founders". This app's goal is simple:

Let's get dev some help, and give sales some side hustle opportunities.

They both have incentive to help each other out, bring great projects to life, and make a few extra bucks while they're at it.

</comment></comment></comment></comment><comment><USER4> this is actualy a very interesting idea. Ghost engine and Salesory type outsourced selling but based on projects. If you get the incentive design right it could be huge. Also I volunteer to be your first user from the sales side.

<comment><AUTHOR> Woo! Our first seller! Appreciate the feedback. I'll be sure to post the app here in a few weeks and help you get connected with some great developers and projects!

I'm happy to hear about Ghost Engine and Salesory, since it seems to show some demand for the type of "outsourced" or "freelance" sales that this app would be tailored to.

The sales incentive design will definitely be a huge contributor to the success of this project. If you have any feedback on incentive designs that you know are successful or that you would like to see, please let me know!

</comment></comment><comment><AUTHOR> If you're interested in this project, I made some surveys to try and drive more feedback. Help me out!

Sales Survey: [https://www.surveymonkey.com/r/VTMT6TC](https://www.surveymonkey.com/r/VTMT6TC)

Developer Survey: [https://www.surveymonkey.com/r/37H5XBC](https://www.surveymonkey.com/r/37H5XBC)

</comment><comment><AUTHOR> Got the MVP up and running today! Please give it a try and let me know how it goes! Any and all feedback is much appreciated!

www.githustle.com</comment>


Who Really Owns Your Drones? - <AUTHOR> https://www.eff.org/deeplinks/2015/02/who-really-owns-your-drones

<comment><USER2> This is the world if tomorrow.

You cannot buy it but you have a lifetime rental agreement.

It cannot be bequeathed.

Your device is not yours but is owned by ACME Inc and all content is accessible by Big Brother Global Corp. Your preferences and deepest inner thoughts and desires shall be sold to the highest bidder, sliced, diced and abused for profit.

The services are 'free'.

Do not dissent. You cannot win.

Death can set you free. Your memories remain our property.

</comment><comment><AUTHOR> Echoes of Cory Doctorow's talk The Coming War on General Computation, [https://www.youtube.com/watch?v=HUEvRyemKSg](https://www.youtube.com/watch?v=HUEvRyemKSg)</comment>


IBM can use Twitter to track you down - <AUTHOR> http://www.itechnote.com/2014/03/ibm-can-use-twitter-track/

<comment><USER2> Blog spam. Original article is here: [http://www.technologyreview.com/view/525741/how-your- tweets-...](http://www.technologyreview.com/view/525741/how-your-tweets- reveal-your-home-location/)</comment>


Why cities keep growing, corporations and people die, and life gets faster - <AUTHOR> https://www.edge.org/conversation/geoffrey_west-why-cities-keep-growing-corporations-and-people-always-die-and-life-gets <comment> et-al > _The picture emerges. Companies are more like organisms. They grow and > asymptote. Cities are open ended._

Geoffrey West's point about growth doesn't seem to mention the competition for resources. That's one of the reasons why corporations and organisms slow down. Companies evolve to gain market share, but so are their competitors. In addition, we have anti-trust laws that do limit these companies. And what is his definition of a corporation? Where do holding companies and conglomerates fit into this model?

With regards to cities, they also deal with constrained resources, both financial and natural. At some point, the megalopolis of LA won't be able get enough water or power to it. We haven't felt it yet due to engineering and the Water Wars, but I question whether sprawl of that scale is sustainable.

And its easy to make this assumption of cities with unlimited growth if you happen to live in a thriving one, but let's not forget White Flight and dystopias of the 80s. Cities grow because people need/want to live in them, so they can easily die when they become inhospitable. As San Francisco becomes more like Manhattan, would people want to stay?

<comment><USER2> > As San Francisco becomes more like Manhattan, would people want to stay?

i don't know if the existing residents will want to stay, but i think many more people overall would want to live in a manhattan of the west coast, as evidenced by the manhattan of the east coast which people keep moving to.

<comment><USER3> > I don't know if the existing residents will want to stay, but i think many > more people overall would want to live in a manhattan of the west coast

So go build "Manhattan of the West Coast" somewhere else on the coast, and leave San Francisco alone.

<comment><USER4> I'm laughing at your NIMBYism, but some big city along the northern California or southern Oregon coast would make the corridor from Vancouver to San Francisco more contiguous, which could help to justify a high-speed rail line.

<comment><USER3> > I'm laughing at your NIMBYism

San Francisco ain't my backyard, by a long shot.

> some big city along the northern California or southern Oregon coast would > make the corridor from Vancouver to San Francisco more contiguous, which > could help to justify a high-speed rail line.

AFAIK, the geography of the Northen California to Southern Oregon coast isn't real conducive either to a high-speed rail line or a big city.

(If you want a Manhattan of the West Coast, it probably would make more sense to try to build it in the LA area, where an extra couple million people packed in a tight area would still obviously require radical new local infrastructure where it came together, but wouldn't be as significant of a relative increase in demand on _regional_ infrastructure.)

<comment><USER4> Just protective of San Francisco, then?

Given that the probability of a new big city on the West Coast is effectively zero, I felt comfortable ignoring real limitations of that plan. In reality, of course, water, seismicity, and erosion put a damper on any attractive hypothetical options.

<comment><USER3> > Just protective of San Francisco, then?

It just doesn't make sense to transform a city to something its residents don't want because someone _else_ has an aesthetic preference for it to exist somewhere.

<comment><USER5> And I'm sure many complained when the buildings and prices of Manhattan kept climbing. The transplants to a city sooner or later become its natives, with their own desires and aesthetic preferences.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Standard physicist bullshit, wandering over to "fix" another field. "Oh, we can just treat any complex system as a parametric model. These idiots don't know how to do parametric modeling like we do!" _Noodles around a bit, encounters insurmountable complexity of system, grows bored and wanders off..._

At the end of the day this is someone forcing his bad analogy down our throats while wearing a cloak made of mathematics.

<comment><USER7> Wait. Don't tell me. You're an anthropologist, and your significant other eloped with a physicist. Otherwise how do we explain your hissy fit?

> _grows bored and wanders off..._

Before even 30 SECONDS of the video is up West says he's been doing this for _10_ to _15_ YEARS. And there's a team of EIGHT of them (at least) [http://www.santafe.edu/research/cities-scaling-and- sustainab...](http://www.santafe.edu/research/cities-scaling-and- sustainability/) and if you had listened to the video you would have heard him say that one of them is an _urban economist_ which last time I checked tend to work on complex adaptive systems.

> forcing his bad analogy down our throats

How do I say this? What are you smoking?

</comment></comment><comment><USER8> This was interesting. I'm glad someone is applying some rigorous thought to an observation many of us have made, namely that organizations (broadly defined, civilizations to companies to ideas) appear to have similar lifecycles to organisms.

I think there's a lot of gold to be mined in the seams between disciplines.

<comment><USER7> I think first of all we need to make a catalogue of the organisations and systems that surround us. Then we can start measuring.

For instance, I would not have thought of a city as a social system. It is clear that a city is a very different beast to a corporation though both are types of social systems. What other types of social systems are there? And how do they behave? Do they all exhibit such stark universality when you look at them as space-filling fractal networks of social communication?

What about the military? Does it behave like a city or a corporation? What about the civil service? What about universities? And so on, and so on.

What about the internet? Is that one giant social system? If so, what type? Or does it just count as infrastructure?

Even though the video was fascinating and thought provoking I feel I have many more questions now than I did beforehand.

> I think there's a lot of gold to be mined in the seams between disciplines.

I think you're absolutely correct.

</comment></comment><comment><USER9> Brings to mind Urban Fortunes: The Political Economy of Place and their idea of the "Growth Machine", from my public policy and planning classes in college:

[https://books.google.com/books?id=XtIMclQwMY4C&printsec=fron...](https://books.google.com/books?id=XtIMclQwMY4C&printsec=frontcover)

[https://www.amazon.com/Urban-Fortunes-Political-Economy- Plac...](https://www.amazon.com/Urban-Fortunes-Political-Economy- Place/dp/0520254287)

Would recommend to anyone remotely interested in the growth, creation, and destruction of cities.

</comment><comment><USER10> Those looking for meatier content should check this out:

[http://www.santafe.edu/research/cities-scaling-and- sustainab...](http://www.santafe.edu/research/cities-scaling-and- sustainability/)

Also look at the "Key Papers" section.

</comment><comment><USER11> I don't think the example of metabolic rate changing with scale is as interesting as Geoffrey apparently thinks it is. Natural selection doesn't produce organisms that are "all over the map"\-- for example, the mitochondria of a human are not that different from those of a rat, or even an earthworm. Natural selection keeps tweaking the same designs. Often this results in solutions that aren't optimal. For example, maybe a cheetah would be a better animal if it had wheels. But they don't, because evoluation is a kind of hill climbing and You Can't Get From Here to There (tm).

Larger organisms don't need to generate as much heat as smaller ones, because heat dissipation occurs across surface area, which increases as the square of mass, whereas heat generation increases as the cube (assuming a spherical cow, but close enough.) This isn't particularly deep or profound, just basic physics.

New York isn't a whale, and Microsoft isn't an elephant. This whole thing just reminds me of the endless, pointless debates comparing Linux to a truck, and Windows to a car, that people used ot have on Slashdot years ago.

<comment><USER12> >Larger organisms don't need to generate as much heat as smaller ones, because heat dissipation occurs across surface area, which increases as the square of mass, whereas heat generation increases as the cube (assuming a spherical cow, but close enough.)

Except that hypothesis doesn't predict the correct exponent. If that were the reason metabolic power would scale as mass^(2/3), but it actually scales as mass^(3/4).

[https://en.wikipedia.org/wiki/Kleiber's_law](https://en.wikipedia.org/wiki/Kleiber's_law)

West's space filling fractal hypothesis predicts _dozens_ of non-obvious scaling laws, not just metabolic power. [http://www.youtube.com/watch?v=DFFVSvAr7Wc](http://www.youtube.com/watch?v=DFFVSvAr7Wc)

>the mitochondria of a human are not that different from those of a rat, or even an earthworm.

West is acutely aware of this. In the talk I linked above he describes biological lifespans in terms of the relationship between the energy required to synthesize ATP and kT (ie the Boltzmann constant times ambient temperature, being the average energy of a particle due to random thermal motion).

The trick is in explaining quantitatively why those universal biological facts scale over size and time with the sometimes bizarre scaling factors observed. It does boil down to physics of course, but there's a lot more to it than just heat dissipation.

<comment><USER11> That's a fair point-- a naive hypothesis based only on heat dissipation won't predict the correct exponent. My criticism was basically mostly about the lack of citations in the article to all the earlier people who have thought about these problems, as well as the idea that finding patterns in biological or anthropological data was somehow new and revolutionary. Maybe the article snipped a lot of the context of Dr. West's own writings-- that would be typical for science journalism.

</comment></comment></comment><comment><USER13> While the read started off in a very interesting manner, it got too general for my taste quite quickly. You can only brush away so many details before I start to question where your facts are coming from.

</comment><comment><USER14> I wish there was more content here than a few mentions of different scaling laws. It's interesting that cities and organisms have similar infrastructure scaling, while corporations and cities are different. However, I think there are some real outliers... SiliValley is an outlier as low density, high growth, high invention. If you asked me why, I'd say the tech focus: Moore's Law, Nielsons's Law, and Social Networks.

In particular, what I found missing and he doesn't talk about is the Internet and what it means for the effective distance between, people, companies, employees, etc. Because that is overlaid on our physical structure (like phone lines for pizza delivery), it will change the power laws. Depending on the uptake, it may change them more locally than the global average.

</comment><comment><USER15> From the article:

 _One of the bad things about open-ended growth, growing faster than exponentially, is that open-ended growth eventually leads to collapse._

 _How do you avoid that? Well, how have we avoided it? We 've avoided it by innovation._

 _There 's a theorem you can prove that says that if you demand continuous open growth, you have to have continuous cycles of innovation._

 _Theory says, sure, you can get out of collapse by innovating, but you have to innovate faster and faster._

 _The question then is, is this sustainable?_

<comment><USER16> > Well, how have we avoided it? We've avoided it by innovation

Depends what period you look at and what extent of collapse you're looking at.

Look at the history of civilization and it seems to be a series of growths and collapses. After a collapse a formerly backward region will spring ahead.

So have we avoided it, or are we just delaying it? We seem to be generating some global scale problems from that industrialisation and innovation (plastics, oil, environment and so on). Can we innovate our way out of those fast enough and on a large enough scale? Perhaps the next crash just gets to be harder as a result.

<comment><USER12> >So have we avoided it, or are we just delaying it? ... Perhaps the next crash just gets to be harder as a result.

In fact, this is exactly what West suggests (just not in this relatively puffy treatment of his ideas).

He's compared societal progress to a series of treadmills. In order to keep up with the necessary economic growth rate the treadmills are constantly getting faster (evolutionary progress) and we periodically have to jump from one treadmill to another (revolutionary innovation) and we must switch treadmills at an ever-increasing pace (shortening technology cycles). The problem of course being that you eventually have a heart attack.

[http://www.youtube.com/watch?v=DFFVSvAr7Wc](http://www.youtube.com/watch?v=DFFVSvAr7Wc)

</comment></comment></comment><comment><USER17> It's interesting to find larger underlying principles of these systems.

I wonder if anything could be said about leadership... I don't want to delve too deep into politics, but there are many people who think running a country/city is like running a company and that electing a leader with business skills would be a boon for the country. However if these systems have fundamentally different underlying behaviors, maybe it wouldn't necessarily work the same...

</comment><comment><USER18> These kinds of analysis tend not to work because GDP is really not a very objective measure or anything. Value is very relative. It's entirely possible that 100% of those people are sad living in the city and would rather live elsewhere, but due to economic issues, cannot. They continue to 'consume'. Were they to live in the country, maybe their 'consumption' would be less, but the real value they ascribe to 'peace of mind' and 'clean air' is much higher. Since there is no 'cost' and no 'exchange of currency' \- there is no measure of value created.

The GDP is a very crude thing.

<comment><USER19> GDP is barely mentioned, as one of many metrics they look at. And he acknowledges many issues entailed in urban living. You seem to be pushing against a point the article isn't making.

<comment><USER18> Whenever he talked about 'wages' or anything like that, it's de-facto talking about GDP. All economic value in an economic zone = GDP. ( _roughly_ ).

i.e. 'Cities have higher wages' etc. Well, the statement is false depending on how you value wages via their purchasing power of things like 'silence' and 'clean air'.

</comment></comment></comment><comment><USER20> Let's not forget: Mohenjo-Daro [1]

I wonder, do we call it a city that kept growing?

[1] [https://en.wikipedia.org/wiki/Mohenjo- Daro](https://en.wikipedia.org/wiki/Mohenjo-Daro)

</comment><comment><USER21> I only listened to half the interview, but my impression is that this guy is basically reinventing the wheel, all those theories already exist in various fields of social science.

</comment><comment><USER22> So why is GM still dominating the market?

<comment><USER23> For the same reason that Detroit keeps growing.

<comment><USER22> Outdated anti competitive car dealership laws?

</comment></comment></comment><comment><USER24> Scale is underrated.

</comment><comment><USER25> Why should I care what a physicist reckons about cities?

<comment><USER26> Why should I care what wcummings reckons about what physicists think about cities?

Because smart people with different backgrounds talking together provide interesting insights, unless you simply dismiss them immediately with out listening.

<comment><USER27> To be fair to parent, after reading the submission title, I expected content a bit richer in facts, figures, and examples, not some smart dude's essay. Or if it were some smart person's essay, lacking those things, I'd expect that person to be something of a specialist in the field.</comment></comment></comment>