When source code reveals an emotional life. - <AUTHOR>

I really liked a recent post about the ASETNIOP keyboard layout.  TLDR; it's a chording key layout with an iPad app and a javascript demo.
http://asetniop.com/Tutorial1.html
The basic method for building a good chording keyboard is to identify frequently used strings/words and map them to short key combos.
While the code is a horror to read (I assume it's human-transpiled from C to JS), the frequency data collected by the developer shows some interesting, and sad, patterns in their life.  Patterns that I am sure are familiar to lots of people on HN.
Take this selection of frequent words: wChars[231]="walked"; wChars[232]="took"; wChars[233]="talk"; wChars[234]="stock"; wChars[235]="lack"; wChars[238]="period"; wChars[239]="work"; wChars[241]="human"; wChars[243]="small"; wChars[244]="home"; wChars[245]="example"; wChars[246]="simply"; wChars[247]="played"; wChars[248]="book"; wChars[249]="taking"; wChars[250]="much"; wChars[251]="almost"; wChars[252]="problem"; wChars[253]="family"; wChars[254]="economic";
"economic problems"... "family problems"... "book taking much"... "almost [done]"... "took stock"... <comment><USER2> May I know where and how the data collected? And what is the first word in the array?

<comment><AUTHOR> I am not certain how/where it was collected (I am not the developer).

Also, the first word in the array won't be directly meaningful, because this is an array that represents a whole keyboard layout (so the first element is "a", the second "s", etc). The first real "word" is actually "and", which is not an interesting word. And it's first-ness is even less interesting because the order in this array is determined by the keys you press to select an item, not the frequency of that word ("a" has a low bit value, so "and" comes before "the", another uninteresting but very frequent word).

But, in later sections of the array (where you are pressing 5+ keys at a time to produce a longer word), you can choose from nearly any english word, and so it makes sense to choose ones that you use frequently, and so it makes sense to analyze a corpus of text to find the frequent words. The words ultimately chosen lead me to believe it was the developer's personal emails that were scanned.</comment></comment>


Or Else – App that helps you get stuff done - <AUTHOR> http://orelseapp.github.io/

<comment><USER2> If you need an app to help you get stuff done, it is a sign of problems with the tasks at hand. Maybe the end value of these tasks isn't exciting enough. Maybe you haven't sorted out what you truly care about.

If something feels so much like drudgery that you'd forget about it without an app, perhaps you shouldn't be doing it at all.

<comment><AUTHOR> But how do you truly define progress?

<comment><USER2> The things you count as progress should be important enough that you don't need an app to remind you. If your house is on fire, it's obvious to leave the vicinity for example.

</comment></comment></comment><comment><USER3> Looks interesting (I really like the colour you've chosen as well), but does it require Facebook (as it seems to from the landing page info)? If so,I'll be avoiding this unfortunately.

<comment><AUTHOR> Thanks! Yeah, so the way it works is you login with FB, create task, choose a friend, if you didn't do it, your friend can then write a message which will be posted through your account. Hence, they actually don't have "access" per- se to your actual FB.

</comment></comment><comment><AUTHOR> Would love to hear your feedback! Help us test it by joining the beta.

</comment><comment><USER4> We took "Show HN" out of the title. Show HN is for things that people can try out now, not just sign up for: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html).

<comment><AUTHOR> Whoops! Thanks for the heads up, dang.</comment></comment>


Yes, it was a ddos - <AUTHOR>

It was not just mtgox.  Every single exchange and major exchange rate outlet was down.  #2 post on reddit was about how the economy was crashing in one of the most circle-jerky discussion boards in history, posted by a brand new account.  volume was higher in that spot by more than double: http://www.bitcoincharts.com/charts/mtgoxUSD#rg60zig6-hourzm1g10zm2g25zvzcv
my honest opinion is that there was a coordinated attack.. not on bitcoin, but on the holders.. not the early adopters for the most part, but those who bought in because it's the greatest investment since sliced bread.. those that are buying in highest and taking the most risk.  it was an attack against those people.
i guess there will be more.
pre-edit aka inb4 "it was just a ddos":  if you were trying to get current price information from one of the plethora of different places you generally get it, or, you have some other enlightened analysis, please  prove me wrong say more. <comment><USER2> When everyone has that "bubble ready to pop" feeling, any slight hint of bad news will send it straight into the ground. Whether or not the bad news was real or created doesn't matter, the effect is the same. It's inevitable.</comment>


Launch HN: RevenueCat (YC S18) – Simple API for Managing In-App Subscriptions - <AUTHOR> Hello HN! We're Jacob and Miguel, founders of RevenueCat (https://www.revenuecat.com). We're taking the pain out of building a business on in-app subscriptions.
Before starting RevenueCat, Miguel and I worked together at Elevate (https://www.elevateapp.com), Apple's 2014 App of the Year. Elevate is a brain training app that monetizes with in-app subscriptions. We found that while the subscription model was essential to the business being viable, implementing it was time consuming, complicated, and boring. We needed to see and react to customer level data on LTV, churn, and conversion and it just wasn't possible without building our own, complex subscription tracking infrastructure.
RevenueCat is an Android, iOS, React Native, and Unity SDK that allows you to get up and running with subscriptions (with all the bells and whistles) in a couple of hours instead of weeks or months. We've found and cataloged the nuances and bugs of the platform in-app purchase APIs and wrapped around them to provide a stable and easy to implement API that is consistent on all platforms.
Right now we provide cross-platform status tracking, receipt validation, customer management, and charting for MRR, conversion rate, and more. Our plan is to become a full revenue management platform, so app makers can focus on making their app useful, and we'll handle making sure it makes money. There are lots of standard monetization strategies (price testing, lifecycle offers, sales, churn prevention, etc.) that most app developers simply don't have the time to implement and maintain. These things can make a huge difference to revenue (we saw it first hand).
We believe mobile software is undervalued and subscriptions can help. Right now, it's too hard for developers to do them right. We want to fix that.
I'd love to hear your thoughts, fears, and desires! We're working on adding more SDKs (Xamarin, Cordova, etc.) Sound off in the comments if there is one you'd like to see. Also, if you have an app that wants to try subscriptions or monetize them better reach out, we can help. <comment><USER2> Congrats on the launch. I love 'boring infrastructure' companies, they are the ones that become huge :) The world is moving to subscription businesses and the tech needs to catch up

</comment><comment><USER3> Man I wish this existed 8 months ago when I built our own version internally! We have a mix of Stripe and App Store customers so we'll definitely be switching (to remove our mental load) if you guys ever support that!

Best of luck.

<comment><AUTHOR> Stripe is coming! This was a big source of pain for us at Elevate, supporting 3 platforms seamlessly.

<comment><USER4> Product looks great and would love to use it for iOS+Stripe, so I have to ask - any timeline for Stripe integration? Also this Fall?

<comment><AUTHOR> Stripe might be sooner since it's mostly just backend work and we have some existing customers asking for it.

</comment></comment></comment></comment><comment><USER5> Pricing isn't clear for larger scale apps. Is the extra charge per $1k on include the first 20k; after a tier is reached, how is the next $1k calculated.

You should have an interactive price meter where we enter MTR and see the costs per month.

You should also specify if MTR includes or excludes Apple's cut.

A great inclusion to the service is handling timed hooks to send notifications. Like if a user is about to have their trial expires and have their subscription cancelled, sending a notification to remind them of the trial can be helpful.

<comment><AUTHOR> Great feedback. Thank you.

The per $1k pricing is only on dollars over the $20k base. We're planning on a adding price meter a la Segment's pricing page, just a matter of javascript- ing it up.

I just pushed a change (30s ago) that adds the platform cut question. We base it pre-platform cut because it incentives us to reduce the platform cut if possible: by getting more subscribers to the 1 year mark, or by getting subscribers on to cheaper platforms (like Stripe.)

And yes, lifecycle campaigns are something we want to get into. Since we're not in the business of push notifications, we'd probably just let you integrate your OneSignal or Braze key and we could send hooks to them so you could trigger whatever kind of custom campaign you wanted.

</comment></comment><comment><USER6> About time. It just saddens me that after so long dealing with the myriad problems of selling through the AppStore, the response has to come from a third party instead of Apple. Well, I guess it's developers solving developers' problems.

Question: How does RevenueCat data integrate with my data pipeline? Seeing all the metrics and charts in your dashboard is great, but if I already have a data solution set up, is there a way to export all the revenue data from RevenueCat into our infrastructure?

<comment><AUTHOR> We feel your pain. In fact we felt it so bad we decided to fix it. :)

Our dashboard is pretty MVP still. It's good but there is a lot we want to do yet.

There are a couple ways you can get the data out of our service.

We have webhooks that are like Apple's server-to-server notifications, but not terrible. We normalize them between Apple and Google and actually provide events that Apple does not (when a user unsubscribes).

Our Grow plan offers an ETL export where we can deliver you daily (or faster) CSV's ready to be loaded into Redshift or to be incorporated into your own ETL.

We also can do event forward and send subscription events as they happen to third party services like Mixpanel, Google Analytics, or Amplitude. So you can track renewal events without users opening their phones.

<comment><USER6> > We have webhooks that are like Apple's server-to-server notifications, but > not terrible.

That made me chuckle. Sounds like event webhooks + ETL exports should cover everything. So far Apple's metrics have not only been very limited, but the fact that we can't relate them to our user data means that they're almost useless. You can't segment by demographics, correlate to the user's history (are people who do X more likely to convert?), you can't even a/b test.

Any company that is on the AppStore and takes themselves seriously needs to know what they're making off each individual user to the penny. If RevenueCat helps with that, then I expect you'll do very well.

<comment><AUTHOR> You should come with me when I pitch investors.

Exactly, the ability to tie subscription data to individual users is essential if you want to run a data driven app business. We make that easy.

</comment></comment></comment></comment><comment><USER7> This looks amazing and is definitely much-needed.

Any plans to add an SDK for the Microsoft Store?

<comment><AUTHOR> We want to have an SDK for every platform on Earth...eventually.

Our REST API is pretty simple so it's easy for us to add new platforms. We just want to make sure we take the time to understand each one well before supporting them.

Our whole purpose is to reduce complexity so if we create a bad abstraction, we've failed.

</comment></comment><comment><USER8> Any ETA/plans for a web version?

I'd love to be able to use the same API for web and mobile, with revenue cat just wrapping a conventional payment processor to provide a compatible API surface.

<comment><AUTHOR> Soooooon. :)

</comment></comment><comment><USER9> Why has this not existed before?

<comment><AUTHOR> That is a great question.

I think it's largely been overlooked by the incumbents (Zuora, Aria, Recurly) because of the complexities of the App Store and the relatively small market compared to credit cards. But the market is growing and more companies are going multi-channel, selling on multiple platforms.

Zuora has a really smug post about it that motivates me a lot to eat their lunch. [https://www.zuora.com/2015/07/08/dont-give-apple-money- mobil...](https://www.zuora.com/2015/07/08/dont-give-apple-money-mobile- subscriptions-payments/)

I also think it's so early, people are just starting to define the problem and develop the standard techniques. 3 years ago, Apple was much more restrictive about what apps could use subscriptions, now it's basically open season. For non-game apps, this has turned monetization on its head.

So long story short, I'm not sure. Which is why I'm excited to be the first to build something that I think is obviously needed. We will be able to define the category which is exciting (and a little scary.)

p.s. i <3 lambda school, i'd love to attend a student defense someday

<comment><USER9> Thanks, we'd love to have you! Finish up demo day and fundraise first :)

</comment></comment></comment><comment><USER10> Why would I use this over, say, Stripe, which is also very developer friendly, robust, and no fear of disappearing anytime soon.

<comment><AUTHOR> If you are selling digital goods on the app store, you can't use credit cards (and therefore Stripe).

You are forced to use Apple's in-app purchase APIs which are not very developer friendly (especially for subscriptions) and aren't very complete with regards to metrics.

Also, RevenueCat will be around for 1000 years so I reject the notion of us disappearing. :p Actually, I think about that every day. I had a lot of friends who got burned when Parse shutdown and I plan to avoid that. The way our pricing and costs work, we should never have to shut down the service.

<comment><USER11> My experience getting burned by Parse was when the platform was up, it was a flaming pile of shit. Erratic errors, inconsistent downtime, terrible support. The only good thing was the shutdown, IIRC they offered phenomenal support thanks to having the resources of Facebook - 1 year notice, open source software to ease the transition, etc.

<comment><AUTHOR> This is an excellent, if a little macabre, take on the Parse shutdown.

I think they did as good a job as could be done shutting it down. But, I think they missed a huge opportunity though. They could have been Firebase. Maybe making money was an issue but I think they could have figured it out eventually.

<comment><USER11> Thanks for the compliment on my macabre take.

Parse was very very good for making it easy to prototype apps. However, once apps began to scale, Parse fell apart and was not a suitable technology. They would not have been able to make money because all the big money comes when people have full scale deployments on a platform, and that simply would not have been possible with Parse's shitty-for-scale technology. Again, very awesome tech for rapid prototyping mobile app development ca. 2012 2013..

It wasn't my decision to bet on the technology; it was in place when I was called in to put out the fires. I have a hard-won personal rule not to bet my organization's technical architecture on any tech that hasn't been around for at least 5 years UNLESS it solves a mission-critical pain point / workflow / etc.

I was on the engineering team for another mobile app that did $20M a year in revenue, mostly from in-app subscriptions.. was extremely costly to manage, so seems like you may have a pain point here and a new tech that may be worth betting on. Good luck!

</comment></comment></comment></comment></comment><comment><USER12> Typo :^)

Why should I trust RevenueCat? "Because... They brings that experience to RevenueCat."

<comment><AUTHOR> Oh! On our web page. Good catch!

</comment></comment><comment><USER13> Sounds cool. I would deploy it for our iOS app, but our subscriptions are finally working really well and there is too much risk that we'd break it. Maybe we'll try it for our Android version when that gets built in a few months.

<comment><AUTHOR> Yeah, that's an understandable objection. We need to work on our value prop for customers who already have systems deployed. The switching costs aren't that bad, but there's a question of "why wake a sleeping monster" by messing with it.

Totally worth trying it out for Android. In a lot of ways, Android is a bigger pain than iOS on the server side. Feel free to ping me on Intercom or email firstname.lastname@example.com if you want tips on how to implement it.

</comment></comment><comment><USER14> When will the Xamarin SDK be ready? Need to decide whether to implement on our own or wait for RevenueCat

<comment><AUTHOR> 2 weeks! [1] jk

Realistically, this fall. I started to check it out a couple weeks ago but we're so busy with our existing SDKs I don't think I'll be able to bang it out super quickly.

Make sure you save your receipts on your server. That will help you either migrate to RevenueCat some day, or build your own system.

[1] [https://www.youtube.com/watch?v=lJhHjACjJjA](https://www.youtube.com/watch?v=lJhHjACjJjA)

<comment><USER14> I guess we'll just make do until the Xamarin SDK is ready. Thanks.

<comment><AUTHOR> Yeah, sorry. You aren't the first to ask and I suspect not the last. We're gonna do it.

</comment></comment></comment></comment><comment><USER15> There's a minor typo in the footer: "Revenue Model Cal>C<ulator"

<comment><AUTHOR> Thanks!</comment></comment>


How and why Lyft rewrote its app in Swift - <AUTHOR> http://www.fastcompany.com/3050266/tech-forecast/lyft-goes-swift-how-and-why-it-rewrote-its-app-from-scratch-in-apples-new-lang <comment><USER2> My latest project is written in Swift. It was honestly a no-brainer to switch.

ObjC seems a bit cobbled together, and a lot of things look a bit more verbose that they need to be. And there's some type safety issues lurking in various places, too. And then there's the whole having .h and .m files, an inconvenient way to organise things in this day and age. Sure, I was used to it from c++, but that isn't the fastest language to code in, either.

One needs to get over the trepidation of a new language. I was talking to another CTO about this, a guy who's been coding for 30 years. Once you understand the domain and you can solve the problem, language is not a big deal. Of course you need a language that contains the abstractions of the solution, but generally any OO language will be able to do it. What's left then is whether the language lends itself to coding tools, terseness, library availability, and the level of granularity you need.

As a language that's focused on building nice apps, Swift strikes a good balance. If I'm going to be doing UI stuff, I can assume I won't need the fine-tuning that something like c++ gives me. I generally don't want to be bothered by the memory management, and I don't expect performance to be a big deal (people can wait dozens of ms for something, they won't notice). If anything takes a long time, I can use GCD just like in ObjC. I care that things are easy to find in the code, and there aren't many contortions (eg pull out something as an id and cast it. Concat a string by using a ludicrously long function with an unobvious name). There's library compatibility, so I can pretty quickly glue together an app from the same pieces as ObjC, with less glue.

<comment><USER3> > ObjC seems a bit cobbled together

Of course it is, the original ObjC stapled smalltalk features to C with a preprocessor (Cox's original project was called OOPC "Object-Oriented Pre- Compiler"). It later grew a genuine frontend and its own runtime, but the core idea remained: a thin dynamically typed language layer over raw C.

</comment></comment><comment><USER4> One more reason: to get featured inside the App Store.

Apple loves to feature apps showcasing their latest technologies.

They show such apps as a good example for other developers to follow.

</comment><comment><USER5> > Over the years, the original version of Lyft had ballooned to 75,000 lines > of code. By the time the company was done recreating it in Swift, they had > something that performed the same tasks in less than a third of that.

I recently read a tutorial on how to make an Uber app on Swift that was fairly short (although not complete yet) [0]. 75k lines of code seems like a lot, even if it's down to a third of that. From personal experience, I know that code grows very fast when you start adding features but I can't point to any one reason why it should have to.

[0] [http://shrikar.com/build-your-own-uber-app-in- swift/](http://shrikar.com/build-your-own-uber-app-in-swift/)

<comment><USER6> Since when is 75K SLOC considered large? Around 100K is pretty standard for a medium-sized app, let alone a billion dollar company.

</comment></comment><comment><USER7> Meanwhile, on the cover of Fast Company: [http://www.fastcompany.com/3050250/what-makes-uber- run](http://www.fastcompany.com/3050250/what-makes-uber-run)

Lyft just can't beat Uber at PR.

<comment><USER8> >Lyft just can't beat Uber at PR.

I'd say Uber has far superior execution and product distribution, but worse PR/Perception.

</comment></comment><comment><USER9> Has anyone analyzed hacker news datasets for vote/comment manipulation? I am specifically referring to uber. It seems HN will go days without any uber- related content, but every now and then, 15-20% of the articles on the front couple pages will be uber related, with comment sections filled with aggressively pro-uber rhetoric. I highly doubt it's organic.

HN has a very manipulable hive mind. It doesn't take much to convince the audience here of an agenda. Uber certainly has the resources to operate a "grassroots propaganda" campaign. I'll bet it's a central tenant of their PR strategy. I'll also bet that a subset of that strategy is convincing the tech community to agree with the uber agenda. Two plus two equals four and uber is definitely manipulating HN.

Someone should crunch the numbers. I doubt uber would be the only anomaly to show up in an analysis, either.

</comment><comment><USER10> I began to port a small project to Swift and at a certain point Xcode crashed because of a copy-paste on a swift file. Postponed it until Xcode 7...

<comment><USER11> Xcode 7 GM is available, that close enough?

</comment></comment><comment><USER12> TL;DR: to gain maintainability at a cost to performance.

<comment><USER13> No where in the article does it mention that they had performance issues. Some developers write in JavaScript and it's fast enough. Swift performance is more than acceptable for most apps.

<comment><USER14> Sure, but it is slower and more maintainable. So "gain maintainability at a cost to performance" is correct. Which is generally what you want in most domains, but in areas where performance is more critical than maintainability you would rather use C still.

I don't know how Javascript plays into that - I assume Javascript is slower than Swift, but I don't think it is more maintainable.

We're not choosing religions here. Language is a technical decision (with business impact due to hiring availability). You choose the language that fits your goals best, not which one has a better saint.

<comment><USER13> "You choose the language that fits your goals best."

That's often an abused statement with no actual significance. If you are writing native iOS apps, you basically get two, maybe three, choices.

There is always a group of developers who will rush ahead and there's a group that will lag behind. It has more to do with human nature than the technical features of a language. That's why a year ago I started collecting a bunch of Swift resources in one place. Ive got almost 1500 urls.

[http://www.h4labs.com/dev/ios/swift.html](http://www.h4labs.com/dev/ios/swift.html)

Most blogs/articles on iOS development are now in Swift. If you are learning iOS 9, for example, it's easier to go with Swift. Swift is now the path of least resistance.

</comment></comment></comment></comment><comment><USER15> TL;DR: we had nothing better to do than to rewrite our entire app in Swift while the competition continues to destroy us.

<comment><USER13> They have a third of the code after the rewrite:

"Over the years, the original version of Lyft had ballooned to 75,000 lines of code. By the time the company was done recreating it in Swift, they had something that performed the same tasks in less than a third of that."

I'd say that it's a bit unfair to rip on a couple software developers as distracting the entire company.</comment></comment>


A Closer Look at the Super NES Doom Source Code Release [video] - <AUTHOR> https://www.youtube.com/watch?v=JqP3ZzWiul0 <comment><USER5> Modern Vintage Gamer makes excellent videos, all are worth watching if you have any interested in the history of video game tech.

<comment><USER6> He wrote a lot of the emus for Xbox 1. Guys a lesser treasure of computing.

<comment><USER7> I'm a big fan of his videos, and he's a really great educator. But he didn't wrote those emulators (and never claimed to) - he ported existing ones.

I don't say that to reduce his contributions (hell, I did my share bit of porting code to more exotic platforms, and a proper port is tons of work), but to give credits to original authors who did most of heavy lifting of writing actual emulators.

<comment><USER8> He literally has a video titled "I wrote the Emulators and Homebrew YOU played on the Original Xbox"

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

Don't get wrong, I love MVG's content, and I'm not a big gamer or even much of a YouTube viewer.

</comment></comment></comment></comment><comment><USER9> I remember playing the Bleem demo as a kid, and then a decade later thinking back and wondering "wait a minute, how was that emulation performance possible in 1999?"

<comment><USER10> Q1 2000 was the 1Ghz intel release. The PS1 had a 33MHz CPU.

Bleemcast on a 200MHz CPU is more impressive.

<comment><USER9> I mean, whatever PC I had in 1999 was definitely already several years old and probably wasn't top of the line at the time of purchase. So it was probably closer to 200 MHz than 1GHz.

<comment><USER11> Pretty sure when Bleem came out I was still rocking the 166Mhz 64MB family computer running windows 95 or 98. If memory serves, I was able to play Crash Bandicoot at not-quite full speed.

I owned a laptop shortly after that which was somewhere in the 200mhz-400mhz range that played PS games at full speed.

Yeah, I actually owned Bleem even though I had a PlayStation. I think I still have the CD.

</comment></comment></comment></comment><comment><USER12> For a (long) and in depth and information packed video about this from the original author (Randy Linden) in the form of an interview check out this video. [https://www.youtube.com/watch?v=P5PknJvplKg](https://www.youtube.com/watch?v=P5PknJvplKg)

</comment><comment><USER13> Fantastic video. For those in the industry, how does a game get ported?

Do you figure out all the constraints of the target system, fork the original, adjust, and compile? Is it an involved process? Do the original dev's (Carmack in this case) get involved or is it "second tier" sort of work?

<comment><USER14> I've been involved in some ports recently, from really old systems into modern ones(like, PS1 games into current/next gen) - it's basically

1) import the whole thing into Visual Studio solution

2) Add the desired target platform

3) hit build

4) keep resolving compilation errors until the game builds.

5) keep resolving linking errors until the game links

6) try running the game until it starts on the target system and doesn't crash immediately.

7) congrats, now you have something that most likely runs without any video, sound or input

8) spend X amount of time re-writing the renderer for the target system, add input support, add sound. This step can take any amount of time

9) congrats, now you have a game that "runs". It probably runs like absolute garbage right now. Now spend time understanding how all subsystems work - <USER2> is the data loaded? If it was a PS1 game, it was probably optimized for loading from the disc - can we now change it to have a more straightforward loading sequence. Can we just load the whole thing into ram on startup and be done with it?

9) do as many tweaks and optimizations as the time and budget allow - <USER3> sure it renders in 4K, supports 3D audio, rumble for controllers etc etc etc etc.

Again, step 9 can take any amount of time, depends what your production allows.

We were lucky in that the original programmers who worked on these games 20+ years ago still work at the same company - so it was quite fun for them to revisit that old code. But yeah, don't expect people to remember the code they wrote 20 years ago, you end up ripping out entire sections still marked as "fixme before launch(date: 12/1998)".

As for porting between current platforms(like a game simultaneously launching on Xbox and Playstation) - it's usually built for both from the start. In the rare cases where a platform gets added later, it's basically the same process as above - add the target, try building and running until it does. People who have experience doing it can progress much faster than people who don't - <USER4> as everything.

<comment><USER15> From my (very limited) understanding of how really old systems often had very unique hardware features and games that were full of intricate hacks to use these to improve performance, it seems to me that steps 4 and 5 could already take "any amount of time".

<comment><USER14> Well, yes, but in most cases it was like "oh, it's using some exotic library(and hardware) to do physics? cut this whole segment out then". Then once you have something that builds you can figure out how to reproduce the functionality in some other way.

</comment></comment></comment></comment><comment><USER16> Wow. I really thought of myself as a Super NES fan, but I learned two things today:

1\. Doom was released on the Super NES. (I enjoyed the DOS version but never played it on the SNES).

2\. the Super NES supported multiplayer for some games (including DOOM) via the XBAND modem.

some more info:

[https://doomwiki.org/wiki/Super_NES#:~:text=Doom%20for%20the...](https://doomwiki.org/wiki/Super_NES#:~:text=Doom%20for%20the%20Super%20Nintendo%20Entertainment%20System%20was,NTSC%20version%20being%20available%20in%20a%20red%20casing).

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

<comment><USER17> I remember seeing info about XBAND in hardcore (import) gaming magazines like GameFan and Electronic Gaming Monthly, but hardly any info in more mainstream mags like GamePro. Never heard much of anything in Nintendo Power, but it's a glorified first-party game ad vehicle.

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

[http://www.hardcoregaming101.net/gamefan/GameFAN.htm](http://www.hardcoregaming101.net/gamefan/GameFAN.htm)

[https://archive.org/search.php?query=GameFan](https://archive.org/search.php?query=GameFan)

[https://www.polygon.com/2014/9/29/6867993/egm-electronic- gam...](https://www.polygon.com/2014/9/29/6867993/egm-electronic-gaming- monthly-history-kunzelman)

[http://alifewellwasted.com/2009/01/23/episode-one-the- death-...](http://alifewellwasted.com/2009/01/23/episode-one-the-death-of- egm/)

<comment><USER18> There's an excellent retrospective on YouTube about the xband and how it was built. It was a product ahead of its time.

For example, the way they got games that weren't built for laggy multiplayer to work was unbelievable: they recognized the cartridge and patched the code. Yes, that means every game that worked was a result of a custom built patching of that game's code at run time!

[https://youtu.be/k_5M-z_RUKA](https://youtu.be/k_5M-z_RUKA)

<comment><USER17> That's a great video, thanks for posting it. I remember hearing it was similar to how a Game Genie worked, but that's a lot more work than expected. Very impressive for 1993-1994.

</comment></comment></comment></comment><comment><USER19> That was really nice to watch and I think I could watch a whole series on this kind of source code analysis from the 16-bit era. I had the link opened next to a dozen tabs during the whole day and I kind of lost track where it came from so thanks for sharing it!

<comment><USER12> Check out Coding Secrets. There are probably a number of videos on this channel that you might enjoy. Some of it is newer and in the 3D era but it goes back into the 8 + 16 bit days as well.

[https://www.youtube.com/c/codingsecrets/videos](https://www.youtube.com/c/codingsecrets/videos)

And his original Game Hut channel. [https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g](https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g)

And of course, even though this is Playstation the extended interview with Andy Gavin is fascinating. [https://www.youtube.com/watch?v=pSHj5UKSylk](https://www.youtube.com/watch?v=pSHj5UKSylk)

<comment><USER20> Another phenomenal channel is Retro Game Mechanics Explained: [https://www.youtube.com/channel/UCwRqWnW5ZkVaP_lZF7caZ-g](https://www.youtube.com/channel/UCwRqWnW5ZkVaP_lZF7caZ-g)

</comment></comment></comment><comment><USER21> The most insane part to me, who's not a hardware person, is hacking a Starfox cartridge (because it had the SuperFX chip) as a dev system for the Doom port.</comment>


CodeStream Master Plan: addressing the messaging gap for developers with markers - <AUTHOR> https://dev.to/ppezaris/codestream-master-plan-5boh <comment><AUTHOR> Hi, I'm Peter the CEO of CodeStream. I've been an internet entrepreneur for the last 23 years and I am very fortunate to have worked with the same management team during that time, with two eight-figure and one nine-figure exits under our belts. Commissioner.COM (now CBSSports.com) was the first to bring fantasy sports online. Multiply introduced the first social network news feed. And Glip, which launched the same month as Slack with a very similar product, is now the app serving RingCentral's nearly three million paying customers. These three companies all had something in common, which is enabling group conversation and collaboration at scale.

Understanding code is one of the hardest problems in software development. At CodeStream, we think we have a novel approach to address this by first making it easier for developers to talk about code, and then capturing those code- based conversations and homing them where they belong -- with the code.

How we deliver the first phase of this functionality, and why we think it's important, is outlined in the link above.

[sorry if you saw this yesterday; I had a glitch in posting it the first time]

</comment><comment><USER2> Hi, thanks for building CodeStream, I'm working on a universal celebration platform (LinKedIn for celebration), but is a social value network not a social media network. Basically we don't see end user as a by product so is a different business_logic_$, the project is in stealth mode for now but it will be released shortly, probably 1Q_2019. Long story short we plan to use CodeStream and contribute to CodeStream mission, thanks.

<comment><AUTHOR> Thanks very much! Let me know if you have any specific feedback about it.

</comment></comment><comment><USER3> We are in planning stages for a new project, with everyone remote, this looks like a great way to keep the project moving forward and help with code review. Any ETA on VS Code availability?

<comment><AUTHOR> VS code is available now. Other editors to follow, based on the great work of the LSP project. [https://langserver.org](https://langserver.org)

</comment></comment><comment><USER4> Sounds like a cool concept.

Personally, it's been my (cynical) conclusion that a lot of times the bad- communication around code (e.g. lack of documentation/comments, resistance to PR feedback, closed architecture discussions), when it happens, can be attributed to motivations rather than lack of means.

But perhaps tooling provides more visibility around that and reduces the barrier for edge-cases.

<comment><AUTHOR> there's one other aspect i've learned from having built and studied communications systems over the last two decades, which is that you shouldn't underestimate how many edge-cases there are when barriers are reduced.

in 2004 nobody shared photos of their lunch with their friends, not because it wasn't possible, but because it wasn't easy. last week i witnessed a teenage girl in a restaurant spend the entirety of a 30-minute dinner taking and sharing selfies. perhaps 100 in total.

it's my sincere hope that a reduction in friction gets us all talking about code more often.

</comment></comment><comment><USER5> Hi Peter,

You mentioned this "...the ability to talk about any block of code, on any branch, in any state..." Re: "any state." On our team, we'd love the ability to comment on uncommitted changes and share with the team, as it would prevent us from requiring short-lived feature branches. Is that ability available now?

<comment><AUTHOR> Yes, absolutely. I made this short video to demonstrate how: [https://www.youtube.com/watch?v=D4HCiiQvMuY](https://www.youtube.com/watch?v=D4HCiiQvMuY)

</comment></comment><comment><USER6> It would be awesome if I could self-host CodeStream in our own network. Any plans for that?

<comment><AUTHOR> We're actively looking into it using docker. Would that work for your infrastructure?

</comment></comment><comment><USER7> I love what you're doing Peter. Which code editors are you planning to support next?

<comment><AUTHOR> In approximate order: vscode, atom, visual studio, jetbrains (intellij, webstorm, etc), sublime.

We also plan to publish our marker API so that fans of a particular editor will be able to create a client, should they be so motivated.

</comment></comment><comment><USER8> What if I use a text editor and not an IDE?

<comment><AUTHOR> Which one?

<comment><USER8> Vim

<comment><AUTHOR> We do plan to include what support we can in vim, given the limitations of the UI. It's certainly one of our most-requested editors.

Quick question on vim usage. Do you live in your terminal, and fire up vim, edit the file, and quit? Or do you leave your vim process running all the time (or nearly all the time)?

<comment><USER8> I live in the terminal, and fire up a vim instance when I need it (which is frequently). I probably have a few to a dozen processes at any one time depending on what I'm doing.

<comment><AUTHOR> Thanks for the feedback.

</comment></comment></comment></comment></comment></comment><comment><USER9> Hi Peter love what you're doing. Really interested to see where this ends up in a few years.

PS. +1 for Webstorm support

<comment><USER10> +100 for Webstorm support yes! :)

<comment><AUTHOR> Noted!</comment></comment></comment>


University of Wisconsin reverses controversial plan to gut liberal arts programs - <AUTHOR> https://www.insidehighered.com/news/2019/04/11/stevens-point-abandons-controversial-plan-cut-liberal-arts-majors-including-history/ <comment><USER2> I don't think universities should completely remove their liberal arts programs, but they ought to do something to make sure people know what kind of job prospects they're going to have. They shouldn't encourage people to take out enormous loans to get degrees in fields that have limited career potential.

By all means, let people get liberal arts degrees if they want. And certainly keep offering liberal arts classes as part of every degree program. They make for well-rounded graduates in every field. But don't encourage someone to go into tens of thousands of dollars of debt when the best possible degree- related job they can hope for is teaching liberal arts to the next generation of indebted students.

</comment><comment><USER3> > Patterson urged that the university should keep "developing and transforming > our academic offerings to meet the changing needs of central Wisconsin." > Stevens Point recently announced new programs at its Wausau and Marshfield > campuses, he said -- both formerly separate community colleges -- as well as > a new M.B.A.

The world doesn't need new MBA programs...especially if the cost is further gutting the liberal arts.</comment>


A meta-analysis of C++ projects - <AUTHOR> http://bastian.rieck.me/blog/posts/2018/cxx_meta_analysis/ <comment><USER2> Let me play the pedant: technically, this is an analysis, not a meta-analysis. A meta-analysis is an analysis of other analyses (typically, analyses completed by other people, and discovered through a literature review). The author has completed a single (interesting!) analysis of multiple projects.

[https://en.wikipedia.org/wiki/Meta- analysis](https://en.wikipedia.org/wiki/Meta-analysis)

<comment><AUTHOR> I am the author of the article. Thanks for the kind words! You are right in pointing out this incorrect terminology. I should know better and have changed the title :)

<comment><USER2> Oh, that's great! Thank you for taking my comment constructively.

</comment></comment></comment><comment><USER3> A lot of the headers in the "tail" are included by the other headers, or made available in some other way, which reduces their usage. For example, std::tuple is defined in both <tuple> and <utility>, which would help explain why <tuple> is lightly used. Most of <new> is implicitly defined by the compiler. <initializer_list> is "built-in". <iterator> is generally subsumed by "auto" and type inference.

<comment><USER4> _> <initializer_list> is "built-in"_

You still need to include the header for any of the following:

1\. Constructors (or functions) with `initializer_list` parameters.

      template<typename T> struct S {
              vector<T> vec;

              S(initializer_list<T> il)
                      : vec(il) {}
      };

2\. `initializer_list` literals in range-for loops.[1]

      for (int prime : {2, 3, 5, 7, 11})
               // ...

3\. Named `initializer_list` variables.

      const auto primes = {2, 3, 5, 7, 11};
      const initializer_list<int> primes2 =
              {13, 17, 19, 23, 29};

_> <iterator> is generally subsumed by "auto" and type inference._

The iterator adapters[2] are still pretty useful and (I thought?) commonly used.

Also, the "range access" and (new for C++17) "container access" free functions are very useful for writing template code that works with both C arrays and STL-style containers, but they're defined in many other headers.

[1] Useful with variadic templates:

      [](auto&&... args) {
              for (auto &&arg : {args...})
                      // ...
      }

[2] [http://en.cppreference.com/w/cpp/iterator#Iterator_adaptors](http://en.cppreference.com/w/cpp/iterator#Iterator_adaptors)

<comment><USER3> By "built-in", I was mostly talking about the fact that the literal syntax doesn't require a header. Case in point, here's some code I took straight from a toy AVL implementation I wrote a while back:

      auto children = {&grandparent->left, &grandparent->right};
      auto child = elvt::find_if(children, [parent](auto &child) {
      	return *child == parent;
      });

Yes, it's an abuse of initializer_list being a convenient "array-like" structure, but it does show that not every use of initializer_list _needs_ to be used as you've mentioned. (In fact, I probably use initializer_lists more this way than in their "intended" way. I'm sure someone is going to yell at me some day for it, but nobody's done it yet).

<comment><USER4> That requires including the header. It's probably included in one of the other headers you included, but that's not required by the standard.

</comment></comment></comment></comment><comment><USER5> > most prominently, shared_ptr

Is the 'prominent' conclusion part of the analysis (I couldn't find anything in the post), or just conjecture? Anecdotally I see unique_ptr far more often than shared_ptr, but I would be interested in hard stats on which is more commonly used.

</comment><comment><USER6> In all my code, #include <vector> only appears once. That's because I have a file std_headers.h, which includes <stdlib>, <algorithm>, <string>, <vector>, and dozens more. With several #ifdefs for linux, FreeBSD, and Darwin and some embedded systems. Every other c++ file includes it. If you're curious: [https://github.com/tlbtlbtlb/tlbcore/blob/master/common/std_...](https://github.com/tlbtlbtlb/tlbcore/blob/master/common/std_headers.h)

I hate having a bunch of boilerplate at the top of each file.

<comment><USER7> Not a great idea if you care about compile times.

<comment><USER8> Unless they use pre compiled headers.

<comment><USER6> I've tried a few times to make PCH work reliably, but it's hard to get the Makefile right. My current project compiles both a regular executable and a Node.js module, which have different build processes.

Is there an OS project with a reliable and portable PCH build process? Searching github didn't find me anything to copy from.

<comment><USER9> I just went through the process of making a reliable and portable PCH build process, and it's a lot of code to get right, because clang, gcc, and cl.exe all have quite different models for how a pch should work.

cl.exe in particular has an insane set of requirements: \- you can't compile the pch by itself, you have to have a cpp that #include's it and compile that; \- then you have to link the resulting .obj file into the final binary; \- if you use /Zi and you compile different versions of the pch for different headers, you have to have exactly one separate .pdb file for each compiled version of the pch; \- if you have more, it will complain that some (pch, cpp) tuple do not share a .pdb; \- if you have less, it will stochastically fail to open the global pdb file (because the pch writing process expects not to have contention for the pdb, even though it's using mspdbsrv and /FS for contention)

</comment></comment></comment></comment></comment><comment><USER10> Very cool analysis.

I would add: A lot of regex work is still being done out of boost.regex; maybe people still haven't done the switch for most projects? For example, I think boost.regex is still used in Chrome.

Just ran your code on boost, looks like "shared_mutex" is the least used header there.

I use <future> all the time (in boost, no less) so it might be selection bias.

<comment><USER4> Allegedly, the quality of STL <regex> implementations leaves much to be desired.

<comment><USER11> I default to using RE2[1] in most cases. If I really need backtracking, I would probably just use PCRE through the C++ wrapper[2], but that hasn't been a common need in my experience.

[1] [https://github.com/google/re2/](https://github.com/google/re2/)

[2] [https://www.pcre.org/original/doc/html/pcrecpp.html](https://www.pcre.org/original/doc/html/pcrecpp.html)

</comment></comment></comment><comment><USER12> It would be nice to divide the cooccurence count by counts of respective two headers, to get a sort of correlation. Now it's quite hard to see anything beyond "most popular things are paired with most popular things" which is obvious.

<comment><AUTHOR> Good suggestion! I will add this an update the repo/post.

</comment></comment><comment><USER13> C++ needs a standard "contrib" set of headers like Ruby. Relatively stable, but only anointed if moved into the STL.

<comment><USER14> Kind of like Boost?

</comment></comment><comment><USER15> I love C++ I just wish there was some sort of way to make it memory safe. At the same time the Java stack is too heavyweight for the things I use C++ for. If there werr some sort of memory safe language with the same use cases as C++ that would be game changing.

<comment><USER5> Swift, Go, Rust, etc, all fit your description.

edit: De-Germaning

<comment><USER16> What's usw?

There are use cases for C++ that Swift and Go don't fit, due to having dynamically managed memory.

Fans of D would also put D on this list. And Ada is not dead yet!

<comment><USER17> "usw" is a common German abbreviation that means "etc."</comment></comment></comment></comment>


Company homepage loads 197 MB of data in 2.6 minutes - <AUTHOR> https://www.tenx.tech/ <comment><AUTHOR> Proof (in case you don't believe me): [https://i.imgur.com/OMAVA6t.png](https://i.imgur.com/OMAVA6t.png) \- I never interacted with the page; simply opened the link and scrolled down a little. I didn't play any video, audio, or anything.

BTW, the total download is still increasing. Imagine being on a metered connection or mobile data and inadvertently clicking on the link.

<comment><USER2> There´s a background video in the middle of the page

<comment><AUTHOR> But why is the same video loaded so many times over and over again? [https://i.imgur.com/YGNXCDn.png](https://i.imgur.com/YGNXCDn.png)

Even still, don't you think it's ridiculous to download 50+ MB of video data without consent?

</comment></comment></comment><comment><USER3> Use Firefox/Chrome developer tools and you'll see [https://www.tenx.tech/video/matrix.mp4](https://www.tenx.tech/video/matrix.mp4) being loaded.</comment>


Duke Nukem Forever is here. - <AUTHOR> http://www.shacknews.com/onearticle.x/65442 <comment><USER2> Looks like they have taken a lot of lessons from modern FPS games, limited weapon carrying, regenerating health etc. While this may be good or bad it definitely won't be what a lot of people are looking for, I've just replayed Duke3D and it's pure old school glory and I hope they retain as much of this as possible. If not then you can always count on the modding community to try.

</comment><comment><USER3> Is it a coincidence that Duke Nukem Forever reappeared only a few months after this comic was created?

<http://i.imgur.com/6n4x7.jpg>

Could the Higgs Boson be far away?

</comment><comment><USER4> wow thats awesome Duke Nukem is a game I loved and if there are a lot like me even after being a poster boy for software development failure if it is halfway decent it will sell very well. There is just a nostaligia factor and the Duke is just such a memorable character

I just hope it is like Starcraft 2, after 12 years it is just brilliant.

....and I'm all out of gum... :)

<comment><USER5> That _"and I'm all out of gum..."_ quote is actually stolen from John Carpenter's film "They live".

<http://www.imdb.com/title/tt0096256/quotes?qt0479492>

</comment></comment><comment><USER6> "The game will be released ... sometime in 2011."

<comment><USER7> It's amazing they could snatch that property up, put a team on it cold, and peg a release date like that.

If this happens, it'll be a wonderful case study on the powers of good project and product management.

<comment><USER8> They didn't put a team on it cold. People from 3D Realms kept working on it even after the studio went under. Gearbox has some of these same ex-3D Reams people on staff now.

[http://kotaku.com/5630192/how-duke-nukem-forever-was- brought...](http://kotaku.com/5630192/how-duke-nukem-forever-was-brought-back- to-life)

See the "How Duke Survived" section.

<comment><USER7> Thanks for the link. I've known a few people who worked on the DNF project over the years and honestly thought they were a great bunch of developers toiling on a project under hideously bad management. I was really hoping somebody would bring on as much of the team as they could and just polish it off. The number of art assets alone must be worth millions of dollars in development time.

</comment></comment></comment></comment><comment><USER9> I'll believe it when I see it.

</comment><comment><USER10> > Okay, here's the bad news. The engine looks dated. ... Hopefully, this is > something that will be addressed by Gearbox.

I really hope this was tongue in cheek....

<comment><USER11> They should swap out the game engine to get it up to date.

How long could that take?

<comment><USER2> 'bout a month. Tops.

</comment></comment></comment><comment><USER12> The title is misleading. It's "here" when it ships. From the article: "The game will be released on the PC, PS3, and Xbox 360 sometime in 2011".

That's enough for me to keep ignoring it. I've heard "it's almost ready" since 1997, when it was on the cover of the first PC Gamer issue that I've subscribed to.

</comment><comment><USER13> Do you think their strange business model (hyping and promising the game for years without delivering; an opposite to release early philosophy) will work out in the end? Will people actually buy the game or simply satisfy their interest from reviews and videos?

<comment><USER14> I doubt there was a business model that stated that. It's the very common problem of to munch money and far to much hype. Half of their time is spent living up to the hype - 2+ engines switches! - and the other half spending their cash on frivolous resources. It's Daikatana all over again.

But I'm still going to play it.

<comment><USER15> It's interesting to note that Diakatana took 3 years to develop (which is not considered extremely uncommon these days) and supposedly made enough money to cover its development costs.

<comment><USER7> Which is amazing since that was an absolutely wretched game.

</comment></comment></comment></comment><comment><USER16> I'll believe it when it ships.

<comment><USER11> <http://www.penny-arcade.com/comic/2010/9/8/></comment></comment>


Machine-learning: Crowdsourcing Feature discovery - <AUTHOR> http://strata.oreilly.com/2014/03/crowdsourcing-feature-discovery.html

<comment><USER2> Very good article. A lot of times features are overlooked as they are seen as part of modeling exercise. The more diverse they are, better it is to improve predictions. In descriptive models too, they play a critical role in providing inferences and insights.</comment>


Show HN: Remote jobs for creative, non-technical people - <AUTHOR> I've been working remotely for over 5 years, initially as a support tech and then as a writer/editor/marketing person. My background is in art and philosophy, so the main remote job boards like WWR and Remote.co never quite appealed to me. Most of the jobs listed are technical (developers, DevOps, etc.) and the non-technical jobs always feel like an afterthought.
So, I decided to make Remote Poet (https://remotepoet.com) - remote jobs for creative people. Obviously the word "creative" has quite a few meanings, but I am including any jobs that can be considered artistic or creative in a general sense. The categories I've listed on the site are:
- Animation and Motion Graphics
- Art
- Architecture and Interior Design
- Content Marketing
- Editing / Copyediting
- Fashion
- Film / Video
- Graphic Design
- Illustration
- Marketing
- Music / Audio
- Photography
- Product Design
- Technical Writing
- UX / UI
- Video Games
- Writing / Copywriting
At some point, I may add programming jobs (as they are definitely "creative" in some sense) but the niche of remote software jobs seems pretty full. In any case, I hope the site is useful. If you have any suggestions or comments, I'd really appreciate it. Thanks! <comment><USER2> The words "technical" and "non-technical" are also quite vague these days because once you start focusing deep enough in a field, it does become technical even if IT isn't involved - that's another widely used error, "technical" isn't just about Information Technology.

Each of these skills you've mentioned have their own technical nuisance and even IT gets involved at some point or other even in fields like art and architecture.

And yeah, programming is as creative as it gets whether you regard it as technical or not!

<comment><AUTHOR> True, but in general startup terminology, "technical" tends to mean "can code." The idea of the site is to feature remote jobs that don't require programming skills and/or are art/design-related, as many people find coding overly difficult.

But yeah, perhaps there is room to improve the messaging. The long-term goal is to build a travel brand targeted at remote creative workers.

</comment></comment><comment><AUTHOR> Clickable link: [https://remotepoet.com](https://remotepoet.com)</comment>


Red Hat acquires API management company 3scale, will open-source the code - <AUTHOR> http://venturebeat.com/2016/06/22/red-hat-acquires-api-management-company-3scale-will-open-source-the-code/ <comment><USER2> Congrats to the 3scale team!

Finally all the API management startup companies have been acquired! (APIphany, Layer7, Mashery, Strongloop, 3Scale...)

<comment><USER3> [https://www.mashape.com/](https://www.mashape.com/) is still independent and the main product (Lua on Nginx) is open source. [https://www.crunchbase.com/organization/mashape](https://www.crunchbase.com/organization/mashape)</comment></comment>


Diversitas? Take a Closer Look - <AUTHOR> http://www.thecrimson.com/article/2012/1/26/diversity-lack-figures-evidence-harvard/ <comment><AUTHOR> Some hard data on classism.

Estimated over half of Harvard students are from the top 4%.

Less than 1/5 of Harvard students are from bottom 40% families.</comment>


Despite Recession, More Than 50% of Marketers Increase Spending on Social Media - <AUTHOR> http://www.readwriteweb.com/archives/despite_recession_more_than_50_of_marketers_increase_spending_on_social_media.php <comment><USER2> Devil is in the details. Figure 2, last option on the chart - Display ads - indicates a massive _decrease_.

So in other words, marketers are increasing the time they spend doing "free" things. Being as that's exactly what you would expect them to do when budgets get tight, I'm not sure how this is even news.</comment>


Has Anyone Used SohoOS? - <AUTHOR> http://www.sohoos.com

<comment><AUTHOR> I just stumbled across this app today and while the usability looks fantastic I haven't been able to find any real reviews from users. Any thoughts?</comment>


I Quit My Six-Figure Job to Create My Own Destiny - <AUTHOR> https://joebalcom.blog/2020/05/03/build/ <comment><USER2> I wish you good luck. However, be careful with aiming for Happiness as your goal. As a multiple-times-job-quitter dream-pursuiter, I suggest you have a goal more tangible than create wealth and create destiny. That is unless, work had you burned out where you need some time away from all this.</comment>


Flare: Clojure Dynamic Neural Net Library - <AUTHOR> https://aria42.com/blog/2017/11/Flare-Clojure-Neural-Net <comment><USER2> Very cool. As someone who wants to begin learning how to use ML and who enjoys clojure as a hobby language...this is great. Gives me an excuse to use Clojure more :) I hope you decide to continue working on it!

<comment><USER3> I'll try! I've got a full time management job so this was a fun way to code again. The library is pretty small and I think easy to follow if you want to learn

</comment></comment><comment><USER4> This made me chuckle. If anybody remembers the dim and distant past of various singularitarian mailing lists on the internet, you might remember Eliezer Yudkowsky's theoretical 'annotative' language Flare[1]. It was one of the early steps on the (what was then quite straight in some people's minds) line to AGI.

As for this, possibly worthwhile for the authors to look into Dragan Djuric's work, he's done some really fast matrix stuff on Clojure[2].

1: [http://yudkowsky.net/obsolete/plan.html#tech_comp_flare](http://yudkowsky.net/obsolete/plan.html#tech_comp_flare)

2: [https://github.com/uncomplicate/neanderthal](https://github.com/uncomplicate/neanderthal)

<comment><USER4> And I read the article and see Neantherthal's being used (stupidly thought it wasn't given a comment downthread).

</comment></comment><comment><USER5> This is for Dynamic Neural Nets, which do not need back propagation. The benchmarks are amazing.

<comment><USER6> What is the optimization algorithm for these if not backpropagation? This page does mention the use of hyperparameters for optimization and compares itself to an adaptive stochastic gradient descent method, which makes me think that it is using backpropagation.

<comment><USER3> Definitely doing the standard back-prop algorithm. Check out the code, it's pretty straightforward and the whole lib is about 2,500 lines

</comment></comment></comment><comment><USER3> Author here, happy to answer any questions!

<comment><AUTHOR> Thinks for your great lib in both great Clojure and ML. Do you know whether this Clojure lib can do Dynamic net: [https://github.com/thinktopic/cortex](https://github.com/thinktopic/cortex)? you didn't compare it in your blog.

<comment><USER3> Yes this does dynamic nets, the model is the same as PyTorch, you build a graph for each input(s). I think Cortex is in the Keras-style of model (only layer abstractions and not "dynamic" in the sense we talk about neural nets) and isn't dynamic, but I could be missing something. The examples seem to all be in that mold: [https://github.com/thinktopic/cortex/blob/master/examples/ca...](https://github.com/thinktopic/cortex/blob/master/examples/catsdogs- classification/src/catsdogs/training.clj)

</comment></comment></comment><comment><USER7> Needs more GPU.

<comment><USER3> Author here. This is coming up. Will do OpenCL first and then CUDA.</comment></comment>


DjangoCon Europe 2012 Videos - <AUTHOR> http://klewel.com/conferences/djangocon-2012/

<comment> ezequiel-garzon A minor digression: the apples/laptops ratio is stunningly high. I had to look carefully to check that speakers had not just shared the same Mac.

<comment><USER2> Yup. At the last two DjangoCons in the US, if you got up on stage you basically had a sea of glowing Apple logos staring back at you.

<comment><USER3> I found that at previous PyCon US that I attended, Macbooks made up about 75-80% of the laptops. I imagine its pretty similar at Rails conferences.

</comment></comment></comment><comment><AUTHOR> A simple way to download the vids <https://gist.github.com/2929272>

<comment><USER4> We're exploring ways to offer proper downloads.

<comment><USER5> Bittorrent is probably one of the best methods for this kind of thing.

</comment></comment></comment><comment><USER6> Is anyone going to the DC DjangoCon in September (I think)?

I'm excited to attend my first one.

</comment><comment><USER7> Any of the videos you guys recommend?</comment>


German Police Used Only 85 Bullets Against People in 2011 - <AUTHOR> http://news.yahoo.com/german-police-used-only-85-bullets-against-people-155155175.html

<comment><USER2> A bit perspective:

Germany has around 82 million people.

Estimated 45 Million shooting weapons are in possession. Many of them illegal (for example people inherited weapons from their parents but did not register them, weapons were imported from East Europe or illegally left behind by the leaving soviet army).

The ownnership is highly regulated. If you want to buy a weapon, you need a permission a Waffenschein and/or Waffenbesitzkarte (owner registration). A 'Waffenschein' is a permission to carry a gun in public. This permission is usually only given to Police, professional bodyguards or similar. A Waffenbesitzkarte allows you to have a weapon for sports (or similar) and you are only allowed to carry the weapon in a closed and sealed transport box without ammunition. To get a Waffenbeitzkarte is not that easy - for example if you are under 25 you need a psychological check.

Thus the only shooting weapons one ever sees in public is usually from the police or a forester.

Around 20000 crimes are done with weapons. This is 0.3% of all crimes. At 4500 crimes there is some shooting.

In the statistics cited by DER SPIEGEL ( [http://www.spiegel.de/panorama/justiz/polizei- schoss-2011-se...](http://www.spiegel.de/panorama/justiz/polizei- schoss-2011-seltener-im-dienst-a-832037.html) ) it is mentioned that the police shot 8812 times at animals. Almost all these cases were animals who had serious injuries due to traffic accidents.

But many Germany use weapons for sports. For entertainment see this video:

<http://www.youtube.com/watch?v=nyq90LEZe4k>

<comment><USER3> lived for 3 years in germany; i was extremely clubbing. Forget shooting you don't see much fighting neither. In comparison, in my one year in England, I witnessed 5 club fights, and in Russia two gun fights. It seems mostly an attitude of the society towards violence and guns. On the other side, in Germany, you frequently see your neighbor calling the police if you make some noise.

<comment><USER4> I'm led to believe that societally they are repressing their anger and aggression in reaction to WWII. The lack of bar fights and the number of shootings are strangely low. I think this is the most compelling explanation. It is known that the atrocities committed by their people during WWII weighs heavily on their psyche.

<comment><USER5> Despite what you may think, the war crimes during ww2 were not the result of a culture unique to Germany. For example, in my country, Holland, relatively more jews were killed, because the dutch people gave them less shelter than the german peope did, and were more likely to rat them out. Nazis got to power in Germany, but as a cultural movemet was a lot larger than just germany. And nobody cared about the jews: for example, not a sinle rail road track was targetted by any of the thousands of bombings by allied forces.

What happened should be in every euopean nations consience, and generally is.

<comment><USER4> Yes but I believe that psychologically these other European countries and peoples aren't as haunted by the identity of being vicious killers or conquerers. They see themselves as mere sidelines players and thereby sidestep the psychological burden that looms over the Germans, of being active and causal forces in the war and in the murdering of millions.

<comment><USER6> You do realize that the overwhelmingly vast majority of Germany citizens were not alive during World War II, right?

</comment></comment></comment></comment></comment></comment><comment><USER7> Meanwhile, in America, not only is there no national tracking of firearm discharges -- there's no national tracking of _how many people are killed by police_.[1] The FBI tracks "justifiable homicides" by police -- which seems to range from 350 to 400 per year[2], and is limited to "The killing of a felon by a peace officer in the line of duty"[3] -- but it explicitly refuses to track all _other_ killings by the police. (And rather strangely, there seems to be no private group which tracks these figures either. When I've googled for it in the past, I've found anecdotal stories claiming that groups which attempt to compile these figures are _strongly discouraged_ from doing so. But now I can't seem to find those claims, however.) News reports of the shootings of unarmed non-fellons would suggest to me that there are a few score such killings every year, but there's no way to be sure.

Moral of the story: Germany is a profoundly civilised country. America, not so much.

[1] [http://www.lvrj.com/news/deadly-force/142-dead-and- rising/na...](http://www.lvrj.com/news/deadly-force/142-dead-and- rising/national-data-on-shootings-by-police-not-collected-134256308.html)

[2] [http://www2.fbi.gov/ucr/cius2009/offenses/expanded_informati...](http://www2.fbi.gov/ucr/cius2009/offenses/expanded_information/data/shrtable_14.html)

[3] [http://www2.fbi.gov/ucr/cius2009/offenses/expanded_informati...](http://www2.fbi.gov/ucr/cius2009/offenses/expanded_information/homicide.html)

<comment><USER8> "Germany is a profoundly civilised country. America, not so much."

I don't think making unnecessarily provocative comments like this adds much to the discussion.

<comment><USER9> Can you point to the "provocative" part? I don't see it...

<comment><USER10> At risk of invoking Godwin's Law...

The USA and Germany have both done terrible things, claiming moral superiority of one or the other is treading on thin ice.

<comment><USER11> At the risk of invoking common sense: Things that you did nearly a hundred years ago are not especially relevant to the discussion of what you're doing today.

If somebody used to smoke in the 60s and now campaigns to help fight substance abuse, can we still not call them an anti-smoking advocate?

Would it be accurate to call you a gamete? You used to be one, after all — probably more recently than the terrible things you're talking about Germany doing.

It's useful to remember the past, but to excuse present wrongs because of past ones is inane, as is placing equal people on the person who did the deed and his or her grandchildren.

<comment><USER12> You are funny. Those stats have always looked quite similar for Germany, back to the fifties. Alone for that reason they cannot be a good indicator for whether a country is civilized. I'm sorry, but state sponsored murder of 11 million innocent people is not outweighed by the police only shooting very few bullets at criminals. Talking in those terms is just bullshit, it's a weird worldview, one that especially Germans should be ashamed for expressing.

But that arrogance is common. It's annoying.

<comment><USER13> Most of the people that where 20 in ~1930 are not alive today. I'm a 17 yrs old German and I can't feel responsible for what some people I dont even know have done a hundred years ago. That would be as stupid as the concept of original sin....

<comment><USER12> You should feel responsible. You should be willing to learn something. I certainly do.

<comment><USER13> Have I killed Jews? Did my dad? My Grandfather? Nope. My family lived outside the big cities the entire time.

Even so. If your Grandfather killed someone before you even were born. How could you feel responsible? It's not like you were able to whisper: "kill him! Kill him!"

But of course we can learn from that tragedy. Everyone can. But learning something and being responsible are two completely different things. It's ok if you say Germany's responsible though.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Two things... First, as a German, we do have discussions about police violence. But they mostly relate to using water throwers and brute force. Demonstrations in Berlin are known to look like a cliché British football match sometimes.

Second, I looked up the list of countries by firearm deaths. Any Finnish folks here to explain what's going on there?! I didn't expect any European country to be so high up on the list.

[http://en.wikipedia.org/wiki/List_of_countries_by_firearm- re...](http://en.wikipedia.org/wiki/List_of_countries_by_firearm- related_death_rate)

<comment><USER15> I'm from Finland, maybe I can give some background.

Finland has a high rate of gun ownership due to popularity of hunting and farmers, who use guns to keep unwanted wild animals at bay. In addition to that, there was a fair amount of guns left over from WWII, and there was a well-known case where guns where stashed away to form a resistance militia in case of foreign invasion (<http://en.wikipedia.org/wiki/Weapons_Cache_Case>).

In addition to that, Finland's southernmost tip is roughly at 60 degrees northern latitude, roughly at the level of Anchorage, Alaska. That means that 3 months of the year, this is a cold, dark and desolate place where the only thing you can do is get drunk and wave guns at your friends and/or yourself in a state of delirium tremensis.

Also note that firearms-related suicide is far more common than homicide, in that Wikipedia statistic it's about 6 times more suicides than homicides. (The Finns prefer to stab each other and shoot themselves).

It is a very rare occasion that a police officer fires a gun at a person in Finland.

<comment><USER16> "a cold, dark and desolate place where the only thing you can do is get drunk and wave guns at your friends and/or yourself in a state of delirium tremensis"

Luckily there are computer games now :-)

<comment><USER17> Or you can start programming on an operating system during that period, like a certain Linus did.

<comment><USER18> Or you can move to a warmer and lighter place, like tens of thousands of Finns did. Even Linus.

<comment><USER19> Portland? Only barely.

<comment><USER18> Well, it's more south than Berlin, where I'm currently living. Even Berlin has 2-3 more months of summer and no completely black winter compared to Helsinki.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> The UK, with a population (~60m) close to Germany, has very few incidents a year where police discharge firearms.

Stats from 2000-2007 show between 5 and 11 incidents where firearms were discharged per year: [http://webarchive.nationalarchives.gov.uk/+/http://www.homeo...](http://webarchive.nationalarchives.gov.uk/+/http://www.homeoffice.gov.uk/publications/non- personal-data/police/police-firearms-use-2007-2008?view=Standard&pubID=807224)

Unfortunately, when they do use them they do so to kill innocent foreigners, execution style (which then gets largely swept under a rug): [http://en.wikipedia.org/wiki/Death_of_Jean_Charles_de_Meneze...](http://en.wikipedia.org/wiki/Death_of_Jean_Charles_de_Menezes)

<comment><USER21> One thing I found very surprising when moving from Germany to the UK was that your average UK "beat cop" doesn't carry a firearm. They call in armed police when needed, but this seems to often result in delays in pursuing criminals and sometimes escalation where armed criminals are given the time to take hostages and/or barricade themselves in.

On the other hand, when seeing some recent encounters with these beat cops, I was glad they weren't armed. Overall I got the impression that the UK police forces suffer from a training or selection problem that wasn't apparent in Germany.

<comment> k-mcgrady Firearm use varies throughout the UK. For example in Northern Ireland all Police carry firearms.

[http://en.wikipedia.org/wiki/Police_use_of_firearms_in_the_U...](http://en.wikipedia.org/wiki/Police_use_of_firearms_in_the_United_Kingdom)

</comment></comment></comment><comment><USER22> Although the URL says Yahoo, this article originally comes The Atlantic Wire, a sister site of The Atlantic. Content aggregators on major news sites cheapen the experience. It's bad enough that nearly every news publication merely regurgitates AP stories, but to also outsource your op-ed takes away the one defining characteristic you have left.

Cocerning the content, this article is literally dripping with contempt for America, and makes no attempt to actually find the story behind the statistics other than to postulate that America is "gun crazy." Poor reporting by a relatively inexperienced writer (who happens to be from NYC, which may explain his stance).

Finally, this story really has zero bearing on anything HN related, other than the fact that it throws around a little statistical trivia. What gives?

(edited for clarity, typing in this text field on an iPad is torture)

</comment><comment><USER23> Anyone know WHY this is?

Germany is certainly not crime free, so some possibilities that come to mind:

1\. Perhaps German criminals, for whatever reason, are more docile than American criminals and give up when asked to so there is little need for the police to use violence.

2\. Perhaps German criminals aren't as well armed as American criminals, and so when the police try to arrest them the criminals know they are outgunned and give up.

3\. Perhaps German police are not very good at tracking down armed criminals and so the are few chance for the police to use guns.

If I had to guess, I'd guess that #2 is the most likely of those three possibilities, but I've surely not thought of all the possible explanations.

Without some insight into why they fire their guns so rarely, this statistic is just interesting trivia.

<comment><USER24> I have a different theory, having lived in both places. Police in America seem to be willing to escalate a confrontation or "chase" to almost _any_ level in order to prevent a bad guy from getting away. Where I lived (near DC) a police officer stood in front of a car to prevent an unarmed teenager from leaving an IHOP without paying the bill, when the kids wouldn't stop, he shot up the car, killing a passenger(1).

Sometimes, when the offense is minor _its OK to let the bad guy get away_. Firing repeatedly at a moving vehicle in a crowded parking lot is _never_ ok, even if someone might get away with murder.

Polizei seemed much more calmly methodical and much less cowboyish. I can't imagine this situation occurring in Germany.

(1)[http://www.washingtonpost.com/wp- dyn/content/article/2006/02...](http://www.washingtonpost.com/wp- dyn/content/article/2006/02/27/AR2006022701515.html)

<comment><USER25> I think you're right. It's a common trope in German crime shows on TV to see the police chase a dangerous criminal on foot _with their gun drawn_ and then watch in frustration as they get away - but not shoot at them.

> Sometimes, when the offense is minor its OK to let the bad guy get away.

Especially since, with a bit of methodical work, you usually have a good chance of catching them later.

<comment><USER26> In the Netherlands you have to, before you are even allowed to shoot _at_ someone, point the gun in the air, call out "Halt or i'll shoot!" and shoot in the air which you have to repeat 3 times. We had some hilarious TV about that.

<comment><USER27> Isn't shooting in the air potentially dangerous, since the bullet (assuming straight up in an empty space) will return to the ground with the same velocity it was fired at?

<comment><USER28> No, terminal velocity will limit the fall speed to be much less

[http://www.straightdope.com/columns/read/1199/can-a- bullet-f...](http://www.straightdope.com/columns/read/1199/can-a-bullet-fired- into-the-air-kill-someone-when-it-comes-down)

<comment><USER29> That link does not say that it's not dangerous. It is less dangerous than a bullet fired at close range, and it is not as likely to be lethal, but it still _can_ be lethal, or cause serious bodily harm, and therefore it is still very dangerous.

Furthermore not all warning shots fired into the air are fired at high enough angles that the bullets decelerate to terminal velocity before hitting something.

Even if it reaches terminal velocity and doesn't hit anyone, in an urban area it can easily hit someone's property and cause property damage to roofs windows or walls.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> The german police patrols in 2 person teams. You'll never see a single policeman in a car. This changes the dynamic of every confrontation.

</comment><comment><USER31> I tried to find similar figures for the UK, but could not. Best I could find was:

"From 1990 to 2011, police shot dead 53 people" > <http://www.wsws.org/articles/2011/dec2011/riot-d27.shtml>

<comment><USER31> [http://www.homeoffice.gov.uk/publications/about-us/non- perso...](http://www.homeoffice.gov.uk/publications/about-us/non-personal- data/police/police-firearms-use-2007-2008)

Suggests that police in England and Wales discharge firearms in ~ 6 incidents a year.

(updated: UK -> England and Wales)

</comment></comment><comment><USER32> For comparison, here's some information about New York police:

([http://www.nytimes.com/2008/05/08/nyregion/08nypd.html?pagew...](http://www.nytimes.com/2008/05/08/nyregion/08nypd.html?pagewanted=all))

> _The number of bullets fired by officers dropped to 540 in 2006 from 1,292 > in 1996 — the first year that the city's housing, transit and regular patrol > forces were merged — with a few years of even lower numbers in between. > Police officers opened fire 60 times at people in 2006, down from 147 in > 1996._

</comment><comment><USER33> Not to mention the police attitude to people. Its like nazi Germany in the United States. Police can do anything and get away with it. Im watching the police in the US and comparing to Europe, and I cant believe the amount of sadistical violence that is going on there. Maybe because ex military people become cops?

Its a very scary place. I dont even go there as a tourist because they have a legal right to throw anyone in jail without trial if they want to.

That being said, ordinary people are very friendly. But the government and the police are scary as hell. Totally dark forces going on there.

<comment><USER34> "Its a very scary place. I dont even go there as a tourist because they have a legal right to throw anyone in jail without trial if they want to."

The U.S. is not a scary place. Violent crime is the lowest it has been since the 1950's. Also, the police do not have the right to just randomly arrest people. I have no idea where you came up with this notion, but it is manifestly untrue. There is much to criticize in law enforcement trends in the U.S. and this type of hyperbole is completely unmerited.

</comment></comment><comment><USER3> that's a slow weekend in LA.

</comment><comment><USER35> What's really odd is that there were "49 warning shots". Police in the US aren't allowed to fire warning shots. For good reason too, it's a completely reckless thing to do.

<comment><USER36> If the US police isn't allowed to do reckless things, where are all those car chases I can see on TV filmed?

I would think those would endanger bystanders much more than shots fired into the air (which might only kill you if you are really, really, unlucky, as in 'having a weak skull and watching up, getting the bullet in an eye socket' or so.

<comment><USER37> Bullets fired into the air can and do kill people because most of the time they do not loose their spin and hit with a higher speed than terminal velocity.

Source:

<http://mythbustersresults.com/episode50>

Bullets fired into the air maintain their lethal capability when they eventually fall back down.

busted / plausible / confirmed

In the case of a bullet fired at a precisely vertical angle (something extremely difficult for a human being to duplicate), the bullet would tumble, lose its spin, and fall at a much slower speed due to terminal velocity and is therefore rendered less than lethal on impact. However, if a bullet is fired upward at a non-vertical angle (a far more probable possibility), it will maintain its spin and will reach a high enough speed to be lethal on impact. Because of this potentiality, firing a gun into the air is illegal in most states, and even in the states that it is legal, it is not recommended by the police. Also the MythBusters were able to identify two people who had been injured by falling bullets, one of them fatally injured. To date, this is the only myth to receive all three ratings at the same time.

<comment><USER38> Still - what are the odds that bullet fired in the air (let's say at 60 degree) will actually hit someone?

Most people during the day are under the roof, and with average population in New York being 10 000 persons/km2, sth like 99% of that under the roof at any time, so the figure goes down to 100 people per km2, assuming people are 0.5 m2 target for the bullet it's 50 m2 / 1000000 m2 , or 1 chance in 20 000. And I probably still overestimated that.

Certainly odds that bullet aimed at someone will hit are much higher (yeah, I know, it's most probably criminal you are shooting at, and falling bullet will most probably hit bystander).

EDIT: and warning shot can be shoot to the ground near the criminal, or into a wall.

<comment><USER39> I should add that bullets can go through the roof, and this has been documented to happen in some of the incidents of upward-aimed fire causing injury.

But I agree with the idea of aiming towards locations where the bullet is likely to penetrate but not go through. The ground might be dangerous because of the potential for ricochet - but many other surfaces could be adequate.

</comment></comment></comment></comment></comment><comment><USER40> If the top comments on an article are about whether the US is a "civilized country", it's probably not Hacker News.

</comment><comment><USER41> That's only because they made people line up to save bullets.

</comment><comment><USER42> > _German Police Used Only 85 Bullets Against People in 2011_

Only? That's far too many for Europe. 20-30 would be a much better number.

</comment><comment><USER43> "used only 85 bullets"

What an odd way to quantify police violence.

Right? Wrong? Justified? Article provides none of that.</comment>


Boeing to mandate 737 MAX safety feature missing on Lion Air and Ethiopian jets - <AUTHOR> https://www.abc.net.au/news/2019-03-22/boeing-plans-to-reverse-optional-safety-feature-on-737-max-fleet/10928066 <comment><USER2> Let's put that one next to the CABIN ALTITUDE and TAKEOFF CONFIG lights. Those came from crashes where the warning horn was dual purpose: improper takeoff configuration or cabin pressure corresponding to an altitude over 10000 feet.

In the Helios 522 crash, the crew departed with an incorrect cabin pressure controller setting. When the horn went off, they were thinking, "Why are we getting the takeoff config warning? There must be a bad switch somewhere..."

Modern planes shouldn't just beep or do ambiguous complaining. People must die before planes like the 737 are modded to give proper annunciations.</comment>


Is YouTube Down? - <AUTHOR> http://www.youtube.com

<comment><USER2> it was for a while... http/1.0 error.

YT died...and the world followed.</comment>


Ask HN: Why are there no good happy hour apps? - <AUTHOR>

Happy hour is a frequent event in many of our lives, and yet I can't for the life of me understand why it's so difficult to find an app or website that has aggregated data about happy hours nearby, including place, time, and happy hour menu and prices. Yelp provides very limited data (basically a yes or no but no hours or menu for HH) and the first result on the App Store is an app that hasn't been updated since the iPhone 5 was released!<p>Of the millions of apps in the App Store, you'd think there would be dozens but there aren't. I scratch my head wondering how something like this hasn't been built yet. <comment><USER2> If you need an app for finding happy hour, I suggest you get your nose out of your phone and actually talk to a person you see day-to-day.

</comment><comment><USER3> Because the data is really hard to come by?</comment>


Show HN: Procedural 3-D worlds for autonomous systems ML - <AUTHOR> https://sanlab.com <comment><AUTHOR> Some fun facts:

\- the raw video is 58 seconds

\- at 24 frames per second, that's 1,392 frames

\- on a single, high-end GPU, it takes 168 minutes to render a single frame (we render on 8-GPU systems)

\- that's a total of about 3,900 hours of render/compute time</comment>


Ikea has bought TaskRabbit - <AUTHOR> https://www.recode.net/2017/9/28/16377528/ikea-acquisition-taskrabbit-shopping-home-contract-labor <comment><USER2> I always thought it odd that the most common TaskRabbit job was assembling Ikea furniture. Do people really need to outsource that job?

Amazing that the company lasted so long.</comment>


GitHub: Ref Names in URLs - <AUTHOR> http://github.com/blog/494-ref-names-in-urls

<comment><USER2> Not really newsworthy, but good to hear.</comment>


Cannabis Grow Operation Found in Legoland Theme Park - <AUTHOR> https://www.greenrushdaily.com/2017/02/17/cannabis-grow-operation-found-legoland-theme-park/ <comment><USER2> My first assumption from the headline was that this was some "guerrilla gardening"; an outdoor thing in some wooded area by the park.

No no. "50 chest-high plants" in an "abandoned building". I can't stop laughing.

</comment><comment><AUTHOR> Perfect location.</comment>