Developing Our First iOS App with React Native - <AUTHOR> http://code.hireart.com/2016/02/24/react-native-ios-app/ <comment><USER2> Truthfully, the language barriers are _nothing_ next to the API barriers dealing with your platform of choice. I am probably giving away my age here, but there's very little that's new under the sun after you've tussled with... say one each of the big three language families. These being: Nasty old C (not going anywhere, ever. Deal with it.), modern scripting languages (Ruby, Python, et al) and the real deal functional languages (lisp, ml, haskell, etc). It just turns into "Oh, this is how they handle an array. Do I have any functional plumbing? Ok, great. How do I dispatch a thread? Ok, let's go." It's just not that interesting after a while.

Objective-c is quirkier than most, swift is nice but still baking, but it really all boils down to the platform APIs. And you're gonna have to get wet at a platform level if you want to provide functionality beyond a mobile web page. (Albeit one with improved load times since it's coming from disk, at the cost of dynamic updates since it's coming from the app store.)

<comment><USER3> i agree with you, although i think you are forgetting to add (and maybe it is implied here and i missed it) that learning mobile development requires you to not only learn new language APIs in objC/swift, but you also have to learn some new design patterns (delegation, etc.) and most importantly the SDKs (CocoaTouch)

if you can use react native and avoid learning a lot of this it is a big win - I havnt used it yet, and I have a hard time believing it a mobile only company would use it to build their mobile app, but i am excited where it is going.

<comment><USER4> > _learning mobile development requires you to not only learn new language > APIs in objC /swift, but you also have to learn some new design patterns > (delegation, etc.)_

Delegation has been a standard feature of desktop APIs for decades. Not just on things like Smalltalk and ObjC -- it has been the standard .NET model for UI events since C# 1.0.

<comment><USER5> sure but the majority of developers writing code write webapps. Some there are some desktop apps out there but not a lot.

<comment><USER6> Going to need a source on that 'majority' of which you speak of as if its a fact. Sure, web development is popular, but there are a _lot_ of developers working on other things (which potentially include delegation). Also, I'm sure you'll many web frameworks that use the delegation pattern.

</comment></comment></comment></comment></comment><comment><USER7> React Native is pretty awesome - especially if you've got a web version of your app. At work, we use React Native for our iOS application - and are able to share pretty much all the store & action creators logic for our web (and desktop) app. It's been pretty huge as all our iOS engineer (we only have one!) really has to do is do the view specific stuff for iOS, the rest being shared with the web/desktop version. Also, our engineers that work on the web application can contribute to the iOS app with ease too.

Our general product iteration strategy involves building it on the web version and then porting it to iOS fairly quickly. For a chat application, our stores handle a lot of data, so it's been awesome to have that code shared.

React Native's bridge is also alright. We bridge with Component Kit for the chat messages view & WebRTC for the voice side of things fairly easy from JS.

Also, being able to update the bundle w/o doing an App Store update is pretty big too.

Here's the app if anyone wants to try it: [https://itunes.apple.com/us/app/discord-chat-for- gamers/id98...](https://itunes.apple.com/us/app/discord-chat-for- gamers/id985746746?mt=8)

<comment><USER8> Just wanted to say Discord is awesome!

I didn't play on-line for years, last time I did regularly, the standard for voice communication was Ventrilo/Teamspeak. When I first used Discord a couple of months ago, I was just shocked. It has a _decent_ webapp. I can create my own server for free. It takes less than a minute to get going. It just works.

Truly amazing work, keep up

</comment></comment><comment><USER9> On a more technical note - I'm exploring React Native (having significant experience shipping native iOS Apps) and while on the face of it React Native looks amazing, as I go deeper into building something production quality, I've hit roadblocks with doing simple (natively) things like scrolling a scroll view to focus on a text field that's partially visible and changing the offsets of a scroll view to prevent the keyboard from masking the focused text field in a way that doesn't appear glitchy.

Did you encounter any such problems?

<comment><USER10> I've implemented one solution to this in FB's Groups App. Try that experience out and let me know what you think. Also, Nick Lockwood should comment here.

<comment><USER11> Is the solution something you can share on a general level? Would love to see how you approached it.

<comment><USER10> It's not incredibly advanced: It mostly just consists of measuring where exactly the current text box is in the scroll view, how high the text box is, and then having the scroll view scroll to that location, followed by fading in a docked text input right on top of the underlying one. It's pretty slick, but I'd encourage the community to recreate it in a reusable component and open source it.

</comment></comment></comment></comment><comment><USER12> > Learn once, write anywhere

What's most amazing to me about React Native was how quickly we were able to go from idea to product (~3 months working only part-time) using our existing knowledge as web developers. We did have to write a few lines of Objective-C here and there, but for the most part all of the views and interactions fell together the same way a webapp would.

<comment><USER13> As someone who is about to embark on a similar route, that's interesting and exciting to hear. Was it both Android and iOS? If so, how much of the codebase/time was spent on shared code versus needing to write platform- specific portions?

I've seen the Facebook post about developing Ads Manager (though it glosses over some details), but it would be interesting to hear other people's experiences.

[https://code.facebook.com/posts/1189117404435352/react- nativ...](https://code.facebook.com/posts/1189117404435352/react-native-for- android-how-we-built-the-first-cross-platform-react-native-app/)

<comment><USER12> We built it for iOS, but I expect Android would have been a similar experience (albeit with much more cross-device testing required).

Hard to say how much of it was platform-specific, since we only targeted 1 platform (for now). But the large majority of the code we wrote exists in React components or in related JS files, so porting it over to Android should be a matter of decoupling the parts of the code that rely on native features (i.e. camera, navigation, etc).

A lot of that work is already happening in the React Native community so I expect the cross-platform support will keep getting easier.

</comment></comment></comment><comment><USER14> What I'm curious to know is, outside of the arguments about React being the superior pattern for developing UI's, how is this fundamentally better than or different from other hybrid libraries like Appcellerator Titanium or Xamarin?

In my experience they all fall short when you try to get the last 20% of your app written. Because you're not writing in the native language, directly accessing native API's, you're always going to be limited to the abstractions that the hybrid framework has (or hasn't) defined.

I much prefer either going full native or full HTML5 because I never hit a wall when I try to do something that hasn't been covered well by the hybrid framework yet.

<comment><USER15> React Native doesn't use embedded webviews and provides an escape hatch to write native code when Reactive Native's capabilities fall short.

<comment><USER14> That's no different than appcellerator or xamarin though. And in the case where you _are_ just using embedded webviews you can easily write native code alongside them. Cordova is written in objective-c and is easy to understand.

<comment><USER15> You're right, I was thinking of platforms more like Cordova.

I did a little reading and it appears that React Native, Appcelerator, and Xamarin are pretty close to feature parity.

</comment></comment></comment></comment><comment><USER16> I'm sure this observation was probably made tens of thousands of times before, but- is the React Native and frameworks like it the beginning of the end of the "native vs. mobile web" debate? A synthesis of both approaches?

<comment><USER17> What I'm betting on is the mobile web browser. I know going HTML5 on mobile has failed in the past, but the future can still come. On desktops, desktop apps ruled until web apps became super powerful. I'm betting on the same fate for mobile web apps.

<comment><USER18> On my mobile I absolutely use and prefer native applications. I only use my mobile web browser for web browsing tasks. On my desktop, I only use my web browser for web browsing (searches, news, content, etc) and I hardly use any web applications.

I don't feel like I'm unique in this.

I think this "synthesis of both approaches" has merits.

<comment><USER19> There are times when the native app is great, but all the permissions that you have to give up have me fallback to the web version. There is a native phone app for a popular online course that has recently started asking for access to 'Phone Id/what not' on Android. Why? Just show me the videos of the courses I paid for. I refused to update and these days I just log in via Chrome and play the video on there. Not the best UX but that is what I will associate with that product going forward.

I wish Android would make something granular (and understandable) or at least let me disable permissions after the fact.

<comment><USER20> You can, starting form android 6.0. Adoption of the latest Android versions is as slow as ever, though.

</comment></comment></comment></comment></comment><comment><USER21> I am particularly interested in hearing about view transitions. I know JavaScript, Android, and iOS development and found that, while I could easily make a React Native app work on iOS and Android, it was lacking the polish that modular view transitions could provide.

</comment><comment><USER22> >Java? Objective-C? Swift?? I don't have time to learn things!!! Now let's start coding XDDDDDD

Every cross platform mobile framework in a nutshell.

<comment><USER23> Its not the language thats hard, its the framework. Solution? Create a new framework?

Something is broken

</comment></comment><comment><USER24> > Not knowing Objective C or Swift

I think this is a key phrase here. I'm writing a RN Android app without knowing much about Java.

<comment><USER25> Have you run into any gotchas? I am thinking of doing the same thing for a simple app.

<comment><AUTHOR> There were definitely some head scratchers along the way, I think I address a few of them in this post but I plan to write a few more posts that show how we tackled some issues in more detail so keep an eye out for that.

</comment></comment></comment><comment><USER26> This article is pretty meaningless without any link to the app so we can see for ourselves. I couldn't find it in the Apple store, did anyone?

</comment><comment><USER27> Why is this on the top of HN ? Honestly, this is a bad thing, not a thing to show off.

To quote the author: "We're web developers, not iOS developers." EXACTLY, don't bring your web tech into native platforms, learn to do it the right way or just hire someone who knows how to do it.

Seeing things like that creeping into becoming a norm makes me cringe

<comment><USER28> This is on the top of HN because people, like me, are interested in it. You say learn to do it the "right way", by that logic we should have stuck to making desktop only apps instead of browser based web apps. I'm not saying this is better or worse. But I certainly think it's an approach worth considering.

<comment><USER27> It's a great piece of tech, I'm not saying anything against that, I'm saying that it shouldn't be used as a replacement for native programming because you don't want to learn a new language. react will come with huge limitations and deps that you don't want to even think about, it's never easy as "code once, deploy everywhere", this is usually a bad decision any company makes, engineering wise.. same reason as adobe air never took off, it's a bad idea, the only reason this is taking off is because people already know JS and don't want to learn something else.

By the "right way" I mean use every language for its intended purpose, you can't build desktop apps in browsers, that's why we have Javascript. and i'm saying we should keep it that way

<comment><USER29> React is _native_. It's a JS interpreter on a separate queue rendering native UILabels and UIViews. I'd say the concept is far more superior to UIKit which disgusts me, and I've worked with for almost seven years now. I honestly think React is the future, but for now we can try to stick with MVVM and RxSwift ;-).

I think you're fundamentally not understanding how React (not just React- native) works.

</comment></comment></comment></comment><comment><USER30> Is the app live in the App Store? Would love to check it out!

<comment><AUTHOR> We just submitted it to be approved, hopefully will be live soon.

<comment><USER30> Great, good luck!

</comment></comment></comment><comment><USER31> The biggest barrier to high fidelity ECMAScript apps on native platform is simple economics. Apple is guaranteed a $99 bounty when you push something on the appstore. Making Safari or WebView compatible with their native APIs and performance is a risk for AppStore.

Having built 3 non-trivial iOS apps using phonegap and JavaScript. I have come to the conclusion that I'm never going to build native apps using web stack. I have struggled with API support, DOM limitations and performance.

Disclaimer: I have not tried react native.

I think it'll fail for mission critical and non-trivial apps. If you just want an AppStore presence for your browser app or your app is trivial like one in the post. You are probably going to be fine.

<comment><USER32> You also appear to not know how it works. React Native doesn't use a web view at all. It uses JavaScriptCore to process UI updates to native views.

<comment><USER31> Good luck sir getting web stack to work with native that's at par with Swift/Obj-C perf. Also, do share some non-trivial apps that you/your team has built using web stack on iOS.

p.s. I've explored JavaScriptCore the first day it was available to developers.

p.p.s. I noticed you are a "React fanboy," so that's normal.

<comment><USER33> What exactly do you think is "web stack" about React Native? The fact that there's javascript involved in the high level UI state code? I really don't think you grasp the difference between React Native and the various "wrap a web app" approaches.

<comment><USER31> I've dabbled with this JavaScript for native code since 2010-11. Appcelerator Titanium SDK (now Appcelerator), Telerik, RubyMotion, Xamarin and of course PhoneGap (including PhoneGap Build). I've not used Xamarin, but putting it there to give a broader picture.

Please don't get me wrong, I'd love to use ECMAScript(, CSS and markup) to do all web, native and server side development. Unfortunately they are marred by poor API support, performance and customization. Last two are extremely critical for non-trivial apps.

If you are building run of the mill simple apps like - news feed, photo, video and reading etc. You'll be okay with anyone of the above 'web stack'.

Here's the litmus test. Ask the Reactive Native team to port their non-trivial paper app or mission critical messenger app or main app to Reactive Native. They are using Reactive Native for a lame duck Groups and some ad manager app.

JavaScriptCore is one layer deeper than wrapping a UIWebView, but it's several layers from true native.

<comment><USER34> > Here's the litmus test. Ask the Reactive Native team to port their non- > trivial paper app or mission critical messenger app or main app to Reactive > Native.

Facebook is rewriting the News Feed in RN. That's not a trivial example.

<comment><USER31> Correct, it's not a trivial app by a long shot. Also, a validation for React Native.

<comment><USER32> > They are using Reactive Native for a lame duck Groups and some ad manager > app.

"Some ad manager app" which happens to be the ad manager for one of the largest advertising platforms on the planet right now. It's also composed of non-trivial UI, you should try it before blindly bashing it. I've used both Cordova, and Titanium, too, by the way - Cordova was relatively painless but lacked the native feel. Titanium sort of had the native feel but it was slow. The Titanium community also felt very hostile towards competition and they didn't promote FOSS. Maybe you're a Titanium developer?

> Unfortunately they are marred by poor API support, performance and > customization.

Web apps can hit 60fps these days (again, using React (Canvas)).

> Here's the litmus test. Ask the Reactive Native team to port their non- > trivial paper app or mission critical messenger app or main app to Reactive > Native.

That's a really lame litmus test considering they've got a massive code base in native languages with no reason to throw them away since they're working perfectly and they have a ton of developers to throw at the problem.

> They are using Reactive Native for a lame duck Groups and some ad manager > app.

They appear to be using React Native for most _new_ apps that they develop. I would assume it would be up to the discretion of the team to choose whether or not to use React Native. Most do because React Native is way better than plain old native. Even the author of UIKit thinks so.[0]

I'd be interested if you could provide a common real world example where React Native wouldn't be a good fit.

Furthermore, React Native never claims to be a total replacement for native. We openly acknowledge that some problems are best solved in native code. That's why React Native has excellent support for 3rd party modules.

[0] [https://twitter.com/andy_matuschak/status/560511204867575808](https://twitter.com/andy_matuschak/status/560511204867575808)

<comment><USER31> Okay how about one very, very simple question - Can I replace my all of my Swift and iOS+tvOS+watchOS APIs with React Native? To make it easy for you. Can I do that within next 1 year? What will happen when Apple will introduce a slew of new APIs will be introduced in Sept?

Let's say I don't have any real world examples. I'm not seeing any engineering marvel in React Showcase. [https://facebook.github.io/react- native/showcase.html](https://facebook.github.io/react-native/showcase.html) pales in comparison to [http://phonegap.com/app/](http://phonegap.com/app/)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER35> What are good examples of high quality React Native apps I can try on my iPhone?

Bonus if they are free.

<comment><USER36> Take a look at the showcased apps on the React Native website: [http://facebook.github.io/react- native/showcase.html](http://facebook.github.io/react-native/showcase.html)

</comment></comment><comment><USER37> As for the styling part, This is actually a relief to see since I am using Radium and it looks like some of the styles I have will work without any modification. Any other styles I would have to rewrite anyway.

</comment><comment><USER38> Does anyone remember Sun's DevGuide app development platform?

I used this in the 90s, and it was ridiculously easy to get write an application. You visually designed your UI, generated code, and then added your actions/event code. It was straight forward. I haven't seen anything come close. Sure it was limited, but for the small apps I want to write for Mac and iOS, it would be perfect.

</comment><comment><USER39> 'I like react native because I don't have to learn swift' isn't the most compelling argument for why to use it.

</comment><comment><USER40> this is great and timely! I was planning to do my first proof of concept in RN this weekend in hopes to maybe use it in a hackathon next weekend. If anyone has any other beginner resources that would be great, I've yet to even use XCode :/

<comment><USER41> "I've yet to even use Xcode"

Boy are you in for a treat!

<comment><USER40> sarcasm?

<comment><USER42> Yes. Since the release of Swift, Xcode has Ben notoriously crash-prone and buggy. It is getting better slowly, but that was a pretty terrible first six months.

</comment></comment></comment></comment><comment><USER43> For a startup still trying to find product-market fit and not building anything intensive (ie mobile games), webview apps are the way to go. Build, test, iterate quickly and fix bugs on the fly.

</comment><comment><USER44> I'm writing mobile apps using angular / Cordova and ionic. When they are running on a device I can't tell the difference between a native app and a JS Cordova one. I think JS is the future of mobile apps.

<comment><USER45> On what device? I've seen cordova apps work flawlessly on some and obviously be webview apps on others.

</comment></comment><comment><USER46> really cool. I'd love to see a webcast on this.</comment>


Docker Betas for AWS, Azure, Mac, and Windows - <AUTHOR> https://blog.docker.com/2016/06/azure-aws-beta/ <comment><USER2> We merged the threads on these announcements. The Mac beta is at [https://www.docker.com/products/docker#/mac](https://www.docker.com/products/docker#/mac) and the Windows one at [https://www.docker.com/products/docker#/windows](https://www.docker.com/products/docker#/windows).

</comment><comment><USER3> The more I use Docker the more I realize that GCE is going to smoke AWS and Azure in the future with regards to deploying a containerized infrastructure.

This is mostly because turn-key kubernetes on GCE is light years ahead of what ECS provides. It almost makes amazon's offering seem like a joke.

This might level the playing field a bit by having Docker itself provide the infrastructure management software instead of it being tied to a particular service.

<comment><USER4> A better comparison is probably Amazon's Elastic Beanstalk / Docker integration.

[http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create...](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.html)

<comment><USER3> No, elastic beanstalk is terrible.

<comment><USER5> Works great for us so far. Care to elaborate?

<comment><USER6> I've been using Elastic Beanstalk for some time now and while I find it quite useful for people who just want to get Docker to production without investing to much time into Orchestration, it looks to me like there is a bit of price to pay for that 'simplicity':

       - Elastic Beanstalk does not provide a native Docker experience. You're forced to use AWS own way of defining services and dependencies (Dockerrurn.aws.json, which comes in two versions). This means you cannot longer use docker-compose, and not all of the options from `docker run` are available (logging driver,  privileged containers, though I think the ability to run privileged containers was recently added).
        - From my personal experience deployment times can be unacceptable long ranging from 5 - 20 mins. They get longer as you add more instances to the environment or if the instances are not powerful enough.

I think Elastic Beanstalk makes a good choice for starters or for not so mission-critical applications.

As a result of the points explained above I'm now looking into more Docker- centric solutions such Rancher/Kubernete or Docker's UCP.

</comment></comment></comment></comment></comment><comment><USER7> What happened to the good ol' Unix philosophy? The docker command used to be about containers, not service and network scaling in the cloud.

<comment><USER8> It's the idea popularized by git. Use one namespace and you have related commands that lives under one roof. Compare that with postgressql which installs a bunch of generic names on the top-level (e.g. createddb) which is annoying.

The thing I would be concerned about is bloat. I enjoy and leverage dockers' fast boot up and lightweight containers. I hope they stay focused on this.

<comment><USER9> _It 's the idea popularized by git_

It's also one that "source code control systems" have followed on Unix for 40+ years [1],[2].

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

2- [http://vasc.ri.cmu.edu/old_help/Archiving/Sccs/sccs.html](http://vasc.ri.cmu.edu/old_help/Archiving/Sccs/sccs.html)

</comment></comment></comment><comment><USER10> Slightly off topic. What are people doing about user data persistence on the cloud/Docker? Specifically, we are porting a desktop application to the cloud via application streaming technology with Docker, but we would like the user's data and preferences to not go "poof" when the cloud instance disappears. Ideally, we would like some automagic way to attach, say, the user's dropbox account or the equivalent to the cloud instance. Is anyone working on that problem?

<comment><USER11> Kubernetes has persistent volumes: [http://kubernetes.io/docs/user- guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent- volumes/)

You can use something like Glusterfs and distribute your files or it can hook in to your clod provider and create persistent storage automatically on something like EBS.

<comment><USER12> When I tried it way back when, he trouble I had with Gluster is that it didn't readily handle nodes randomly leaving and new ones joining. It was more hardware-centric in that if a node left, you were expected to bring that specific node back online. Is that still the case?

</comment></comment></comment><comment><USER13> They need to put a note on their page that docker for windows is not compatible with docker for windows containers. I've been playing around with docker for windows containers for a few days, then saw this and thought, "cool, an update." I installed, and discovered that while the client is compatible between the two, the daemons they run cannot see the containers created in the other daemon. MS and Docker need to sort this stuff out, because right now, windows containers are nicer for the few images that have been released, but docker for windows allows for the full docker ecosystem.

<comment><USER14> We will sort this out soon, sorry.

</comment></comment><comment><USER15> As usual with AWS (or anything I guess) there's more than one way to accomplish a particular goal. How much of Amazon's Elastic Container Service is replicated by Docker for AWS? I'm currently using ECS + Docker but this looks potentially simpler.

<comment><AUTHOR> Seems like there's not much in the way, at the moment, about attaching EBS volumes, or using your own custom AMI. For example, I want to mount an NFS share on the host to connect some container data volumes to directories inside. I've asked about this on the new forum [https://forums.docker.com/c/docker-for- aws](https://forums.docker.com/c/docker-for-aws)

<comment><USER16> What if your app was designed to work against AWS's data offerings, from RDS, S3, etc? Unless you're self-hosting your DB, concerns about persistence are less of an issue. Also worth considering if you are self-hosting is the replication/redundancy in the platform, you should be able to preserve-restart instances.

Me, I'd rather use what's available than self-host more often than not, but depends on the use-case.

<comment><AUTHOR> Not sure I get what you're saying. NFS is not self-hosting. In fact, AWS has an NFS service called EFS (in preview).

<comment><USER16> I meant writing your apps specifically against data services, not the filesystem directly.

</comment></comment></comment></comment></comment><comment><USER17> Long-term, where does using something like this make sense vs. Mesos?

<comment><USER18> Mesos is proven at massive scale (Apple use it for Siri, Twitter use it for their data warehouse). You can run a cluster of 10k nodes if you want. I believe they have run simulations at higher scale than that.

Docker Swarm is not yet proven at such scale. They have run perf tests at 1k nodes, which is high enough for most use cases, but not for truly warehouse- scale computing. 1k nodes is also where Kubernetes tops out at (though expect that to be higher in Kubernetes 1.3, which should be released in the coming weeks).

On the other hand, if you're trying to run Docker container workloads, it's going to be easier in a Docker-first cluster orchestrator like Docker Swarm or Kubernetes; Mesos has Docker support but it's not as tightly integrated, and doesn't implement the full Docker management API.

</comment></comment><comment><USER19> IBM's Bluemix has supported Docker Containers for a while now, but hasn't gotten much limelight... probably as a result of the size of their community and Bluemix's sketchy [but improving] stability. Does anyone have any experience using their container service? And would this be a big improvement?

<comment><USER20> I've been using the container service for a few months. I have encountered a case where my running containers completely disappeared and was told by support that this was because of a "migration". They claimed to have notified me beforehand on several occasions, but I have no evidence of this. Hopefully this was a one time occurrence and will lead to greater stability.

One other general problem I've had is the time it takes to launch a container. I would expect containers to be an improvement over VMs in terms of how quickly you can launch, but that doesn't seem to be my experience so far.

I would wait a while longer before I would consider their container services for production workloads.

</comment></comment><comment><USER21> Not a fan of the new Windows version as it requires you to enable Hyper-V, which stops any other virtualization (Virtualbox, VMware, etc.) from functioning. The only workaround I've found is rebooting to enable/disable it on demand.

<comment><USER22> What are you talking about? I had to enable Hyper-V to get Virtualbox or any other VM solution working. But yes you're right that you can't use them at the same time. The new native docker doesn't use third-party VM (boot2docker) and interfaces with the host hypervisor directly. So I had to stop all running virtualbox VMs to get docker to start.

</comment></comment><comment><USER23> And the Windows version is still Windows 10 only :/

Many large organisations are going to be tied to Windows 7 for a good while yet...

<comment><USER24> Because it makes use of Windows containers introduced in Windows 10, instead of bring GNU/Linux with Virtual Box along.

Same thing on Mac OS X, they have migrated to the hypervisor API.

</comment></comment><comment><USER25> Now even docker wants me to upgrade to windows 10 ^^ Keep up the great work!

</comment><comment><USER26> Am I the only one getting SSL errors trying to connect to their blog?

<comment><USER27> It happened to me for a brief second, and it is fixed now, are you still seeing an issue?

</comment></comment><comment><USER28> They never emailed me from the last "private beta" before announcing this. And now deploying this on AWS or Azure requires me to sign up for yet another "we'll get back to you..." private beta.

Love the tech, hate all this marketing runaround.

EDIT to add: either your beta is ready or it ain't. I understand a gentle initial seed to verify it's not an utter catastrophe but no need to play nanny with my bits across 20+ beta releases. I'm a grown up. Make a disclaimer and let me assess the risk. Your corporate logo looks like a 1970s Carvel ice cream cake--I know what I'm getting myself into.

<comment><USER27> Check your spam folder, some of the email from the last private beta went in people's spam folder, so they never saw them. Either way it doesn't matter anymore since Docker for Mac and Windows is now public to use without the need of a code.

<comment><USER28> I'm not sure there's much overlap is between people who can get Docker Machine limping on VirtualBox with storage and networking flowing properly on Windows 10 fast ring and those who don't know how to check their spam folders, but I appreciate the tip.

No messages (and I applied via two accounts for two different platforms). No message telling me "go get the bits!" today. And nothing in spam folders.

But yet another blog post asking me to sign up for yet another private beta... ugh.

EDIT to add: As polite feedback--two separate requests, two separate Docker accounts, one Gmail and one corporate email address, and I did not receive any invite during the private beta nor notification today when it went public.

<comment><USER27> You would be surprised how many people didn't see it in their spam folder. Hence the reason why I mentioned it. :)

Not sure what you mean about no message telling me to go get the bits today. There was no email saying that docker for mac/windows was made public, it was announced during the keynote at DockerCon (this morning), and a blog post went out.

Before we made it public, everyone who had signed up for the beta had an invite sent to them, and there was no one left in the queue.

</comment></comment></comment></comment><comment><USER29> I don't understand why Docker for Mac is a GUI application. I'd rather get the same features from the CLI.

<comment><USER27> You can still use the CLI, there is nothing stopping you.

<comment><USER29> So I assume the new native hypervisor is available from cli as well? Then that's excellent!

<comment><USER27> Yup, try it out, and let us know if you have any issues, or ideas on how to make it better.

<comment><USER30> Can it fall back to Virtualbox/vmware/parallels/etc if Hypervisor.framework isn't available? Hypervisor.framework doesn't run on somewhat dated x86 machines.

<comment><USER31> Not that i'm aware of, but using the hypervisor is pretty much the entire point. If you need to use vbox etc then just use docker-machine</comment></comment></comment></comment></comment></comment>


$1.2T Isn't Enough to Fix Coronavirus Economic Damage - <AUTHOR> https://www.bloomberg.com/opinion/articles/2020-03-17/-1-2-trillion-stimulus-alone-won-t-fix-coronavirus-recession <comment><USER2> Are we sure that the economic damage of the shutdown of the world economy out weighs the heath risks of the virus. Are we in group think here? A major recession/depression means a lot of people go hungry, lose access to medical care etc. Does anyone know of studies or research that looks at the health impacts of a shutdown vs. the health risk of the virus ? Just asking questions.</comment>


Stanford students are short-circuiting VC firms by investing in their peers - <AUTHOR> https://techcrunch.com/2020/07/27/stanford-students-are-short-circuiting-vc-firms-by-investing-in-their-peers/ <comment><USER2> This reminds me of BASES at Stanford. I think it is a cool way to learn about startups, but personally, while at Stanford, I found it to be filled with prestige-oriented careerists... with that being said, I think it would be phenomenal if these kids succeed -- sometimes I just lament the time of youth being wasted worrying about the future instead of enjoying the intellectual life of the academie -- history and the big questions of humanity and it's future.. not how to make the next quick buck. Sometimes I feel kind of sad Stanford often nourishes and encourages this market focus... because I felt it so deeply myself as a student there, esp coming from an under-privileged background.

</comment><comment><USER3> I'm guessing they're not as good at picking winners as the professionals are.

<comment> gcollard- « Mui tells TechCrunch that startups must fulfill two criteria in order to automatically invest: first, the co-founder must be a member of the class, and second, they must raise a round of $750,000 or more from a reputable institutional investor »

I think they just don't pick winners themselves

</comment></comment><comment><USER4> Revolting against an elite group by creating their own elite group? Seems like a great way to learn about and invest in startups but the reason for it doesn't pass the smell test.

</comment><comment><USER5> A minimum $3000 to join the investment club, after $50,000 per year in tuition.

But it's a meritocracy, right?

<comment><USER6> The founder is an MBA student. I would infer that the Stanford MBA program contains many students who have made a decent amount of money, and they are comfortable with spending a chunk of that to make a lot more in the future.</comment></comment>


The Mystery of the Encrypted Gauss Payload - <AUTHOR> http://www.securelist.com/en/blog/208193781/The_Mystery_of_the_Encrypted_Gauss_Payload <comment><AUTHOR> The core of this is 'find X' such that

      md5(md5(...10,000 times...(md5(X + salt)...)) = hash

where salt and hash are known. X is derived from the names of programs existing on a Windows machine with a particular format.

Or, find a way to calculate

      md5(md5(...10,000 times...(md5(X + salt')...))

given that hash is known and salt' but X is not.

Or alternatively, attempt a known plain text attack against RC4. Given that a certain amount of plain text is known (4 bytes) at the start of the RC4 payload then it's likely that the first few bytes of the keystream are known and an attack could be mounted via weakness in the RC4 key schedule.

<comment><USER2> Well, wasn't MD5 broken?

It should be possible to do a brute force search using a couple of days of EC2 or (insert your favorite cloud provider) here. And by bruteforce you can try text search, or just go for the raw bytes. Not sure a collision can work in this case as well.

<comment><AUTHOR> To recover X + salt you'd be looking at a preimage attack of MD5. I am only aware of one preimage attack against MD5 and it's only theoretical.

The input to the RC4 key generator is an MD5 hash which means you'd be looking at doing a brute force attack against an input of 2^128 bits. Assuming you find the answer on average in 2^127 and you are looking at an enormous search space.

According to a recent article EC2 has about 500,000 machines. Now assume that I buy them all and I am able on each machine to check 1,000,000,000 values as inputs to RC4 per second then I should have the answer in 800,000 times the age of the universe. But I think my credit card will have been cancelled first.

<comment><USER2> I'd try to bruteforce X (to match the hash), not RC4 at first (though it may be easier)

PBKDF2 is SHA-1 and 4096 rounds, this shouldn't be impossible

Bonus points if you use FPGAs to calculate MD5s

<comment><AUTHOR> The question is how large that search space is. If you can get a reliable list of directory names and file names then it might be small, but if you are left iterating characters in filenames (and this appears to be Unicode) then I'd imagine you'd run into the same situation.

I'd be much more tempted to look at the fact that the first four bytes of the RC4 key stream appear to be recoverable and look at key recovery from that.

</comment></comment></comment></comment></comment><comment><USER3> The article mentions "~" as a possible starting point, but "{" is also greater than 7A, which would match all the "InstallShield Installation Information" subfolders.

<comment><USER4> Great point... are those uniquely named based on the application installed? That might be a nice, oblique way of checking if a particular program is installed.

<comment><USER5> Yes, these are GUIDs in the following format:

{931373E2-3DA4-4631-930C-F59510630DA3}

It seems to me that's a good theory of what it might be looking for, as GUIDs should make good triggers. I wonder if this reduces the search space enough to make brute force feasible now.

<comment><USER6> 128 bit GUIDs give pairs of 256 bits -- too large to mount an efficient brute force.

<comment><USER7> But checking _all known_ GUIDs might be more feasible.

<comment><USER4> Well, yeah, but where do you get a list of known GUIDs for InstallShield? Might as well just gather a list of all known Program Files directories.

</comment></comment></comment></comment></comment></comment><comment><USER8> I just imagined the author reading that post and smirking to themselves.

<comment><USER9> My thought exactly - how weird it must be to be inside looking out.

Public key crypto was discovered on the inside long before it was rediscovered on the outside, and I figure that the insiders must have been amused by Diffie, Hellman, R, S, and A.

\</comment></comment><comment>--

<http://en.wikipedia.org/wiki/Public-key_cryptography#History>

In 1997, it was publicly disclosed that asymmetric key algorithms were developed by James H. Ellis, Clifford Cocks, and Malcolm Williamson at the Government Communications Headquarters (GCHQ) in the UK in 1973.[4] These researchers independently developed Diffie–Hellman key exchange, and a special case of RSA. The GCHQ cryptographers referred to the technique as "non-secret encryption". This work was named an IEEE Milestone in 2010.[5]

</comment><comment><USER10> It looks like it would be easier to bruteforce fixed RC4 key than 10000 iterations of MD5, especially due to known weaknesses of RC4 key schedule.

Name of target software in Program Files is interesting nevertheless. Probably it's mentioned in the encrypted code/data.

</comment><comment><USER11> So whilst the malware will infect machines more or less indiscriminately, the payload itself can only be successfully decrypted (and therefore activated and executed), on machines that have a specific set of programs installed?

<comment><USER12> I think it's actually just one specific program, who's name starts with a special character or high UNICODE character.

</comment></comment><comment><USER13> "the attackers are looking for a very specific program with the name written in an extended character set, such as Arabic or Hebrew, or one that starts with a special symbol such as "~"."

I suppose µTorrent is too obvious... Anyway, these kinds of mysteries help re- ignite my interest in Cryptography. I'd love to hear feedback from a fellow HNer about the course from Udacity (perhaps via email since it will probably be considered off-topic here).

<comment><USER14> I thought about uTorrent too, but Mu has a hex of 0x03BC. Plus it is a popular software and in windows, it's folder in program files uses 'u' instead of Mu.

<http://www.fileformat.info/info/unicode/char/3bc/index.htm>

</comment></comment><comment><USER15> So does this mean that if you're a high profile target, you should immediately add a random folder to all of your computers in the program files directory?

<comment><USER16> No..it means if you are running a specific program which unlocks the code you are going to have a bad time (I suppose you could rename all of your program directories though... would that defeat this ?)

<comment><USER17> The full implications of this code are that the attacker already has another channel to access your machine.

It's not much consolation that you now know that you're being targeted by the Program Files entries (they're a major pain to rename). It's likely there are one or more plants inside your operation and they have physical access to the machine, which is considered game over.

<comment><USER18> Getting a certain filename onto your computer doesn't sound like a hard problem. Just send them a mail with an attachment of "398rgf90rej243rf.htm" that their email client helpfully extracts for them, or have a file with that name in their web cache when they browse the internet.

<comment><USER4> Why would you need to trick someone into saving a file with a particular name? You already have malware running on their machine!

Seems much more likely that the check is there to confirm that the payload only runs on specific targets. And, perhaps more importantly, to make recovery and dissection of the payload very difficult for someone without access to the target(s).

<comment><USER19> If you are a virus and you are too obvious, you are quickly found and and eliminated by the "immune" system. So it is import to stay low on hosts where there is no benefit in attacking and only using them for vectors of infection and only go into full blown activation mode when some specific trigger is found.

</comment></comment></comment></comment></comment></comment><comment><USER20> a good point raised in the comments is that the "arabic or hebrew" part really meant to say a "non-letter us-ascii value including curley brackets, tilde, and pipe". not sure why anyone would want to jump the gun on narrowing down geography in this way.

<comment><USER9> > not sure why anyone would want to jump the gun on narrowing down geography > in this way.

Because it's a tool designed to take out Iranian uranium refining tools.

<comment><USER21> I think it is fair to say it is a general purpose tool, that was configured at least once, to take out Uranium refining tools.

So, I would be surprised to find this was not also using, say the parts of Unicode with Chinese characters as well.

</comment></comment></comment><comment><USER22> I'd like to see Kaspersky bust one of the Russian government-made viruses. I see them protecting customers from everyone else...

<comment><USER23> Do you have any examples of such a virus? So far only the US and Israel have been implicated in the creation of 'weaponised' malware.

</comment></comment><comment><USER24> Any chance that the Paladia Narrow font is designed to infect printers?

</comment><comment><USER25> checking prog directory might mean they are looking for specific machin with specific system image</comment>


Amazon is going to kill your Dash button - <AUTHOR> https://www.cnet.com/news/amazon-is-going-to-kill-your-dash-button/ <comment><USER2> Modern day companies don't have the attention span to sell products like the Dash button. They want to sell you something you'll use four hours a day every day for a year and then throw away, like a phone, a video game, a social media site. They won't support a product you'll use once a month for ten years like a Dash button. Do not put your trust in anything that depends on an external service lasting for the long haul.</comment>


The science of ice, melting, and chilling as it pertains to drinks - <AUTHOR> http://thesweethome.com/reviews/the-best-ice-cube-tray/#appendix

<comment><USER2> The Dave Arnold post at:

[http://www.cookingissues.com/2009/07/24/tales-of-the- cocktai...](http://www.cookingissues.com/2009/07/24/tales-of-the-cocktail- science-of-shaking-ii/)

(linked from this review) is arguably much more interesting than the review itself. So is everything else at Cooking Issue. Cooking Issues is amazing.

<comment><USER3> Am I missing something? It seems obvious that the same mass of ice will cause the some amount of dilution and have the same heat capacity. All the stuff about surface area versus volume is just worrying about how long it takes the ice to dissolve, but it seems like they did all their experiments until the drink reached thermal equilibrium... the ice melted, and the drink got slightly watered down.

<comment><USER4> Yes, it seems obvious. But it's nice to see that the experiment doesn't invalidate those assumptions. Personally I also find it interesting to see the measurements (it's nice to know that about 12 seconds is "enough", that's certainly longer than "just a little").

</comment></comment></comment><comment><USER5> Ok, sure, it is great to consider the extra minutes added to the taste-window which a bigger ice block vs several smaller ones gives... But, really, what I've wondered about when I go to drink such tasty drinks is that the bigger target seems ignored. The ice wouldn't have to melt so fast if it wasn't having to counteract so much heat getting in unnecessarily. But drinks are mostly put in contact with container walls which are directly connected to the external wall in contact with the air, table/bar, and human hands. Heck, one could go all out and pick some material(s) with a lower thermal conductivity than glass. That might be worth some bother too, but I don't know that it is needed.

Why is it I have a Thermos (made of stainless steel, so not optimized for thermal conductivity at all) which can keep coffee mouth-burning hot all work day, but when I go to some fancy scotch tasting establishment they hand me a chunk of glass engineered more for looks than for the task at hand?

</comment><comment><USER6> Was Ian Fleming completely wrong? "When you shake a martini, you aren't integrating the elements in a way to create a smooth texture – you are doing the opposite. A shaken martini gets diluted too fast and gets too much air mixed into it. The result is a slightly frothy and watered down drink."

I assumed he didn't want to get inebriated in order to have a non-fuzzy head for all the goings-ons but the bartender would have noticed..

[http://www.drinkspirits.com/gin/james-bond-wrong-shake- marti...](http://www.drinkspirits.com/gin/james-bond-wrong-shake-martinis/)

<comment><USER2> No, he wasn't "wrong". Shaking a mixed drink does alter the texture; it does incorporate air, and it does incorporate more tiny ice chips. And that quote doesn't hold temperature constant. You can trade strength for coldness and vice versa.

But, if you have a target temperature, and you're using ice to cool a drink down to it, then the idea that you should stir instead of shake to reach that temperature is misguided.

</comment></comment><comment><USER7> Lot's of good stuff here, could use some editing to cut down the wordiness and emphasize the conclusions. Obvious affiliate links were obvious.

<comment><USER8> Affiliate links are explicitly how the site makes money: [http://thesweethome.com/how-to-support-the- sweethome/](http://thesweethome.com/how-to-support-the-sweethome/)

So I guess I'm not too harsh on them.

<comment><USER7> I debated whether or not to point this out, but found that I couldn't _not_ say anything as it was effecting my perception of the quality and trustworthiness of the article.

</comment></comment></comment><comment><USER9> Humidity also has a big effect (lower is slower, it's plausible that drinks in Vegas are less diluted than in Hawaii).

[http://scitation.aip.org/content/aip/magazine/physicstoday/a...](http://scitation.aip.org/content/aip/magazine/physicstoday/article/66/4/10.1063/PT.3.1958)

</comment><comment><USER10> Granted the thermodynamics lesson is all well and good. The more interesting point is in the making of ice cubes (or spheres). Apart from pitching some product, it's the water. Sufficiently purified water (ie reverse osmosis) produces glass-clear ice. Cloudy ice contains dissolved sediment typical of tap and barely filter water.

</comment><comment><USER11> "Whiskey on the rocks event horizon" is the best part of the post.</comment>


How to Run Agile Teams When a Team Consist of Smaller Sub Teams? - <AUTHOR> A problem I've run into at a couple past companies is say you have a team of 6 people with a manager. But this team is really working on 3 individual projects with a couple members on each project.
Our daily stand-ups and retros seem to be so mixed between the projects that they don't make sense and often seem like a waste of time for people not working on that specific project. You can see people disengaging.
But splitting up the team would mean multiple 2 member teams which seem too small for things like a weekly retro, but maybe that's my misconception.
Have others had this experience and how do you handle sub teams within teams? Is splitting them up the only real solution? <comment><USER2> Why would you need to run 'Scrum' or any kind of formal methodology with a team of 2 people?

My advice: Get them in a room, co-located, with a clear directive. Standups and retros can and should happen organically if we're talking about 2-3 people (or even 6). Thats a small enough group of people such that they can actually talk to each other throughout the day (think about how startup engineering works... 5-7 people, at a table, coding, talking whiteboarding, testing, deploying _concurrently_ , beautiful mess style.

It's not clear the _real_ problem you're trying to solve.

</comment><comment><USER3> \- How big is the actual organization? I mean, are people disengaged because the organization is so big that a project of subteam X is not visible to subteam Y, or because everyone's morale is so down that nobody cares? I would argue that it's in the best interests of the company and employees to know what's happening outside their little projects unless people don't have any Epic Meaning motivation and come only to 9-5 work to code specs?

\- Do people from different subteams ever help each other? Do they share the codebase, delivery process, users? I mean, is the same manager — the only reason why they are all considered being one team?

\- Based on what I read, it does look like there is no overlapping or impact of subteams on each other, and they seem to be self-sufficient and independent. If that's the case, then I would consider switching away from Scrum (I assumed Scrum from standups and retros) in favour of Kanban, and replacing daily stand-ups with weekly updates.

<comment><AUTHOR> Moral is fine, people are very engaged in their own project and turning out good work. Company is huge and projects have potential to make a large splash across divisions.

That's the conflict I have is: Do we all save time with more isolated and focused meetings at the cost of not know what the larger team is doing?

The overlap on current projects is non existent, but team members have occasionally partnered with other team members in the past (essentially swapping sub team members out) and there are rare occasions where someone complains about how they're blocked and one of the other sub teams has helpful advice or can pair with them.

Your last points about switching to Kanban and weekly updates is good advice, this is likely the correct answer.

<comment><USER3> So it's basically a bunch of startups within a company. Well, then I'd definitely switch to Kanban and have as little process as possible, just like Agile Manifesto says: Individuals and interactions over processes and tools</comment></comment></comment>


Where do people fine Unity Jobs? - <AUTHOR> Organization I work for is finding it difficult to target or even find out how to identify where to look to hire unity developers. I'm a web developer, I will probably be writing api to power the game, but knowing where to look, place position ads etc..<p>Would totally appreciate some resources to look. <comment><USER2> Unity has a job forum. Never used it, don't know the rules, YMMV, etc:

[http://forum.unity3d.com/forums/commercial-job- seeking.48/](http://forum.unity3d.com/forums/commercial-job-seeking.48/)

</comment><comment><USER3> you can try this : [https://entreprises.42.fr/en/](https://entreprises.42.fr/en/)</comment>


Ric Richardson reaction to negative press on Uniloc vs Majong - <AUTHOR> http://ricrichardson.blogspot.co.uk/2012/07/ric-richardson-reaction-to-negative.html

<comment><AUTHOR> I actually have no idea about patents, I always hear bad things about them. Can anyone tell me if the founder of Uniloc is fundamentally wrong? He does seem to have a point (to my untrained eye)</comment>


Procore IPO: S-1 Breakdown - <AUTHOR> https://www.meritechcapital.com/blog/procore-ipo-s-1-breakdown <comment><USER2> Procore is a construction tech "unicorn".

A helpful analysis of the S-1 can be found here: [https://news.crunchbase.com/news/construction-tech- unicorn-p...](https://news.crunchbase.com/news/construction-tech-unicorn- procore-drops-s-1-revealing-sharply-rising-revenue-net-losses/)

The summary:

> It revealed both increased revenue and net loss in 2019. Specifically, the > company's revenue surged 55 percent in 2019 to $289.2 million compared with > $186.4 million in 2018. At the same time, its net loss was up by 46.5 > percent to $83.1 million in 2019 compared to $56.7 million in 2018.

</comment><comment><USER3> Procore is by far the best construction project management software I've used. All of the other ones have interface quirks, Gradebeam is particularly bad in this regard. I hope Procore succeeds, I enjoy using it as a subcontractor on a GC's subscription.

</comment><comment><USER4> A company with established product and customers, and high growth in recent years, but also not making a profit. It seems like maybe they are a bit late to do the S-1? This might have been more welcome a year ago. But, what do I know, I am not a stock person. It will be interesting to see what happens, in order to see if the post-WeWork IPO market actually is all that different.

</comment><comment><USER5> Alex Clayton's breakdowns always good and a little more digestible: [https://www.meritechcapital.com/blog/procore- ipo-s-1-breakdo...](https://www.meritechcapital.com/blog/procore- ipo-s-1-breakdown)

<comment><USER6> Ok, let's give that a try. Changed from [https://www.sec.gov/Archives/edgar/data/1611052/000119312520...](https://www.sec.gov/Archives/edgar/data/1611052/000119312520057081/d564161ds1.htm). Thanks!

<comment><USER7> Please just remember that you should always read the entire prospectus, verbatim from the SEC, if you want to really understand what's going on. Not just someone else's analysis, and definitely not the "investor summary" or God forbid the slide deck prepared by the securities seller (the company). Bottom- to-top reading is a useful strategy because there's usually some bad and relevant stuff hidden close to the end.

It's an adversarial game where you (the buyer) want to pay as little as possible, the company (the seller) wants as much as possible, and the SEC (the regulator) is the neutral arbiter of information. Any third party's intention is unknown unless they publish their full portfolio.

<comment><USER6> Maybe the best way is to leave the official S-1 up and people can post links to analyses in the threads. i.e. maybe we shouldn't do what I just did.

<comment><USER8> Please keep linking both official and in-depth analysis. two different consumers of the data.

<comment><USER6> Well, we can only have one link at the top of any given submission, and it is best not to have two threads on the same topic, so the question remains which link should win?

<comment><USER9> The SEC link should win and people can offer compelling analysis / summary links in the comments. The SEC filing is the official resource and will be a superset of what's discussed / focused on in any given 3rd party commentary

<comment><USER7> I agree, let's uphold the spirit of the Securities Act of 1933 introduced after the 1929 crash - the SEC is the arbiter of data. Anything that's in the SEC database is "sacred" and someone (whoever wrote it) can go to jail if it's in fact not true but has been manipulated.</comment></comment></comment></comment></comment></comment></comment></comment>


The tech behind building an independent, internet radio station - <AUTHOR> https://watsonsmith.com.au/building-an-internet-radio-station <comment><USER2> Ha too funny! I haven't heard the name Icecast in a long time. I know the guys who created Icecast. They did it because they wanted to run a radio station but according to them Shoutcast sucked, so they rewrote it from scratch as open source.

The reason it is called Icecast is because it was replicating the Shoutcast protocol, so that people with Winamp could play Icecast streams (Nullsoft made both Winamp and Shoutcast). The Shoutcast protocol used what were called ICY responses (which stood for I Can Yell) so they called their Icecast since it made ICY responses too.

This post unlocked that little corner of my memory. Fun!

ps. One of the Icecast guys worked on Ogg Vorbis because he thought that "mp3 sucked" and the other one is now a professor of Computer Science at USC.

<comment><AUTHOR> This was super interesting to find out, I always assumed that Icecast and Shoutcast were 'allies' or built by the same org. I've had a few things topple over during streaming but it seems that Icecast is the only one that's run without any issues, guess they proved their point!

</comment></comment><comment><USER3> I own and operate Broadcastify.com, which is arguably the largest icecast implementation in the world.

We've been using 100TB.com for our audio streaming infrastructure, which is a softlayer reseller. I've been unable to find anyone else that provides better pricing for bandwidth than they do.

All of our Web infrastructure, provisioning, archiving, etc is spread between AWS and Google Cloud though.

Audio broadcasting on the Internet is indeed an interesting field to be in!

<comment><USER4> How does 100TB.com beat Hetzner? Their $5 virtual server comes with 2TB whereas Hetzner offers 20TB.

<comment><USER3> I don't know - but I'm not deploying infrastructure on $5 virtual servers that are marketed and designed to support a personal blog.

Paying 200-300/month for 100TB of data transfer on a dedicated host is where I'm at with 100TB.com

<comment><USER5> > Paying 200-300/month for 100TB of data transfer

FWIW most providers can easily beat that. OVH in Canada offers good quality unmetered Gbit at below 100/mo with the hardware included.

</comment></comment></comment></comment><comment><USER6> Take a loot at Hetzner is Traffic is an issue, they offer 20TB for $5. [https://www.hetzner.com/cloud](https://www.hetzner.com/cloud)

<comment><AUTHOR> This is fantastic, I thought I'd found the best deal with DigitalOcean but this looks great, cheers

</comment></comment><comment><USER7> 128 Kbps would amount to 30-40 GB monthly

So, digitalocean gives you ~30 users capacity? I think hetzner offers 1Gbit internet without quota which would serve thousands of users.

<comment><USER8> I always thought that online media services used multicast protocols, that is, after the initial point to point connection all data packets should be transmitted once, then replicated at router level for every subscribed user. If that's the case, 30 users seems a pretty low number since it would translate into maximum 30 concurrent connections while the generated traffic from the server point of view would be just slightly higher than a single stream for a single user. Or maybe carriers bill multicast traffic differently?

<comment><USER9> Some ISP-run and or company/network-internal ones do, but over the public internet there is no infrastructure for that, so the vast majority doesn't do it.

<comment><USER10> funny enough.. my team probably killed off (one of anyway) the last tier 1 internet multicast deployments over the past few years.

Multicast has dataplane resource scaling issues and, frankly, CDN has become the solution to what multicast solves.

</comment></comment></comment></comment><comment><USER11> Nice article, played with Icecast in the past, good to learn about LibreTime which uses it.

</comment><comment><USER12> With LibreTime it's also possible to stream in Opus and AAC+v2 so you can get decent quality on 48kbit.

</comment><comment><USER13> > A single user listening to a 128kbps stream, non-stop for a month, would use > about 300GB of transfer. Just one user!

Is that how broadcasting works on the internet?

Is there not a more efficient non-proprietary protocol for broadcasting on the internet?

<comment><USER14> I remember some years ago that people were pirating radio stations through a peer-to-peer streaming client, but I can't remember what it was called and I never looked at the internals.

<comment><USER11> Sopcast?

<comment><USER14> I dunno, but thanks for the recommendation.

</comment></comment></comment></comment><comment><USER15> 1TB is not enough for Internet Radio, it's not even enough for most podcasts.

<comment><USER16> Hosting is easy, it's still the transit that'll kill ya.</comment></comment>


Clickbait added to Merriam Webster dictionary - <AUTHOR> http://unabridged.merriam-webster.com/blog/2015/05/a-growth-spurt/

<comment><AUTHOR> "You will never guess which word just got added to the dictionary".</comment>


The Mill BLACKBIRD - <AUTHOR> https://vimeo.com/171939943 <comment><USER2> Pretty nifty. Assuming the cost of this isn't exorbitant, I imagine there's the possibility to save a lot of money on buying or renting various extremely expensive vehicles for movies.</comment>


Redesigning Techcrunch - <AUTHOR> http://bradfrostweb.com/blog/post/techcrunch/ <comment><USER2> They overthought the whole thing. It's the usual design by committee mess you get when you take something that is undeniably simple (like a blog) and you elevate it to something that is not.

First of all, it looks like something straight out of the 90s that didn't age well. Secondly the choice of a sans-serif font for a text is questionable and the choice of Open Sans in particular is inexcusable.

The other day I was reading an article on my Nexus 5 and I couldn't help but notice that the text is just too small/thin and the whole thing is just spaced wrong.

If you ask me it' s a 4 out of 10 design wise.

<comment><USER3> As a non-designer, can I ask what about Open Sans makes it "inexcusable" as a type choice?

<comment><USER2> It's just too thin. There's a reason thin fonts on mobile OSes are used only for big text like date and time. Thin fonts are difficult to read, Open Sans particularly so.

<comment><USER4> Hmmm.. That's strange considering Steve Matteson (the type designer)[1] optimized the typeface for both mobile and web use. Perhaps the mobile browser you're using is rending it quite differently.

1: [http://www.google.com/fonts/specimen/Open+Sans](http://www.google.com/fonts/specimen/Open+Sans)

</comment></comment></comment></comment><comment><USER5> Discussion is veering: This is neither a Techcrunch article nor a discussion of this particular design which pleased the customer. It is an article about a website design workflow from a _pattern lab_ † viewpoint.

 _pattern lab_ is collection of PHP tools for making web sites from organized, abstracted components.

␄

† [http://pattern-lab.info/](http://pattern-lab.info/) (MIT license, lives on github)

</comment><comment><USER6> I dig the new design, it's better than the previous one and it seems much faster too (not sure if this is because of the new design but that's how it feels to me). Good work and a nice write-up.

</comment><comment><USER7> good effort, but the new design does make my head spin and thus i rarely go to TC anymore. it's just too much content in your face.

i find it interesting how they discuss and plan about fonts/colors down to the wire for UI sake, and yet miss the "bigger" picture of readability.

</comment><comment><USER8> A lot of hard work by the team here, However, I agree with the comments---I rarely go to tech crunch anymore since the new design. Too much going on.

</comment><comment><USER9> Thanks for sharing. I always like Brad's posts, he does a good job explaining his process. Some here may disagree with parts of it, but it's nice that he takes time out to show us all of this. Thanks Brad!

</comment><comment><USER10> Enjoyed the read! Pattern Lab looks pretty interesting too.

</comment><comment><USER11> Still 75 share widgets and 6 analytic scripts per page and WordPress?

</comment><comment><USER12> 2010 called, it wants its article back.

[http://www.fastcodesign.com/1662630/is-undesigned-the- next-g...](http://www.fastcodesign.com/1662630/is-undesigned-the-next-great- web-trend-fat-chance)

</comment><comment><USER13> Doesn't matter. After Mike departure, TC became boring, and the number of comments under articles dropped of significantly.

</comment><comment><USER14> rm -rf /techcrunch

</comment><comment><USER15> Good design, same shit writing.</comment>


The Drug-Violence Myth - <AUTHOR> https://casetext.com/posts/the-drug-violence-myth#924 <comment><USER2> There are mental gymnastics involved anytime the umbrella term "drugs" is invoked; the behavioral differences between cannabis, LSD, PCP, heroin and crack cocaine are so staggering, it's absurd to talk about them lumped together. You might as well try to include roller skates, go-carts and fighter jets into traffic laws.

Anecdotally, there are instances where there is a correlation between some drugs and violence, which is why the myth persists, even if the statistical likelihood of violence is identical for non-drug-related circumstance. But the vast majority of drug violence is a product of inevitable black markets, and a reflection of the misused violence of the state.

<comment><USER3> Try "socially unacceptable drugs" or "taboo drugs." The classification is completely arbitrary, and is usually related to whether or not the drug is used by a socially marginal or ethnic minority group like blacks or hippies. Alcohol can be as dangerous as heroin if used heavily, but upper class white people drink it so it's okay and is not a "drug."

<comment><USER4> >Upper class white people

Your racism is showing.

Upper class people like Cocaine too, care to inject a racial undertone as to why that is illegal?

<comment><USER3> That's why the penalties for cocaine are historical less than for crack despite them being the same drug.

It's not racial per se -- in the original message I think "dominant mainstream culture" would be better than "white" \-- though in the 50s and 60s those were almost the same thing. Back then the dominant culture implied white, English- speaking, and protestant Christian, and other cultures and ethnic groups were second class. That's much less true today but not totally.

I'm speaking to the historical reasons for the war on drugs, which are mostly related to racism as well as a desire to suppress subcultures like the 'hippie' movement. The original propaganda used to make marijuana illegal was all about black men seducing white women. Google it.

If the war on drugs were about health and based on rational health evidence, marijuana would be legal and alcohol would be schedule I.

<comment><USER5> Crack is much more addictive, and most of the people buying crack are white.

</comment></comment></comment></comment></comment><comment><USER6> Long, long ago, in a college town far away, I was arrested in my own home, without a warrant, for possession of marijuana. The case was thrown out by a judge due to various evidence problems, stemming from not getting a warrant.

There are a limited number of circumstances under which it is legal for police to enter and search a home without a warrant. As my lawyer casually knocked down the others, the prosecutor finally landed on "danger to the officers". The cop on the witness stand helpfully piped up, "In a drug case, there's _always_ danger to the officers!" The judge glared at him, and said "You just told me you were outside for fifteen minutes, and they didn't even know you were there! You were not in danger!"

That was pretty much the end of the case.

<comment><USER7> im confused - who was outside for 15 minutes ?

<comment><USER6> The cops. There were three of them outside our house. They came on a noise complaint - we were having band practice, and didn't hear them knocking. They looked through the window and saw pot on the coffee table (AFTER I had already gone through once and cleaned it up and yelled at stupid careless musicians to not do that, in case the police were called about the noise, sigh).

They had plenty of opportunity to get a warrant, but were just too lazy to do so. When I finally answered the door, they asked if they could come in, I said no, and the sergeant in charge said "Oh yes we can!" and forcibly shoved me out of the way.

After gathering us all up, they separated me and asked me privately who it belonged to - me and my roommate, or our three guests? The implication was that they'd arrest the two of us, or arrest everyone. I lied and said it was all ours, so the other three were released.

Judge ruled the confession was coerced. I wasn't "under arrest" officially, so I hadn't been read my rights, but I was not free to go, and they intended to arrest me, and it was clear that was the intent. And he ruled the evidence from the search inadmissible due to lack of a warrant.

What's irritating is how cocky they all were. My roommate's lawyer advised a guilty plea. Luckily, mine wanted to fight. If we had lost, I would have had to pay for the public defender (since we won, the state paid). In today's environment, an unreasonably high bail would have been required instead of our own recognizance, and a guilty plea offered as a bargain at the bail hearing. It's a shitty system.

<comment><USER7> thanks!

</comment></comment></comment></comment><comment><USER8> We know that a drug addiction is a weak predictor of violence.

We know that previous violence is a predictor of violence.

We know that mental illness generally isn't a predictor of violence. Even when you limit mental illness to just personality disorder and psychotic illnesses it's weaker than an addiction or previous episode of violence.

But if you combine any two you get stronger predictors, and if you combine all three that's the strongest predictor.

The article correctly points out that this gets misinterpreted as "drug use predicts violence".

Frustratingly putting people in prison for their drug use exposes them to violence, which this raises their future risk of being the perpetrators of violence.

<comment><USER9> Taking more than one ineffective predictor doesn't magically make them better.

The article states there is no demonstrated link. That doesn't mean that it's not strong enough to detect on it's own, that means there is no link demonstrated.

Adding up a bunch of nothing doesn't make something. It just makes it easier to hand wave away the fact it doesn't actually mean anything.

<comment><USER8> Drug use has clear links with violence (although we don't know if it causes that violence, and sometimes we're talking about victims more likely to use drugs after violence). The article does nothing to explain why drug addiction is so strongly linked to violence in medical literature.

> Adding up a bunch of nothing doesn't make something. It just makes it easier > to hand wave away the fact it doesn't actually mean anything.

There's a whole bunch of research showing this. Feel free to pick any one study and explain why it's wrong. That research is pretty clear: MI alone is a weak predictor; drug or alcohol addiction is a less weak predictor; previous violence is a stronger predictor; but if you have combinations of any two that's a stronger predictor than any one alone and if you have all three that's the strongest predictor.

The submitted article even quotes this increased risk from drug offenders:

> A 1997 survey of prisoners also indicated only 12% of federal drug offenders > were ever convicted of a violent crime.

That's an increased risk of being a perpetrator of violence! 12% of the general population haven't been convicted of a violent crime.

According to Wikipedia the total number of adults under correctional supervision:

> In total, 6,899,000 adults were under correctional supervision (probation, > parole, jail, or prison) in 2013 – about 2.8% of adults (1 in 35) in the > U.S. resident population.

That's the total, which includes all non-violent crimes as well as violent crime.

Here's a World Health Organisation report:

[http://www.who.int/violenceprevention/interpersonal_violence...](http://www.who.int/violenceprevention/interpersonal_violence_and_illicit_drug_use.pdf)

\---begin quote---

• In Los Angeles, USA, 35% of methamphetamine users aged 18-25 years old were found to have committed violence while under the influence of the drug (7).

• In Memphis, USA, victims and family members believed that 92% of perpetrators of intimate partner violence had used drugs or alcohol during the day of the assault and 67% had used a combination of cocaine and alcohol (8). A study on intimate partner violence in China found that partners who used illicit drugsa were significantly more likely to abuse their spouses physically, sexually, or both (9).

• Results from the British Crime Survey 2007/08 showed that victims of violent crime believed the offender to be under the influence of drugs in 19% of incidents (10).

• In Australia, perpetrators of violence against nurses in emergency departments were perceived to be under the influence of drugs in 25% of cases (11).

• In Atlanta, USA, ecstacy users with higher levels of lifetime use exhibited higher rates of aggressive and violent behaviour (12).

• In Rhode Island, USA, a quarter of women arrested for intimate partner violence and referred by courts to intimate partner violence prevention programmes reported symptoms consistent with a drug-related diagnosis (13).

• In Canada, boys reporting sexual harassment perpetration were seven times more likely to use drugs and girls four times more likely to use drugs (14).

• In a study of violence in youth holiday resorts among young German, Spanish and British holidaymakers, the use of cocaine during the holiday was associated with triple the odds of involvement in fighting and use of cannabis with double the odds (15).

• In England and Wales, 12% of arrestees held for assault tested positive for cocaine use and 24% for opiate use (excluding methadone) (16).

\---end quote---

\---begin quote---

Psychiatric factors:

There are elevated levels of psychiatric conditions, particularly Post Traumatic Stress Disorder (PTSD), in drug users experiencing and perpetrating violence. For example, high rates of intimate partner violence have been found among women with both drug use and PTSD (80), while the presence of both cocaine dependence and PTSD is associated with increased perpetration of partner violence (81). Furthermore, psychological distress and PTSD associated with experiencing rape and physical assault are related to greater severity of drug use

\---end quote---

</comment></comment></comment><comment><USER10> Sadly, our world-class political system is based entirely upon feelz, with no minimum qualifications for participation.

<comment><USER11> "Much of the social history of the Western world over the past three decades has involved replacing what worked with what sounded good." -Thomas Sowell

<comment><USER12> Right, because things were so awesome back in the day...not. Sowell has made a great living out of pandering to white conservative nostalgia; his rhetoric relies almost exclusively on emotional arguments, wrapped in a thin veneer of objectivity and disinterested logic. Note, for example, the assertion of a vanished _status_ that 'worked,' sidestepping the question of why there was any impetus to change it in the first place.

A reading trick that I find incredibly useful (no matter what your political affiliation) is to mentally highlight all valuable adjectives and implicit adjectives - valuable being 'nice car' as opposed to purely descriptive adjectives like 'blue car', and implicit adjectives being things like 'worked' above, which implies something that worked well rather than worked badly. Some writers, and I think Sowell is an exemplar here, specialize in stating a bunch of logical non-sequiters as a frame for a purely emotional, subjective argument. This is the rhetorical equivalent of the stage magician drawing your attention to the absence of anything being up his sleeve in order to distract your attention from what he's doing with the top hat.

<comment><USER11> > because things were so awesome back in the day...not

are you trying to credit technological advance to democratic government?

what are you talking about?

</comment></comment></comment></comment><comment><USER13> I worked for a not-so-short time in a run-down bar... I had drinkers, fighters, junkies and stoners.

Guess which group I never had problems with? Yup, the stoners. They were just sitting there, smoking outside and not being aggressive. The drunks would always fight sooner or later.

<comment><USER14> Feels like your story is incomplete: tell us how did the junkies behave?

<comment><USER13> Needed emergency services two times and I nearly stung myself on a needle while cleaning out a pissoir because it was stuck with a condom and cigarette butts. Also, two (known, but not to me) heroin junkies smashed gambling machines.

edit: oh, forgot the occurence of a junkie shitting into the pissoir. God, what a smell, it was horrid to clean up that mess. And a suspected mentally ill dude smeared feces over the wall.

The gambling addicts were mostly harmless but I had to kick out a couple of them because they tried to sell stolen gear to other customers for cash to gamble.

</comment></comment></comment><comment><USER15> This also seems to disprove the often repeated theory that most people incarcerated for non-violent drug crimes are actually known violent criminals who are only being charged with those offenses because they are easier to prove, while mere users are generally left alone.

</comment><comment><USER16> we know that alcohol is connected to violence. Lets outlaw alcohol and thus decrease the violence... Or as they say here (that pearl of government- hypocrisy-speak has just made my day, i'll probably add it to email signature :)

[https://www.fbi.gov/about-us/history/brief- history](https://www.fbi.gov/about-us/history/brief-history)

"Prohibition created a new federal medium for fighting crime,"

</comment><comment><USER17> Just more evidence that the war on drugs does far more damage than drugs themselves.

</comment><comment><USER5> It is hard to dispute that inner city gun violence is drug related, which is probably why they don't mention it.

<comment><USER18> Indeed, all you have to do is to read up on who's murdering who. Drugs and violence are intimately tied together at least in the USA. The laws are set-up to punish drug offenders based on the quantity of drugs in one's possession. Beyond a certain quantity, the offender crosses a threshold into "distribution" rather than "use"\-- and long histories of violent, organized crime is typical for those folks.

<comment><USER19> The text of the article is designed to respond to exactly this familiar argument. If you're reading this, angdis, you may be interested in reading the article.

<comment><USER20> The article conflates drug users and drug dealers.

</comment></comment></comment></comment><comment><USER21> Why is this on the front page? I've used multiple browsers on multiple OS's and every one of them renders a blank page.

<comment><USER22> Not having that issue here, but it seems to be dependent on javascript to do anything.

<comment><USER23> Have to allow JS from filepicker.io, two amazon.aws domains, and a cloudfront domain.

<comment><USER24> Off-topic: Only allowing the cloudfront-domain worked for me.

</comment></comment></comment></comment><comment><USER25> I've been assaulted twice by complete strangers in the night time in the city. Both times I managed to avert major violence and get away unscathed. In one case it was someone raging on alcohol and being angry at the world. In the other case it was someone so high on something that he essentially wasn't there. Glazed eyes, a blank stare, mouth foaming and taking off his clothes. He couldn't even talk but for some reason he wanted to hurt me specifically. I don't think he would have attacked me if he wasn't high so I think that is an obvious case of drugs _causing_ violence. Don't think I'm the only one that has been attacked by a drug maniac either.

<comment><USER26> This type of anecdata is exactly what the article is trying to convince people not to fall prey to.

From the actual article:

> Ultimately there is no solid proof that drugs cause violence. Most drug > offenders commit nonviolent offenses and at low rates. Though certainly drug > addicts commit more crimes, they commit them at low rates, and the > connection between drugs and violent crimes is complex and not conclusive. > Empirical evidence that I discovered with Frank McIntyre actually shows that > drug defendants commit less violent crime on pretrial release than any other > group of defendants.

<comment><USER25> To prove a generalization false, "drugs do not cause violence", you just need one counter-example. I've found one example where the drugs did cause the (attempted) violence so the generalization must be false.

<comment><USER27> You're confusing a statistical claim for an absolute claim.

You're right that if the claim is "drugs are never, ever the cause of any violence" then you just need one counter-example.

But the claim is actually "statistically, violence caused by drugs does not occur at a rate detectably above the rate of violence in general" which means something like that the number of violent acts with drugs as a cause is extremely low, or that violent acts caused by drugs would still have happened just with a different cause if it were not for the drugs.

<comment><USER28> Actually the article (in the quote the replier posted) uses statistics to so show, evidently, that drug users commit violence less frequently than a control group; the quote does not discount the causal effect of drugs and violence, much less in such a specific case.

The way to invalidate the poster's original claim is to show evidence that the violent behavior in that specific instance (or at least a comparable instance) was in no way related to the perpetrator's drug-influenced physiological state. I believe that would be difficult to demonstrate.</comment></comment></comment></comment></comment>


Responsible Advertising: Feed a Programmer - <AUTHOR> http://blog.stackoverflow.com/2009/03/responsible-advertising-feed-a-programmer/ <comment><USER2> _"The two sidebar ads will stay, however, they will switch from a contrast visual style to a blend visual style (for text ads)."_

Say what you will about Atwood, but he nails a lot of the details. Keeping the ads but making them unobtrusive for established users is a _great_ idea that I'm surprised I haven't seen elsewhere.</comment>


Is OOP paradigm broken? - <AUTHOR>

Can Python and Google App Engine experts take a look at these questions at Stackoverflow. (Links in comment) The whole thing makes me hate OOP. It may be my fault but a simple operation of writing a list to datastore and fetching it and printing the content of the list turns out to be so far impossible. Your comments would be greatly appreciated. I think the OOP paradigm is broken but that may be my own ignorance. Thanks. <comment><USER2> I'm not sure how your troubles here equate to a criticism of OOP. What language paradigm are you most familiar with? Procedural? Functional?

<comment><AUTHOR> I don't know enough of neither to give you a good answer. But there were two solutions to my question in Python group that helped me understand the issue:

[http://groups.google.com/group/comp.lang.python/msg/edf12c87...](http://groups.google.com/group/comp.lang.python/msg/edf12c874e7b2733?hl=en)

[http://groups.google.com/group/comp.lang.python/msg/43999687...](http://groups.google.com/group/comp.lang.python/msg/439996871519514e?hl=en)

I would like to ask you , if you get a chance, to explain how the following situation is handled in procedural and functional languages:

        If you want to control how an object is represented
        when you put it in a template you should define a __str__ method:
        class Rep(db.model):
            # Properties
            ...
            # Representation
            def __str__(self):
                return "\n".join(self.replist)

and

        You can apply a list method to a list object by
        actually getting the list object. You can't call a
        list method on a query object or a Rep object.

        Rep() = Rep object
        Rep.all() = Query object
        list(Rep.all()) = List of Rep objects.
        list(Rep.all())[0] = A single Rep object
        list(Rep.all())[0].replist = A list

        So once you have that last step, you have a list.
        Which you can manipulate like any other Python list.

Thanks.

<comment><USER2> Python can be used to write procedural, functional or OOP. It's a multi- paradigm language which means it's up to you to give the code the structure you think is best for the problem.

For instance wikipedia has an example of the same problem written in python as functional or imperative style:

[http://en.wikipedia.org/wiki/Functional_programming#Coding_s...](http://en.wikipedia.org/wiki/Functional_programming#Coding_styles)

If you're an absolute beginner to programming you should study a bit:

<http://learnpythonthehardway.org/>

If you've done some programming in the past, you should still study the fundamentals of the language you're using. Buy or borrow a python reference book and read through it. It looks to me like you're getting frustrated with not knowing what return types you're getting out of methods and functions. A reference book will help with that. You should also understand python's way of using duck typing:

<http://en.wikipedia.org/wiki/Duck_typing#In_Python>

</comment></comment></comment><comment><AUTHOR> [http://stackoverflow.com/questions/4063767/what-does- fetch-f...](http://stackoverflow.com/questions/4063767/what-does-fetch-fetch- in-gae)

[http://stackoverflow.com/questions/4061986/is-there-a-way- to...](http://stackoverflow.com/questions/4061986/is-there-a-way-to-print-the- elements-of-a-list-object-in-python)

[http://stackoverflow.com/questions/4060924/google-app- engine...](http://stackoverflow.com/questions/4060924/google-app-engine-fetch- and-print)</comment>


US deploys 'game-changer' weapon - <AUTHOR> http://news.yahoo.com/s/afp/20101201/sc_afp/usmilitaryweaponsafghanistan

<comment><USER2> I remember reading about this when it was combined with a 5.56mm rifle in a single package. Good to see it going to production; combining the best of direct and indirect fire in a single weapon does seem a bit of a game changer.

It's interesting to project the tactical adaptations of people facing the weapon. Seeking L-shaped cover and trying even harder to avoid direct engagement (IEDs, etc) seem obvious; but I'm sure there are many more implications.

</comment><comment><USER3> This is a grenade launcher with programmable air-burst ammunition. If the enemy is hiding in trenches you can set it to go off over their holes, if the enemy is hiding behind a wall you can set it to go off behind the wall, etc.. It also has uses in more dynamic firefights, since unlike most grenades it doesn't have a timer, you can fire it into a group of enemy soldiers running at you and set it to go off amongst them. Overall it's a pretty potent weapon.

A similar weapon technology was developed by the allies in WWII, it was a radio fused artillery shell called the "VT fuze". It allowed artillery shells to detonate at a specific distance above the ground (or in proximity to an aircraft), instead of on a direct hit. This dramatically increased the effectiveness of artillery (by nearly an order of magnitude), the shells were considered so important that they were only used in situations where they could not be captured and fall into enemy hands.

<comment><USER4> Although the latter changed (by definition) just in time for the Battle of the Bulge. Patton later commented that it would force a complete change in infantry tactics.</comment></comment>


Justin Kan: Why I Love B2B Over B2C - <AUTHOR> https://www.atrium.co/blog/b2b-vs-b2c/ <comment><USER3> I'd love to read a rebuttal from someone who's sold a successful B2B startup because I get the feeling that everything just seems greener on the b2b side to Justin at this point considering his history.

<comment><USER4> I've started and sold multiple B2B startups (and started 1 B2C as well as observing or consulting for a few others), and I agree with Justin's thesis and most of his points.

Other than for content, getting individuals to spend their own money - <USER2> for something they seem to and claim to value - is incredibly difficult. Other revenue sources run into the issues he lists.</comment></comment>