Fog of World - <AUTHOR> http://fogofworld.com <comment><USER2> Correction — "Know the Area You Have Explored Around the World, Around A Continent, Or Even Around A Country, Where Your Phone Had A Full Battery, GPS Was Available, And There Was Reliable Electricity For Recharging!"

This is dumb. Any given user is going to have massive holes in their map, which, at least according to my experience, will be the _best parts_ of their trips — the parts where they didn't have their phone turned on and didn't care, because it didn't matter.

The problem with all of these dumb travel apps for smartphones is they only seem to be geared toward people who travel with defined itineraries, pay money for accommodation and travel, and only travel in more developed, predictable places. In other words, the most boring kind of travel.

Vayable is the only company I've seen trying to make money from adventurous travel, but even then, it's for _purchasing_ adventurous travel for _people who can't find it on their own_.

And I _still_ can't find a reasonably good offline maps app for Android, for when access to the Internet isn't so easy.

<comment><USER3> A lot of seriously dedicated "off-the-beaten-track" types will have solar chargers for their iPhones (or whatever), GPS works everywhere except near US Military Bases.

I hope they've been judicious in their use of power while in the background. It seems like a cool idea to me. I can easily imagine simply trying to fill in the area I live in much the same way as I would explore nooks and crannies in dungeons maps.

<comment><USER4> The point of serious backpacking, hiking, and backcountry climbing is to get away, not to stay tethered to facebook.

<comment><USER5> Who said anything about Facebook?

And if you're talking about the Internet at all, that's not _the_ point of serious backpacking, hiking, etc, that's _your_ point.

For example, João Garcia, who reached the top of all the 14 highest mountains in the world (Everest, K2, Annapurna, etc) without an oxygen bottle, had an internet-connected GPS logger with him - a system which also happens to have an iOS app. Was he not "seriously hiking" because of that?

</comment></comment></comment></comment><comment><USER6> Thank God this costs $5 dollars. I might have even gone as high as $10. To all those that think 5 bucks is too much: for you to actually get any value out of this app you have to use it over a non-significant portion of your life. We're talking on the timescale of years; I find it hilarious that 1 dollar is fine but 5 whole dollars is outrageous.

<comment><USER7> You and I might be able to justify the price, but 99% of the people I know will not.

That means this is not a product I would be able to get most of my social group to use.

<comment><USER8> You mean people who travel around the world can't spend 5 bucks on an iPhone app, makes sense :-)

<comment><USER9> What he means is that most people, including those in his social circle, are irrational about paying for apps, and so won't use it.

<comment><USER10> Are they being irrational?

Most apps are opened once, twice at most. A small percentage of apps downloaded are used at all after the first day on the user's device. A very few make it into daily use; and most of those are on the device the day it's purchased.

This is because most apps are not compelling experiences.

If you factor in the risk that this app, like most of the ones they have seen so far; will not be in their life for more than 10 minutes... I would say they are being rational in their pricing bias.

There are two ways around this. You can communicate your value ahead of time to your potential customers, which Fog Of World does fairly well. Or you can build a business model that has usage based pricing through in-app purchases, so that people who are regular users are paying their way.

<comment><USER11> Just curious, are there any sites which show most-used apps?

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I'm the creator of this app. I'd like to explain the idea behind this app a bit.

Our dream is to go around the world, so we create this geo/map/game hybrid app to remember everywhere we have been in our whole life time. We want to use the exploration map to memorize our entire life when we are old and unable to walk. We also use the map to find out places nearby where we live but we never know. We actually got surprised many times that we found a lot of new places around where we live but we hadn't been in the past ten years.

I visited Japan four years ago, but honestly, I really don't remember those places I had been at that time, except few really famous places. I don't even know what hotels I lived, what roads I walked that time. And that's why I build this app. Now I can see the map and memorize what happened at those places I had been.

<comment><USER12> The app is such a great idea, so I bought it immediately, but I have to say I'm disappointed. Much of my travel abroad happened when I was young. There were no smartphones, or GPS.

But I know plenty of the places I've visited, hotels I've stayed in, train routes I've ridden, etc.

I'd love a way to "paint" the fog away manually, and maybe tag that "painting session" with some metadata (dates, at a minimum, maybe photos, etc).

Possible in the future?

<comment><AUTHOR> You can do it in Google Earth, one of our users drew his track and exported them as GPX files. You can then import those GPX files back to the app.

We're also planning some new importing sources, including geo-tagged photos.

</comment></comment></comment><comment><USER13> This looks really nice. I recently switched to Android (which, in my mind, with version 4.1 finally is able to compete with iOS in smoothness/stability while vastly surpassing it in features and usability), so I'm hopeful for an Android version.

An Android version would also bring added benefits of smarter/less battery intensive background operation which could make this run all the time. Constant GPS-monitoring like Latitude or this seems to run way better on Android for some reason.

<comment><USER14> * An Android version would also bring added benefits of smarter/less battery intensive background operation which could make this run all the time. Constant GPS-monitoring like Latitude or this seems to run way better on Android for some reason. *

I'm curious, what makes you think this would more power efficient on Android?

<comment><USER13> This is purely speculative, but I think there are a couple of reasons why apps like this runs better on Android.

I think it mainly boils down to the fact that app developers on Android have much more freedom than on iOS, for example - instead of having to run the whole app in the background they can just run a small daemon. Android apps don't resort to weird workarounds, like in regular intervals doing something that requires some CPU power, in order to not get autokilled/paused like inactive apps often are on iOS.

On Android they can also do stuff like only using the GPS (which is very battery intensive) if they notice that the cell phone antenna/wifi reception is changing (indicating that you're not standing/sitting still) while GPS background logging on iOS requires constant GPS-logging.

Limits like that makes iOS use way more battery for background location tracking, in my experience at least. Another reason may be simply that Android phones tend to have larger batteries (in mAh) than iPhones do (the iPhone 5 has a 1440mAh battery, the Samsung Galaxy S3 has 2100mAh battery).

While the iPhone 5 is generally more power efficient than the S3 (due to slower CPU with less cores, smaller display and a more optimized OS), I'd imagine that their GPS chips uses approximately the same power, draining the iPhone battery faster since it simply has less power stored.

<comment><USER15> Foursquare's experience developing apps that use background location has been the exact opposite.

The iOS background location APIs are so restrictive precisely so that you can't drain the battery. The OS, which is running anyway, can listen for major changes in location and start your app only if the location change is relevant to your application.

On Android, your app has to be running in the background always, to constantly check for such changes itself, which significantly drains the battery. If several such apps are running...

<comment><USER16> > _On Android, your app has to be running in the background always, to > constantly check for such changes itself, which significantly drains the > battery. If several such apps are running..._

Strictly false. Your app may still have a daemon in the "running" state in the background, but Android supports the exact same "sleep until significant changes are detected by the OS" method that iOS uses. I have multiple applications that can take action of some form or another based on changes to my location, and unless I have my phone screen turned on and actively running the UI for those apps, they never even appear in the list of applications using the most battery.

</comment></comment></comment></comment></comment><comment><USER17> When I used to live in SF, I would always go on walks and explore the city. I found that it would take several visits before I could fully remember the details of a new route or area, but once I knew that place I would move onto a new area. This was enjoyable and I got to see the innards of a beautiful city.

Now this? Congratulations, you have turned a peaceful and enjoyable experience into a slot machine. Now rather than enjoying where I am, I can enjoy hearing my phone go DING! You will lose all connection to the places you go. Rather than rely on my own memory, which takes a few trips, I will just go to a neighborhood once, cross it off my checklist and probably never go back. Because going back wont give me the exp I need to level up and release endorphins.

Gamifaction is the public relations term for addiction.

Anyway, get off my lawn, yada yada...

<comment><USER18> > Congratulations, you have turned a peaceful and enjoyable experience into a > slot machine.

So don't use it?

<comment><USER17> well obviously. But I want others to see gamification for what it really is. The decision to use gamification in your products is similar to the decision to add fiberglass to cigarettes in the mid 20th century. Executives at tobacco companies didnt think it was bad, they just knew it would increase profits.

Obviously this app does not have the same scope as cigarettes. But slowly more and more products/games are moving towards this model. The AAA game industry very quickly adopted zynga-esque addiction mechanics rather than 'fun' mechanics.

edit: before I get downvoted for what might seem like a ridiculous comparison, let me give some context.

About a month ago, one of my favorite MMOs ever, and imo the greatest MMO ever made, Vanguard:SOH was changed from subscription to F2P by its owner SOE. VG:SOH is the deepest, most complex MMO ever created and has a huge world. However once it went F2P, SOE turned it into essentially a zynga game. It changed from an rpg to an item-driven grind fest (ie keep grinding these same quests and you can get epic loot). Then you can buy xp potions to make leveling go by faster. In short they turned it from a rpg into slot machine. With a consistent and easy path to get your endorphin bursts.

Now this isn't that different than what every other AAA game studio is doing to their games (except maybe Valve). The path is clear to them. The term gamification exists because non-game companies want to take advantage of this model. But what they don't understand is that they are making shallow, heartless products that guide you towards their goals rather than making something fun and enjoyable. In other words, the cigarette analogy is perfectly apt. Cigarettes have been made optimally efficient to cause addiction whereas previously they had just been an enjoyable experience and not nearly as addictive. Addiction profit is a gold mine.

<comment><USER19> In the case of vanguard, you don't have the option to have the old, ungamified, version. (Can a game not be gamified?) In the case of walking around, you can still do it the same way you always have, if you prefer. What's the problem here?

<comment><USER17> A game can be fun; it can be deep and complex...or it can be like farmville. The problem is that companies are moving in droves towards Farmville type products because addiction is more profitable. I would like this community, as the vanguard of tech development, to see that there is a problem with this.

</comment></comment></comment></comment></comment><comment><USER20> This is neat, I wish Google Latitude had it. For that matter, I wish Google Latitude had _any_ useful visual representation of the 2+ years' worth of location data I've been feeding it. =|

<comment><USER21> Um, have you actually tried using the Web interface?

Here's a screenshot from my vacation a few days ago.

<http://greggman.com/downloads/examples/latitude-maps.png>

<comment><USER22> That completely sucks in comparison to the app posted here, unfortunately.

<comment><USER21> That may be true but my response wasn't to compare it to the app. It was in response to _For that matter, I wish Google Latitude had any useful visual representation of the 2+ years' worth of location data I've been feeding it._

Latitude does have a useful visual representation. It also makes all the data available for you to do any other representation you'd like. See links in screenshot for downloading the data.

</comment></comment></comment></comment><comment><USER23> I love everything about it except the gamification. They were really onto something inspiring, and then I got to the part about achievements and _leaderboards_. Beyond a certain audience, that's patronizing, and it undermines anything more serious you're trying to do (c.f. "your whole life journey").

</comment><comment><USER24> Cool idea, but I think my life will be way longer than the lifetime of this app.

I think I could do something similar in an open format that will still be accessible in 50 years: an image of the world map, with an alpha channel that has pixels where I've been made opaque.

</comment><comment><USER25> This is truly one of those simple great ideas that we all should have come up with.

<comment><USER26> In fact, I _did_ came up with this idea one year ago.

My idea was to cover the whole world with fog of war, and to make people team up to discover the world. There would be challenges, where you would pay like 0.50$ to participate, and then big reward for the first team achieving the challenge.

My idea was a free app with paying challenges. Uncovering 25% of the world ? $1 challenge, 20k$ reward. It's a really easy win. People tend to like these kind of idea, they would contact their friend abroad to team up with them, then pay to join the challenge, etc.

I finally decided, after 3months of thoughts, not to realize this project. It's currently impossible to rely confidently on geolocalisation data from any mobile device. People could cheat from iPhone dev. simulator, etc.

Well, kudos to people who did it ! Different from my idea, but anyway. Now that it's been done, I can finally explain the idea I had ! :)

<comment><USER27> 25% of the world is a _lot_ of travelling and expenses for a $1 payoff.

<comment><USER26> Reversely, paying 1$ in not much when you'll be travelling 25% of the world.

In my very basic example it was 20 000$ payoff for travelling 25% of the world. Let's make it 1 000 000$. I'm still winning.

Covering 25% of the world's surface is almost impossible. Yet, with my app idea, people would have most probably paid for taking the 1$ challenge (i.e. paying 1$ to participate, winning 1M$ for being the first to achieve the goal).

To expand on my concept, there would have been teams, anyone could create a new team, creating teams would have been free, people could have joined as many team as they wanted.

It's easy to go viral on these stuff. Every participant would probably call their friend oversea to tell them to join their team on this particular challenge, i.e. paying 1$ with the 1M$ reward in sight. The reward would be splitted between participants of the winning team ( _pro rata_ the surface covered).

<comment><USER27> Are you going to go through with it? I'm looking for a good excuse to just gtfo of dodge for a while

<comment><USER26> No, I'm not. As I said, when acquiring geolocalization data on a mobile device, I have no way to decide if they're genuine or not.

If you want a good excuse to just gtfo, come to Switzerland exchange business cards with me.

</comment></comment></comment></comment></comment></comment><comment><USER28> This is a wonderful idea. It would be really interesting if you could "ally" someone else to combine mini-maps. With this feature, you wouldn't just know where everyone has been, but you can also map their social graph!

</comment><comment><USER29> What is this thing? Achievement badges for going places? I don't know the "Fog of War" strategy game reference which would likely contextualize it.

<comment><USER17> In strategy games, there is a fog over areas where you have no vision (ie places you dont have any units that can see exactly what is happening at that moment). This introduces uncertainty and allows for more strategy based on positioning and vision.

This is based on a real military concept: <http://en.wikipedia.org/wiki/Fog_of_war>

</comment></comment><comment><USER30> Holy fucking grey-on-grey. Even if it fits the fog meme, STOP IT.

<http://contrastrebellion.com/>

<comment><USER31> You mean theme. Not meme.

<comment><USER30> The theme meme and meme themes should also be stopped.

</comment></comment></comment><comment><USER32> Great idea! Please do android next. And make the data open and exportable.

</comment><comment><USER33> That's an incredible idea. I really wish it was available a desktop application though. Such an app could gather information from multiple sources (including companion mobile apps) and maybe even location-aware social networks. It's useful on a mobile phone but i would rather buy a dedicated gps device to track my progress as constant usage of gps on a phone will definitely decrease it's battery life. Also I really feel uncomfortable handling this kind of historical data to any sort of SaaS. I would definitely pay as high as $10 (or maybe even more) for something like that.

</comment><comment><USER34> Sweet, just purchased.

I travel internationally quite a bit, actually feeling a bit bummed this didn't exist a couple of years ago :(

Hopefully doesn't eat so much battery that my phone dies before the day is over.

</comment><comment><USER35> Couple of questions if anyone has bought it and can answer: 1) Extending the fog of war metaphor, do places gradually 'fade' or 'grey-out' or similar the longer you are away from the area? Or is it a case of once-seen always seen? 2) This seems great for the devices that have GPS, but I'm sceptical of it's value on say, my iPod Touch, which IIRC relies entirely on Wi-Fi triangulation.

<comment><AUTHOR> (1) It's once-seen, always seen. (2) You can use a separate GPS logger to record your tracks and import them back to the app. A dedicated GPS logger is usually small, light-weight, long battery life, and better for receiving GPS signal when there is no Internet connection.

</comment></comment><comment><USER36> I think this is cool, despite the fact that it will undoubtedly leave out some interesting experiences. However, it also serves as a visceral reminder of the kind of data being made available to third parties when using this type of app. It makes me want to create something similar which I and everyone else wishing to use it can then keep entirely to ourselves.

</comment><comment><USER37> Nice concept.

Some feedback on the site itself: I'm having trouble reading the text due to the low contrast. (Maybe my monitor isn't setup properly?)

</comment><comment><USER38> I love this concept, I already think about maps this way in my head, I'd love a way to externalize it!

Unfortunately though I don't want it on game center, I want it in some sort of open exportable data that I can access, perhaps make a widget for my website out of, or update from other devices.

</comment><comment><USER7> I would love to pay $.99 for this, but at $5.49 it's too expensive for me recommend to all my friends.

<comment><USER39> I am always curious why when people say that $x.xx (or any app that is not $.99) is too expensive for an app.

A meal (burger, fries and a drink) in McDonalds will cost you at least $5~$9 depending on the size of the meal you get. Would you say that is expensive? Yet, when an app is anywhere from $2~$10, people will deem it as "expensive". It astounds me when people don't give a thought about spending $10 on food but when it comes to any software-related stuff, the same $10 is "too much".

<comment><USER7> It comes down to risk.

I know exactly what I'm getting for $5 worth of McDonalds. $5 for an app feels more risky because I have no idea if there will be any value.

<comment><USER40> You only know what you are getting from McDonalds because you have bought it before, well what about your first time eating at McDonalds? You certainly did not know what you were getting then.

<comment><USER41> I suspect that for most people in the US their first meal at McDonalds was purchased by their parents. And they probably know quite a few people in real life that would endorse McDonalds.

<comment><USER40> That is a pretty much irrelevant point though, use any other example of buying a meal from somewhere that is not as common as McDonalds. On the point of endorsing, people can endorse an app as well so I am still not sure how that applies.

</comment></comment></comment></comment></comment></comment><comment><USER42> Is there any way to get any existing data on the iphone into the app (preferably without too much pain)? I assume it's already logging my info: <http://petewarden.github.com/iPhoneTracker/>

</comment><comment><USER43> I bought the app and like it. Perhaps I have not discovered it yet but I would like to enter the places that I have been in the past. This would be for my own enjoyment and could be a different mode from the "game mode" which is based on actual GPS data.

</comment><comment><USER44> Here's my suggestion - make the app free and sell users their data back in city map/country map/world map form, and link it to their vacation photos. That would be really awesome, and is totally possible with GPS in cameras now or with phone cameras.

<comment><USER45> don't know if it was just me but, with a name like fog of war, i thought this app was going to be "warcraft" in real-life. that would've been really cool.

</comment></comment><comment><USER46> In case the dev is reading these: typo in bullet 6 at bottom

>It is recommended to use a separate GPS device to record your tracks. This would save beattery life of your iOS device and avoid GPS signal loss when Internet connection is unavailable.

Otherwise, looks batteful.

<comment><AUTHOR> Thanks. We already fixed that. ;)

</comment></comment><comment><USER47> The app looks pretty great. Being able to incorporate the geolocation data from foursquare, instagram, flickr, facebook, etc. would aid in not feeling like you have to think of your traveling as starting when you downloaded the app.

</comment><comment><USER48> This is totally going to be cool for use while riding my bike to work. I've been toying with the idea of exploring new paths on my 11 mile commute and this gives me a way to map them all out and the incentive to do so.

<comment><USER49> you should check out mytracks from google [https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.maps.mytracks&hl=en)

might be more appropriate for what you're looking for

</comment></comment><comment><USER50> Is this specific to iOS5 and later? I long ago was _very_ interested in something like this, but at the time (iOS3...) my understanding was that Apple didn't allow apps running in the background collecting data.

<comment><AUTHOR> Unfortunately, iOS 5 is required at least.

</comment></comment><comment><USER51> I like this idea a lot. I remember there used to be apps on Facebook that listed the states someone had been to. They were fairly popular for a while.

If this can tap into that same urge, I think it could do pretty well.

</comment><comment><USER52> I love this idea.

Unfortunately my GPX export from Foursquare doesn't seem to show up in the application.

I used this utility for what it's worth: <http://etgps.net/gps/4sq/>

<comment><AUTHOR> The utility treats each checked-in locations as part of a track. But you don't actually follow the route to visit each places, right? That's why those locations won't be imported. You need to find a tool to convert those locations to tracks. Each track only contains one location. That will work.

</comment></comment><comment><USER53> Where is New Zealand on the icon and <http://media.fogofworld.com/images/gpx.png>? :P

</comment><comment><USER54> This is revolutionary, I've always been a advocate of incorporating a gaming atmosphere into everyday activities. This is a great push in that direction!

</comment><comment><USER11> Cool idea (I've done 100% on a few Zeldas, Metroids etc... I know this will appeal.)

I have to say the prose copy is a bit clunky though.

</comment><comment><USER55> Does anyone know what the buttons do? I could venture a guess but I'm not like... 100% clear on what does what.

<comment><AUTHOR> When the REC button is red, the app start recording your locations (even in background). Make sure there are at least 3 GPS signal bars, or no locations will be recorded.

</comment></comment><comment><USER56> Quick correction: the Chinese translation of supporting iCloud should be 即将支持iCloud, but not 即将支援iCloud

</comment><comment><USER44> I would never use this because I'm an old luddite now, but damn this is a great idea!

</comment><comment><USER57> very cool, though that Explored Area status bar is probably going to be stuck at 0.001% (or less) for a while... I wonder what surface you "discover" when you're standing in place - I'm guessing around 300 m^2?

<comment><AUTHOR> It's actually only tens of square meters.

</comment></comment><comment><USER58> Anyone got any idea of battery life running this on... Say and iPhone 4S?

</comment><comment><USER59> Looks great, although I'm to worried of my iPhone's battery to install..

</comment><comment><USER60> "Nebel des Welt" should be "Nebel der Welt" in the German translation.

<comment><AUTHOR> Thanks. We already fixed this on our website, and will be fixed in the app in version 1.2 (version 1.1 was already submitted for review).

</comment></comment><comment><USER61> Love the idea, now I hope they made sure to not eat all my battery :)

</comment><comment><USER62> Cool! I can't wait to load the last two years of my running tracks!

</comment><comment><USER63> Great idea! Did you make that? Will there be an Android version?

</comment><comment><USER64> This is a demystification of the world I don't like!

</comment><comment><USER65> I love the concept but $4.99 is a bit much.

<comment><USER66> Yikes, "love" isn't even worth $5 anymore? Glad I'm not in the flower industry.

</comment></comment><comment><USER67> Also a forensic tool, a personal blackbox.

</comment><comment><USER68> Time to go for 100% map completion...

</comment><comment><USER69> gl hf nr

</comment><comment><USER70> Be careful what you measure because measuring affects what you measure. You'll probably end up travelling a lot more, probably driving more and so on.</comment>


Apple Confidential. Steve Jobs "Think Different" Internal Meeting Sept. 23, 1997 - <AUTHOR> https://www.youtube.com/watch?v=9GMQhOm-Dqo <comment><USER2> Steve Jobs in a meeting with PC computers in the background

<comment><USER3> Those are Apple Color Plus 14" display monitors, running out of mid-90s Power Macs.</comment></comment>


Ask HN: Are there any books that inspire or highly influence the way you work? - <AUTHOR> <comment><USER2> Kind of a different one, but How to Win Friends and Influence People dramatically changed me as a person (with some effort, which the foreword explains)

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

<comment><USER3> Agreed. Whatever you do in business, if you can master relating to and building rapport with people it will make things a lot easier.

</comment></comment><comment><USER4> Here is a list of books that I have found most useful in my daily routine, both as a Linux systems administrator at work, and more generally as a human being learning to deal with other people. As always, I welcome correspondence with anyone about these texts or related topics: firstname.lastname@example.com

PSYCHOLOGY / SALES / MARKETING

Berne, Eric (1964) Games People Play

Carnegie, Dale (1981) How to Win Friends and Influence People, revised ed.

Cialdini, Robert (2006) Influence: The Psychology of Persuasion, revised ed.

Covey, Stephen (1989) Seven Habits of Highly Effective People

Ekman, Paul (2007) Emotions Revealed: Recognizing Faces and Feelings to Improve Communication and Emotional Life

Gray, John (1992) Men are from Mars, Women are from Venus

Greene, Robert (1998) 48 Laws of Power

Kahneman, Daniel (2011) Thinking, Fast and Slow

Munger, Charles (1995) 'Psychology of Human Misjudgment', speech at Harvard, unpublished

Packard, Vance (1957) Hidden Persuaders

Patterson et al. (2012) Crucial Conversations: Tools for Talking When Stakes are High, 2E

Sun Tzu (ca. 400 BCE) Art of War

INFORMATION TECHNOLOGY / STATISTICS

Bowden, Mark (2011) Worm: First Digital World War

Brooks, Frederick (1995) Mythical Man-Month, 2E

Hunt, Andrew and David Thomas (1999) Pragmatic Programmer

Levy, Steven (2001) Crypto: How Code Rebels Beat the Government – Saving Privacy in the Digital Age

MacCormick, John (2012) Nine Algorithms that Changed the Future

Mitnick, Kevin and William Simon (2002) Art of Deception

Poulsen, Kevin (2011) Kingpin: How One Hacker Took Over the Billion-Dollar Cyber-Crime Underworld

Raymond, Eric (2003) Art of Unix Programming

Taleb, Nassim Nicholas (2005) Fooled by Randomness, 2E

_________ (2010) Black Swan: Impact of the Highly Improbable, 2E

Torvalds, Linus and David Diamond (2001) Just for Fun: Story of an Accidental Revolutionary

Williams, Sam (2002) Free as in Freedom: Richard Stallman's Crusade for Free Software

<comment><USER5> > Levy, Steven (2001) Crypto: How Code Rebels Beat the Government – Saving > Privacy in the Digital Age

Thanks for telling me about this. I read about 50 pages of it on kindle this weekend. Its a beautifully written book.

</comment></comment><comment><USER6> "So Good They Can't Ignore You" and "Deep Work" both by Cal Newport.

Also, another vote for both Covey's 7 Habits, and "How to Win Friends and Influence People".

</comment><comment><USER7> The War of Art: Break Through the Blocks and Win Your Inner Creative Battles

I read this book last year and it greatly motivated me to get things done, fight against procastination and overcome anxiety.

<comment><USER8> Can you elaborate on what you liked about The War of Art? I read it earlier this year and I really wasn't a fan. Maybe I need to change my mindset about this book.

<comment><USER7> Trying to recall my memory - While reading the book, i could many times relate it to the problems i have been facing in life and my day to day work. Reading the book helped me pictures those things as a 'RESISTANCE'. I used to procastinate things for next day, i was reluctant to speak up and reach out to other co-workers. After reading the book i was able to convince myself that this was just a resistance and if i wanted to be happy and successful, i would have to overcome this resistance. I'm not saying i'm a completely changed person after reading the book, but it definitely had positive impacts in my life.

</comment></comment></comment><comment><USER9> 7 Habits of Highly Effective People. It's one of the best selling books of all time for good reason. It's much more than tips and tricks for getting work done.

</comment><comment><USER10> The Millionaire Fastlane - I know the title sounds cheesy, but the book will open your mind about a lot of things (the value of time, etc). Really good read to pump you up and get that entrepreneurial spirit flowing.

</comment><comment><USER11> Here are few that have influenced my work:

The Art of Doing Science and Engineering: Learning to Learn - Richard Hamming

The Timeless Way of Building - Christopher Alexander

The Humane Interface - Jef Raskin

The Visual Display of Quantitative Information - Edward Tufte

The Art Spirit - Robert Henri

<comment><USER12> have a copy sitting in the corner, just curious how the art spirit influenced you?

<comment><USER11> At the time, the book helped me develop a new way to see and receive the world. I then applied that into my own life to shape what type of ideas and projects I'd go on to pursue. It helped me find a type of clarity in where I'd focus my energy in the areas I believed in. And looking back, along with other things, I'm able to source the book as an important stepping stone to how I approach my work today.

</comment></comment></comment><comment><USER13> Who is Fourier? That taught me to think of calculus and mathematics as a form of human language rather than something that I had resisted before I got into computing, at the time i was a poet and performance artist I didn't see the value in pre-calculus, trig and statistics, now complex math is a basic part of my every day work doing training of machine learning AI.

</comment><comment><USER14> Momo by Michael Ende. It made me think about how to work at a sustainable pace and to focus on the things that matter in my life.

</comment><comment><USER15> Continuous Delivery by Jez Humble. "If it hurts, do it more frequently, and bring the pain forward."

</comment><comment><USER16> Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future.

Yes everyone is an Elon fan already, but the book offers a great inside look into how he thinks and how he faced down some incredible challenges. The book really inspired me to think bigger and to optimize for impact.

</comment><comment><USER17> _Mythical Man-Month_ , Fred Brooks [0]. Very informative series of essays on his experiences and lessons learned with IBM. If nothing else, helps to properly frame my expectations on projects with respect to resources needed to properly coordinate with others, and the pros and cons of adding people to projects at different stages (and in different roles).

 _Getting Things Done_ , David Allen [1]. Useful toolkit for getting things out of my head and onto paper (or org-mode or OmniFocus) so that I can properly focus and prioritize my time on the things I need to get done.

 _Communicating Sequential Processes_ , C.A.R. Hoare [2]. Strongly influenced the way I think about programs in general, but specifically in the embedded field where I work. (NB: I've not actually read or worked through the full text, but mainly taken what was needed to properly communicate ideas in my designs or to analyze designs and systems others have produced. This is a task for myself for early next year.)

 _Moonwalking with Einstein_ , Joshua Foer [3]. I've always had a good memory, I actually picked this up to give to a girlfriend who had a terrible memory and read it in a couple days before giving it to her (she was out of town when it arrived). Helped to explain methods that I'd somehow developed over the years, and gave me concepts and a better understanding of other methods of memory acquisition (for either short or long term purposes). If you really want to improve your memory, there are probably better resources to learn specific techniques, but this was an informative and entertaining overview. WRT work, we have to keep large systems in our minds all the time, and potentially dozens of different systems written in different languages. Memory is critical for this, even if it's just the memory of where to find the information and not the information itself.

 _Fluent Forever_ , Gabriel Wyner [4]. This one is my current read. Goes back to _Moonwalking with Einstein_. While the book is itself about language acquisition, it's actually given me quite a bit to think about with respect to general learning and memory acquisition (in this case, specifically for long term retention and recall). We have a couple training programs (we need more) for our new hires on development and testing. There are some concepts in here and in related readings that I think would greatly improve how we teach these folks what they need to know and in a way that would improve their retention of that information. We have a lot of people retiring in the next 1-3 years, so this is actually quite critical right now, though management is quite lackadaisical about it.

[0] [https://www.amazon.com/Mythical-Man-Month-Software- Engineeri...](https://www.amazon.com/Mythical-Man-Month-Software-Engineering- Anniversary/dp/0201835959)

[1] [https://www.amazon.com/Getting-Things-Done-Stress-Free- Produ...](https://www.amazon.com/Getting-Things-Done-Stress-Free- Productivity/dp/0142000280)

[2] [http://usingcsp.com/cspbook.pdf](http://usingcsp.com/cspbook.pdf)

[3] [https://www.amazon.com/Moonwalking-Einstein-Science- Remember...](https://www.amazon.com/Moonwalking-Einstein-Science-Remembering- Everything/dp/0143120530)

[4] [https://www.amazon.com/Fluent-Forever-Learn-Language- Forget/...](https://www.amazon.com/Fluent-Forever-Learn-Language- Forget/dp/0385348118)

</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>=====

EDITS:

 _The Toyota Way_ , Jeffrey Liker [5]. I grokked Lean from this. Hardware focused, but the concepts can be (and have been) generalized to other process focused fields. This has helped with understanding what business processes really need to be codified, what feedback mechanisms need to be present for improvement, the criticality of bottom-up feedback and improvement (employee investment in the company/product cannot be overvalued if you want quality and good craftsmanship).

 _The Little Schemer_ , Friedman & Felleisen [6]. Going back to the comments on _Fluent Forever_. The structure of this is fantastic for conveying and helping students retain information. The Socratic method is very useful, and structuring courses and introductory material in this format is useful, this happened to be my introduction to it (well, I'd heard it before, but my first time really encountering it in practice). It's a useful tool for solo-study of a topic (pose your own questions and construct answers), and as a method of guiding someone to a conclusion or better understanding. Also useful in debugging software or decoding software you didn't write, after a fashion.

[5] [https://www.amazon.com/Toyota-Way-Management-Principles- Manu...](https://www.amazon.com/Toyota-Way-Management-Principles- Manufacturer/dp/0071392319)

[6] [https://mitpress.mit.edu/books/little- schemer](https://mitpress.mit.edu/books/little-schemer)

</comment><comment><USER18> "What Machines Can't Do" \- the concept of an aesthetic of process has really changed how I think about software development.

</comment><comment><USER19> "Purple Cow" by Seth Godin

[https://en.wikipedia.org/wiki/Purple_Cow:_Transform_Your_Bus...](https://en.wikipedia.org/wiki/Purple_Cow:_Transform_Your_Business_by_Being_Remarkable)

</comment><comment><USER20> "Before you quit your job" by Robert Kiyosaki. It definitely did...

</comment><comment><USER21> Getting Things Done by David Allen

Look no further.</comment>


The NSA might want some Backblaze pods - <AUTHOR> http://blog.backblaze.com/2009/11/12/nsa-might-want-some-backblaze-pods/ <comment><USER2> I'm saving that (very nice) picture to show my kids. I hope we can look back and say "look how primitive this is, an exabyte needs an entire city block"

Anyhow, as we discussed when the NSA news came out, they're looking to buy 1 million square feet of datacenter space and to spend about a billion dollars. 2015 is probably far too soon to get to the yottabyte level with those constraints.

</comment><comment><USER3> Might be easier to create a gigantic botnet and use citizens harddrives for storage. The government could force everyone to install the client.

<comment><USER4> awesome, i'd love to hack that and see what the government is really looking at :)

<comment><USER3> If you are so good that you can break current encryption, go for it :-)

</comment></comment></comment><comment><USER5> I've been using Backblaze for a few months now. I'm very pleased with the "continuous" upload option, and it doesn't degrade my machine performance noticeably. I have not, however, gotten around to testing the restore process, which means I don't really know how useful it is as a backup service. Yeah, that's a failing on my part.

<comment><USER6> I've also been using it for a few months and I tried a restore. What I found out is that the large zip files they create don't work. They warn you about creating zip files over a certain size, but I tried it anyway. I couldn't get it to unzip successfully on Mac OS X or Solaris using a variety of programs.

I'm also skeptical of their data integrity. From reading about there setup it seems that they have no checksumming and their only redundancy is RAID. So bad blocks or multiple disk failure could cause data loss. It's still worth it for my because it's so cheap, but I wouldn't make it my only backup.

<comment><USER7> Thanks for the discussion here. I wanted to just clarify - we take data integrity very seriously and actually checksum EVERYTHING. We assume that data might get mangled over the Internet, in memory, on disk, etc. Thus, we checksum each file on your computer and ensure that it is returned to you upon restore identically.

Our system also does self-healing: monitoring every file in the datacenter and if a checksum ever doesn't match (due to a cosmic ray flipping a bit on a harddrive), it automatically contacts your computer to request that bit of a file be backed up again.

Gleb Budman CEO, Backblaze

</comment></comment></comment><comment><USER8> It's a shame they don't have a Linux client or an API or i'd be quite tempted to give them a spin.</comment>


Why is the modern world so ugly? - <AUTHOR> https://www.theschooloflife.com/thebookoflife/why-is-the-modern-world-so-ugly/ <comment><USER2> I don't think this article makes a case for the validity of the question itself. The author seems to believe that their sense of esthetics is universal. This kind of belief is known to be false.

<comment><USER3> Maybe it was not intended to make that case.

Beauty is in the eye of the beholder, and we can also imagine that:

>As a result, the nice architecture there is, most of which was built before 1900, is hugely oversubscribed and collapsing under a weight of tourists – and the few pleasant streets that remain are costlier than they ever were at the height of the aristocratic age.

What the Author (and tourists, and residents - judging from the market price of houses in given cities or neighbourhoods) consider "nice" is actually an oudated idea of niceness, and actually ugly to modern eyes.

Still, somehow, it appears as more attractive than modern architecture and neighborhoods to the masses.

<comment><USER2> > Maybe it was not intended to make that case.

Please.

> Still, somehow, it appears as more attractive than modern architecture and > neighborhoods to the masses.

This isn't true in Denver, where I live. I've lived in two older (originally developed circa 1900) neighborhoods, Baker and Highlands. Old, poorly- maintained or poorly-constructed houses gradually bet replaced. You can walk down 2 blocks and see a house from 1900 (or even before), a house from the 30s, a house from mid 50s, and a new house. Every single house is identifiable as being from a particular period. If modern architecture is so sucky, why do people build it, buy it an live in it today? Why not imitate the grand, universally loved styles of the past? That could easily be done. But it isn't.

The article's premise is entirely unexamined, and isn't at all universal. The author just looks at what tourists want to see on vacation, not what people live in in ordinary, not very touristy cities and parts of cities.

<comment><AUTHOR> I think that you may have a point, but - while admitting I never seen Denver - I would like to ask you if you have ever seen a European city. Or, better yet, lived in one for a more than 2 weeks.

<comment><USER2> I have seen European cities, but only Copenhagen as an adult, and that was in 1993. One of the obvious falsehoods in the original article is illustrated by Copenhagen. The article had some line about throughout history, people lived in neatly organized towns with periodic open squares. I don't think Copenhagen fits that model at all - the streets appear disorganized to my eye, with little orientation or regularity. Open squares appeared only haphazardly, and there didn't appear to be enough to satisfy demand. I will grant you that Copenhagen in 1993 would be far easier to live in without a car than Denver in 2020. But it wasn't the aesthetic dream that the article proposed, it was more "biological" and pieced together than architectural and designed, and even in 1993, Copenhagen had a mix of ages and styles.</comment></comment></comment></comment></comment>


Ask HN: What's Austin (TX) like, as a place to start a startup? - <AUTHOR>

Austin seems like a nice place to live - from what I can tell it has a fairly liberal culture, decent weather, and houses that mere mortals can buy.<p>What's it like as a place to start a startup, especially compared to the SF Bay Ares? <comment><USER2> austin has an order of magnitude less VC money and much less of a startup culture than SV (but better than most other cities). Austin is extremely weak in B to C companies and the VC's and overall community are geared towards B to B startups. Im not saying that there are no B to C success stories, just that there are extremely few.

Austin has a great quality of life and you can definitely create a successful startup here, but there is just simply less opportunity to "run in" to national stage movers and shakers. In SV there are constantly talks by CEOs of brand name startups at casual groups. In austin you would typically have to go to something very formal to get the same caliber of talk.

For example, the talks at SXSW are great and attract CEOs of great startups. But you can get those same talks in the bay area throughout the year.

</comment><comment><USER3> I think Austin is a great place for startups. Austin has kind of become a bit of a SF clone, but with a much lower cost of living.</comment>


PlayStation 2 emulator PCSX2 reaches v1.0 - <AUTHOR> http://www.geek.com/articles/games/playstation-2-emulator-pcsx2-reaches-v1-0-plays-games-in-1080p-2012086/ <comment><USER2> I wonder when would Sony eradicate that project, like they did with Bleem...

I wonder how many of you remember the good old Bleem emulator?

<comment><USER3> Sony lost their lawsuits against Bleem!, because Bleem! did not break any laws or infringe their copyrights. The Bleem! lawsuits set precedents that protect hardware emulation to this day.

<comment><USER2> Technically, you are correct, but let's not forget that hefty legal charges drove Bleem! out of business, and for that I blame Sony.</comment></comment></comment>


Hacker Says He Printed Anti-Semitic and Racist Fliers at Colleges Across U.S - <AUTHOR> http://www.nytimes.com/2016/03/29/nyregion/hacker-weev-says-he-printed-anti-semitic-and-racist-fliers-at-colleges-across-us.html?_r=0 <comment><USER2> I applaud this man. He fights for free speech no matter what. The idea that you can be punished and fined just for saying things (that aren't direct threats) is appalling, yet it happens all across the western world.</comment>


First Impressions: Docker for Mac with Kubernetes - <AUTHOR> https://blog.alexellis.io/docker-for-mac-with-kubernetes/ <comment><USER2> I also had a look at Docker for Mac. It's now my default k8s dev environment, I must admit that even if their high CPU usage issue it's still a lot more CPU friendly than minikube.

What's great for development is that you can also build images on Mac and run them inside k8s environment, no need to change daemons. Which was sometimes a bit annoying with Minikube and I usually found myself just pushing them to the dockerhub and then pulling to minikube :) However, not sure why the dashboard is not enabled by default, it's quite handy.

If you are interested in ingress controllers and demoing your apps directly from your mac, have a look at my recent blog post: [https://webhookrelay.com/blog/2018/01/08/ingress-with- docker...](https://webhookrelay.com/blog/2018/01/08/ingress-with-docker-for- mac/)

<comment><USER3> >"It's now my default k8s dev environment, ..."

Could I ask you what are you developing that you need a whole local K8 dev environment? What I mean is as opposed to just using docker compose or docker container themselves. Are you specifically developing K8 features? Thanks.

<comment><USER4> If you're developing a service architecture that runs in kube on production, you want to emulate that as close as possible locally.

I'm more of the opinion that devs should just have access to a kube "cluster" (maybe just one machine) in the cloud, possibly one per dev. Make a change to the service, build it, and deploy it. Give easy tools to re-image your cluster whenever you want. Primarily because you want your "local" environment to match production as closely as possible.

<comment><USER5> Well, just give em a personal namespace with 4-8000millicpu

<comment><USER4> Yeah that can work as well. In general, though, I prefer absolutely strict isolation between environments. In our deployments, this goes all the way to having separate GCP Projects for each environment. This has as much to do with kubernetes as it does with all the other cloud resources in each environment that we don't want commingling inside the same GCP project.

Kube also still has some oddities when working with namespaces, especially when using third party tools.

</comment></comment></comment></comment></comment><comment><USER6> Unrelated, but my first and last is also Alex Ellis, and you're the reason I had to register alexanderellis in place of alexellis on github. Funny to see in the wild!

<comment><AUTHOR> Nice to meet you Alex! If only we could find the guy who registered "alexellis" on Twitter and toss a coin for that account too. I had to go with alexellisuk.

</comment></comment><comment><USER7> I hadn't put two and two together and realized that minikube would use a different Docker daemon from docker-for-mac -- that makes this built-in k8s feature a lot more useful than I'd originally thought.

If I need to run a pod with some containers that are in a GCR registry, I can just `gcloud docker pull` them and then run them, rather than having to jump through hoops to configure minikube with registry secrets. That's nice!

<comment><USER2> Yep, for local development it's the same, a lot easier to just rebuild and run. Haven't thought about `gcloud docker pull`, thanks!

I guess this is also quite important with any other registry such as jfrog, quay, etc. And it's good that credentials are safer (I hope so) in the osx keychain rather than Minikube.

</comment></comment><comment><USER8> What looks particularly funny that it's OpenFaaS examples, such as in this post: figlet service. Several years ago it was simple binary, which you could invoke in console to produce fancy-stylized string. Now, same functionality require running figlet function-as-a-service inside Docker container inside Kubernetes cluster. I understand, that's merely an example, but nevertheless.

<comment><AUTHOR> Kubernetes is optional - Docker Swarm (which some people prefer for its simplicity is also available) - basically yes binaries get wrapped in containers now for build/ship/run.

You're right though it is just an example - one of many in the function store. OpenFaaS can run any binary as a function - that means that we can strip back all the complexity needed to utilise ImageMagick for instance as a function by making it a function that works over stdin/stdout. Normally that would have involved a Node.js runtime and native compilation packages.

Here's the example: [https://blog.alexellis.io/serverless- imagemagick/](https://blog.alexellis.io/serverless-imagemagick/)

</comment></comment><comment><USER9> I just upgraded Docker for Mac and there's nothing about Kubernetes in the UI.

When they say "is now shipping" they don't mean the stable channel, they mean edge.

<comment><USER10> That is true, and it's also mentioned in the article, under heading "Getting It"

[https://blog.alexellis.io/docker-for-mac-with- kubernetes/#ge...](https://blog.alexellis.io/docker-for-mac-with- kubernetes/#gettingit)

<comment><USER9> It's the word Shipped in the title that's getting me. The edge program is essentially a beta. And now we're redefining "shipped" to mean "available in eval builds".

I suppose it's been 20 years since we ruined the word Beta. I am not surprised that it's happening again, but I am a bit disappointed.

</comment></comment></comment><comment><AUTHOR> Docker for Mac now ships with Kubernetes built-in. Let's explore why this matters, a history of developer tooling for running Docker on Mac/Windows and my first impressions as I kick the tyres with the Kubernetes integration.</comment>


Go's alias proposal and all my concerns of Google controlling Go - <AUTHOR> https://hackernoon.com/gos-alias-proposal-and-all-my-concerns-of-google-controlling-go-a39f6c6046aa#.79iuuucic <comment><USER2> This was linked previously, and the single comment therein linked to a discussion on reddit[0] about the issue.

Of note, this change has been reverted now[1].

[0] [https://www.reddit.com/r/golang/comments/5alxa3/gos_alias_pr...](https://www.reddit.com/r/golang/comments/5alxa3/gos_alias_proposal_and_all_my_concerns_of_google/)

[1] [https://github.com/golang/go/issues/16339#issuecomment-25852...](https://github.com/golang/go/issues/16339#issuecomment-258527920)

</comment><comment><USER3> IMO

\- just because a company owns the domain doesn't mean they control the language. You need _someone_ to own the domain, and it's always preferable if they are part of a company that won't disappear anytime soon. Similarly being able to unlist someone with powers isn't enough. If I pushed a commit replacing the Rust core team members with someone else it may go through, but nobody in the community will think that was legitimate and it would be reverted. Same with Go, surely.

\- If Go has a defined governance model you can't say that Google controls it. If it's wishy-washy then you can't tell. IIRC it's wishy washy right now but ICBW, the last time I was doing go was a year ago. However, it's not clear that Google forced this type alias thing to happen.

-type aliases are a useful feature even without Google's use case. They might be a broken solution to Google's problem but they solve a lot of other things.

Dave Herman once gave a talk about "The Great Int Debate" in Rust. The core team had made a decision (pre 1.0) that many folks disagreed with, leading to resentment. The process was improved with a few rules both participants and decision makers had to abide by, and the re-discussion was more productive. The final decision was a different one, but everyone was happy with it. This evolved into the current set of processes for Rust's rfc process and is going strong.

[https://air.mozilla.org/friday-plenary-rust-and-the- communit...](https://air.mozilla.org/friday-plenary-rust-and-the-community/)

Go might want to look into governance models like these if they truly are a problem. From one blog post, I can't really tell.

<comment><USER4> > but everyone was happy with it.

For what it's worth, that worst-of-all-worlds solution was what made me give up on Rust back on 0.9, and I haven't really missed it since.

<comment><USER3> I mean, yeah, not _everyone_ , but it was no longer a very divisive issue; most of the community was okay with the outcome even if they disagreed with it. Much better than the previous round where there was a lot more resentment.

Sorry you had to leave.

</comment></comment></comment><comment><USER5> I don't really get it. What's the big deal? I see a lot of dramatic language about the "strenuous objections of many external contributors", but what exactly is so bad about this proposal?

There was even a comparison to `goto`...? What am I missing?

<comment><USER6> The main issue seems to be if A imports and re-exports symbol B from C, reading code that uses A.B you have no idea where to look to find out more about B; it may even be multiple hops of indirection to get to the original C.B, and that layer of cruft will never be removed, realistically.

...that said, I don't really see the problem either, except in that it will make go less 'simple' to read and understand.

<comment><USER7> > that layer of cruft will never be removed, realistically.

It will if you mark the alias as deprecated. Unfortunately, there seems to be no standard way to do that in Go.

<comment><USER8> I have worked on codebases where the deprecated annotation lasted years in the wild. Marking something as deprecated does almost nothing to make it possible to remove code. It doesn't even do all that much to prevent new uses most of the time.

Preventing it in the first place is a _much_ more effective method.

<comment><USER7> Sure, my comment is only meaningful if someone bothers to fix the warnings. Before Vendan's comment I didn't know that Go doesn't have warnings, so it's moot anyway.

I was thinking in terms of upgrading a library to a newer version. It's nice to at least get warnings for everything you'll need to update, even if it doesn't make it any easier to actually do so.

<comment><USER8> Yeah. Part of the problem that Go attempts to fix is exactly this. They just make it fail to compile if you don't update your code. In a large monolithic repository this is easier to police and manage. In the rest of the world not so much.

</comment></comment></comment></comment></comment></comment><comment><USER9> To me the root problem for this alias proposal is that go currently ignores version dependencies.

Go is designed so that we have to assume that an API and the compiler are either perfectly backward compatible or immutable. This is a simplification inherited from C and other programming languages.

If we want to support changing an API, then we have to specify version along the package name and import statement. Some packages already do that but it isn't satisfying because it is hardcoded in the package name.

I like the versioning rule chosen by ICE from zeroc. A version is not backward compatible with other versions. A release must be backward compatible with previous release of the same version.

So it should be possible to specify a version and release for packages in import statements which specify that the specified release and all subsequent release are valid.

Dub, for the D programming language is going that line of direction.

I'm aware that it may create a dependency hell. But it already exist and is hidden. The alias hack is not a good solution. It will make things worse by making the rules more lax.

<comment><USER10> Forgive me for asking but are you saying that you want this kind of versioning baked into the language? That seems to add a lot of complexity to Go itself.

Java does not have versions baked into the language except for for class formats, which change rarely and are upwards compatible with new JDKs. Package versioning nowadays is handled by tools like maven and gradle. It's a good separation of concerns that keeps Java from being even more complicated than it already is.

If the concern is with handling interface versions, why not just use loosely coupled web services?

<comment><USER9> with big projects we will have dependencies with other packages. It is a good sign that this happens. But then we get also version dependency witch is currently ignored by go. I use gvm which is one way to handle it, but it is not enough because external package I use may have their own external dependency. The bigger the project, the bigger the problem will be.

Actually the version dependency is undpecified. One has to guess it by trying to compile. I don't think aliasing package names solves this.

You tell me that java tools take care of it. So go tools could take care of it. But this requires that the info is provided in a standard and clear way. This info can be kept optional for backward compatibility. Without this info, we are limited when trying to use go for bigger projects.

<comment><USER11> Versioning is not going to fix go's namespace problem, unless the package manager does the aliasing, like in every other well crafted language. Go namespace feature is completely broken, URL shouldn't be namespaces. This is yet another half backed feature put in Go that doesn't scale in practice. There are so many of them in the language, they'll be more and more obvious as the language gains adoption.

<comment><USER9> Version conflicts and package naming collisions are two different problems. The OP referred to the version problems.

I overlooked package naming conflict which can occur with composed package names. It is true and correct that aliasing will help solving such type of problems.

Thanks to point this out.

PS: I suspect you have been down-voted because your critic is excessive (cf. "half backed feature").

<comment><USER11> > Version conflicts and package naming collisions are two different problems

You cannot separate both issues. Go assumes all API are immutable which is insane, a package manager won't solve that.

</comment></comment></comment></comment></comment></comment><comment><USER12> To me this alias proposal is pretty much the way it's been done in Java forever, so whenever you call for "foo.bar.Baz", the classloader is free to give you back a different implementation, including vendor/foo/bar/Baz, or even a mock implementation.

I think in any large scale dependency chain, you're eventually going to have two transitive dependencies D1 and D2 that both use dependency E, but different versions.

Inside Google we have the OneVersionPolicy, because we control everything in our repo, but in the external ecosystem, this is a frequent occurrence, that has to be solved by either classloader isolation, or upgrades.

</comment><comment><USER13> Alias declarations were reverted from 1.8 recently[0]

[0] [https://github.com/golang/go/commit/87f4e36ce7d7dffbf1f2a869...](https://github.com/golang/go/commit/87f4e36ce7d7dffbf1f2a869f3014321f6cfff3c)

<comment><USER14> Good, one of Go's strength is easy refactoring given that the standard library includes its own parser and syntax packages. If something gets renamed, just write a small script to replace all references...

<comment><USER15> It's coming back in Go 1.9

<comment><USER13> I thought the implementation was still up for discussion so I doubt it has been assigned a release yet, do you have a source?

<comment><USER15> I inferred it from the comments here: [https://github.com/golang/go/issues/16339#issuecomment-25852...](https://github.com/golang/go/issues/16339#issuecomment-258527920)

But of course it can still change.

</comment></comment></comment></comment></comment><comment><USER16> [https://www.reddit.com/r/golang/comments/5alxa3/gos_alias_pr...](https://www.reddit.com/r/golang/comments/5alxa3/gos_alias_proposal_and_all_my_concerns_of_google/d9i15sj/) points out that this isn't actually a problem that is specific to Google, but rather affects the FOSS community as a whole, and I think the recent move of golang.org/x/net/context into the stdlib (as context/) is a perfect example.

The author of the article doesn't seem to mention or consider this point at all.

<comment><USER17> Yet there are existing solutions to the context issue, namely vendoring and versioning, that work well for OSS but don't work for Google.

The alias change could be useful in OSS, but it's certainly most useful in a monorepo.

<comment><USER16> Vendoring still requires that _all your dependencies_ (even vendored) use _either_ "golang.org/x/net/context" _or_ "context", hence I don't quite see how that addresses the problem. Can you elaborate?

</comment></comment></comment><comment><USER18> This has an interesting interaction with another of Go's quirks.

As I read this (and it seems like the author has an axe to grind so maybe they aren't explaining the motivation correctly) the idea is that when you want to rename A to B, you can make an A -> B alias to ease the transition.

However, people calling your code and using A won't _know_ that they need to update their code unless there's some kind of warning. But Go doesn't have compiler warnings.

So I think the author is right, this would be better implemented as a compiler _error_ plus an automatic refactoring tool. That approach would leverage one of Go's strengths -- it's a pretty regular language and already has good refactoring tools.

</comment><comment><USER19> > Google unambiguously owns golang.org and and therefore controls releases of > Go.

Even with the subsequent explanation, this is a tiresome level of what I can only call paranoia.

</comment><comment><USER20> The author mentions Go's vendor/ implementation, and I just have to comment about my issues with it (I am filled with the rage of a thousand suns each time I have to deal with vendor/). I hope this will serve as an example to other language designers to understand why you should always listen to your community. [ Disclaimer: I am a maintainer of runC and have been contributing to Docker and other Go projects for almost 3 years. ]

Go didn't have vendoring support in the old days, so the solution that people came up with was to hack with the GOPATH. The idea is quite ingenious, you just have to create a directory in your project of the form vendor/src/... and the set GOPATH=vendor:$GOPATH. Now, it's a hack around the fact that Go tries to take control of your filesystem (something that I'm still bitter about, and have near-daily issues with) but it's a fairly good one.

There are several benefits to this method that are quite crucial to point out:

1\. It doesn't require any source code changes to implement. It's entirely a build system trick. It also makes the version tagging completely separate from the source code. Luckily this is true for the new vendor/ implementation. But note that this is actually a _complaint_ people have about vendoring. At least this brokenness is maintained... Lovely.

2\. You can turn off the vendoring by no longer changing your GOPATH. Or you could point your GOPATH to somewhere else.

3\. Go's importing of the package path is unchanged by vendoring (look at the output of `go list -f '{{ .PkgPath }}'` to see what I mean). This may seem like a trivial thing to point out but it has an impact on building in certain contexts, as well as users of the reflect package.

4\. It worked with every version of the Go compiler (even gcc-go).

There is also a few downsides (though you could see them as upsides). The main one is:

5\. All of the vendoring is done globally. This means that if you pin a version of a repository, and one of your dependencies also uses that repository they will both use the same version. This could cause issues, but also ensures that you _know_ what version of the code you're running.

But the solution that Go went with (where vendor/ becomes a magical directory within every project and changes how package imports are resolved) doesn't fix all of the same problems. Namely, it breaks points (2), (3), and (4). (2) is hard to do (you have to manually delete the vendor/ directories), (3) is just simply not possible to fix and (4) is a fun exercise to try to hack around (trust me, I've tried) but because (3) is broken it's not possible [ Did I mention that Go _really_ hates symlinks? ].

Now, you could argue that it fixes (5) (but the GOPATH trick could've fixed it too). So really the solution Go went with was _worse_ than the solution the community came up with. And it was incompatible with the GOPATH trick (fixing (4) involves trying to convert the vendor/ to a GOPATH -- it only works sometimes but because the trick involves symlinks good luck with that).

And now Go is going to work on packaging. I can't wait to see how they break it. I really regret that the containerisation community went with Go as their language of choice.

<comment><USER21> Go essentially went with the node solution (node_modules). Go's pm will essentially just ensure the version that resides in vendor/, and will work more like yarn than npm. This is, of course, not unique to node.

Having a global vendor folder where everything is the same version regardless of the project seems like a fragile solution to me, especially if you work on a lot of projects. And how would that work with third party libraries? Those would still have to vendor?

I think it's a good thing that Go standardizes vendoring.

<comment><USER20> > Having a global vendor folder where everything is the same version > regardless of the project seems like a fragile solution to me

That's not what I said. The way that every Go project used to do this (which was how Godep solved the problem) is that you have a vendor/src directory _in the project_. It's very similar to having vendor/ in your project, but the issues I mention are because of the lack of the "src" prefix. If it sounds like a trivial difference, that's because it is (but because of Go's lovely filesystem dependencies it makes everything awful).

> I think it's a good thing that Go standardizes vendoring.

Sure. I don't think it's a good thing that they standardised an incompatible solution, apparently ignoring how everyone else in the Go community had solved the problem before them.

</comment></comment></comment><comment><USER22> Whether you like the alias proposal or not, the bubble problem is real. Go's maintainers live in a bubble and have blindspots around what Go is missing. They refuse to consider any of the usual language mechanisms for code reuse: subclassing, generics, templates, or macros. They repeatedly shoot down any discussion of these topics.

<comment><USER23> One of go's defining features is the lack of these things. If you want them, use another language.

<comment><USER11> > One of go's defining features is the lack of these things. If you want them, > use another language.

Go will end up having these missing features whether you like it or not. It might take a new generation of Gophers but it will happen. The alias problem is a nice illustration of how broken Go is.

</comment></comment></comment><comment><USER24> Whining about nothing - author just would be happy to don't learn new things. Then decision to be a programmer was his mistake.

And about fashion: yes, fashion is better when innovates. Without innovation fashion just can't exist.

<comment><USER24> you can disagree, but it's quotation: "I'm happy not trying new things, and I was happy with Go."</comment></comment>


Show HN: Slack Digest – curated daily digest for your Slack channels - <AUTHOR> http://slackdigest.com

<comment><AUTHOR> Hello everyone! I'm Spencer and the maker of SlackDigest. SlackDigest was born out of a weekend hackathon to build something to help us manage the boatloads of Slack messages we get every day, being part of several Slack groups and communities.

How SlackDigest intelligently "digests" the Slack channels are based on various basic parameters such as text length, keywords, user, question or not, etc. So it doesn't require you to go out of your way to add signals such as __or -- to make it register in your digests.

It requires administrators to add the bot, so we're working with teams and community leaders to get it in Slack groups. Some of our users are also happily paying to get email digests sent directly to their inboxes.

Look forward to your feedback and suggestions! Also if you happen to have a background in language processing, please let us know if you'd like to help make SlackDigest bot even better :D

</comment><comment><USER2> Could you include an example report? I cannot add in an unknown integration without upsetting my team, but if I show them what it does, they might be more receptive.

<comment><AUTHOR> Hey there! Thanks for letting me know. Have included two screenshots here of the opt in message sent to all your team members and a preview of the email digest. Do let me know if you need more info.

[http://i.imgur.com/cofLtvd.png](http://i.imgur.com/cofLtvd.png) [http://i.imgur.com/9IX3oLr.png](http://i.imgur.com/9IX3oLr.png)</comment></comment>


Monokai Pro color theme reaches 200K downloads, and rising - <AUTHOR> The Monokai Pro color theme for Sublime Text and VSCode is on its way to reach 200K downloads: https://monokai.pro
Interestingly, while it was originally made for Sublime Text, the VSCode variation surpasses Sublime Text by a factor 7. 24K downloads for Sublime and 170K for VSCode.
- https://marketplace.visualstudio.com/items?itemName=monokai.theme-monokai-pro-vscode
- https://packagecontrol.io/packages/Theme%20-%20Monokai%20Pro
As far as I know, Monokai Pro is the worlds' first freemium theme. I'm very happy to see that developers recognize a good looking working environment and are willing to pay for the work that goes into creating a color / user interface theme.
Thank you for the support so far! <comment><USER2> Sublime Text's business model. I noticed lot of folks doing free tutorial only videos. They should get free license if they do minimum 10 hrs.</comment>


Japan's boffins: Global warming isn't man-made - <AUTHOR> http://www.theregister.co.uk/2009/02/25/jstor_climate_report_translation/

<comment><USER2> From what I understand, these scientists are merely saying that there is not enough evidence yet to instantiate the hypothesis of man-made global warming into fact. And by evidence, these guys are looking accurately descriptions of several known phenomena that affect our climate that are not yet well understood.

The scientists bring up 2 good points for science's sake - first is that scientific models need to be 'tuned' because its impossible to deal with all of the complexities of nature - this makes them susceptible to selective tuning to make them support the hypothesis. They also imply that this hypothesis is unscoped, meaning that solar, aerosel, or other factors haven't been adequately taken into account. If you want to prove the link between carbon and temperature change, prove that that observed effect isn't caused by anything else.

I also think this title is completely link-bait, because they aren't suggesting that Global warming isn't man-made. They are merely saying that the scientific evidence is not conclusive, and won't hold up in a scientific forum if there was no humanitarian agenda attached. I think its healthy for the scientific community, frankly.

</comment><comment><USER3> Some excerpts

> The report by Japan Society of Energy and Resources (JSER) is astonishing > rebuke to international pressure...

> JSER is the academic society representing scientists from the energy and > resource fields

I think in this case it is relevant to consider the source.

<comment><USER4> It's always relevant to consider the source. I like to keep in mind that the material arguing problematic anthropogenic warming all comes from public grant funded researchers, who would like to keep getting grants. "Impending Catastrophe" scares up money, I would think.

<comment><USER3> I think it is probably most relevant to consider where the funding comes from - 'He who pays the piper calls the tune'. You really would have to involve those who fund the research in your little conspiracy theory for it to make sense. Publicly funded research money generally comes from the government. I don't really see enough incentive for the governments of the world to be paying for biased research in favour of global warming. In fact I would argue that the previous US administration demonstrated a significant bias against the global warming case.

In the case of private organisations the incentive to pay for biased research is obvious and it is an expected tactic.

When proposing a conspiracy theory such as the one you are with respect to global warming it can help to point to a previous examples of where a similar thing has occurred. As an counter conspiracy theory example I'll put up the debate over smoking. Although public research started to show signs of health problems, the smoking industry fought with their own paid 'research'. Millions of lives have probably been lost as a result of the delays in changes to public policy because of the FUD spread by the smoking lobby. To me the incentives with global warming seem to be the same as with smoking was and I see every reason to believe the situation is the same.

<comment><USER5> > I don't really see enough incentive for the governments of the world to be > paying for biased research in favour of global warming

The incentive seems obvious to me but correct me if I'm wrong: increased taxes and regulation resulting in more power for politicians.

<comment><USER6> Doesn't regulation limit the power of the politicians, too? And the taxes would have to be increased for specific spending, not for stuff the politicians might prefer to spend the money on.

<comment><USER7> > Doesn't regulation limit the power of the politicians, too?

No. Regulation is an opportunity to pass out favors.

> And the taxes would have to be increased for specific spending, not for > stuff the politicians might prefer to spend the money on.

No, spending doesn't have to be for specific things. (What fraction of alcohol taxes goes to alcohol treatment?)

Moreover, controlling more spending is typically more interesting than controlling specific spending.

To put it another way, dollars are fungible wrt political power.

[http://dotearth.blogs.nytimes.com/2009/02/25/climate- debate-...](http://dotearth.blogs.nytimes.com/2009/02/25/climate-debate- creates-lobbying-boom/)

</comment></comment></comment></comment></comment></comment><comment><USER8> Boffin: "...scientists, engineers, and other people who are stereotypically seen as engaged in technical or scientific research. American equivalent is 'egghead.'"

Just in case anyone had no idea what a "boffin" was and figured it was some kind of flightless bird or something.

Not that this happened to me or anything like that.

</comment><comment><USER9> This is an idea that's given rise to many conspiracy theories about the politicizing of science, many of which make a lot of sense when you look at them objectively. I recommend reading Michael Crichton's essay on second hand smoking and some of the content on Green Agenda to get some background information:

[http://veritasvincitprolibertate.wordpress.com/2008/06/21/mi...](http://veritasvincitprolibertate.wordpress.com/2008/06/21/michael- crichton-on-the-unproven-dangers-of-secondhand-smoke/) <http://www.green- agenda.com/>

It's scary to think that powerful people might justify using science as a political tool, just because they believe the ends justify the means. If you're willing to manipulate the truth for what you perceive is good, it opens the door for many dystopian scenarios.

</comment><comment><USER10> If you research this issue even as a layman you will come to the same conclusion. Global warming caused by man made CO2 emissions is a total farce.

Here is some scientific proof for you to start your research..

<http://www.discovery.org/v/30>

<comment><USER11> Is that a joke? The discovery institute is in no way a reliable source. They advocate creationism!

</comment></comment><comment><USER6> I suspect they came to that conclusion by studying the guts of whales.

<comment><USER12> This is about as knee-slappingly insightful as a Japanese person saying "Trust Paul Graham on startups? Pfft. What would Americans ever accomplish with a startup, invading somebody?"

<comment><USER6> They are from maritime research, and they compared computer modeling of climate changes to astrology, so the step to reading guts of whales doesn't seem so far fetched to me. Japan is famous for needing whales for scientific research, so I just put 2+2 together.

I must admit I missed all pages of the article after the first, though (bloody pagination). Now reading, I can at least sympathize with the notion that man made global warming is only a hypothesis. However, that holds for anything science says, doesn't it? There are still varying degrees of belief based on the known evidence.

Overall the whole article did not have much content, or did it? The only content is basically that there are 3 japanese scientists who don't believe in global warming and 2 who do (or something like that - in any case the real information content is close to zero).

</comment></comment></comment><comment><USER13> An honest question: how do we know we are not in the opposite of an ice age? So temperatures will get warmer and warmer till they reach a peak and then start dropping till we get to the next ice age?

How do we determine that peak and when was the last one?

<comment><USER6> Climatologists know about the ice age cycles. The talk is about deviations from the expected temperature changes.

<comment><USER14> It would be nice if more people acknowledged that we should be seriously addressing the problem of natural climate change as well as man made climate change.

</comment></comment></comment><comment><USER15> What about Man-Bear-Pig? Man-Bear-Pig poses a huge threat to this planet. I'm serial, people. I'm totally serial!

<comment><USER15> Listen people, I'm serial. Man-Bear-Pig is a huge threat, and if you can't see that, and you continue to down vote this thread, I will demand a recount of your down votes. If I don't like that recount, I will appeal to the Imperial Senate and keep appealing until Palpatine gives me a count I like. I'm serial. I did not invent the internet for you just so you could ignore Man-Bear-Pig. You people are about to experience an inconvenient recount. This is serial people.

</comment></comment><comment><USER16> Japan: ... and those whales are going to suicide at the beach anyway, so we... Ehm, _study_ them and prevent contamination of beaches with decaying whale corpses.</comment>


Ask HN: "What's the Word" and IP protection on the App Store - <AUTHOR>

Apparently, there's a recently popular game called "What's the Word" on the IOS App Store.  However, if you search for it, you'll see a bunch of games WITH THE EXACT SAME NAME AND SAME LOOK, to the point where you can't tell which is the actual real game.  There's even one purporting to the the "Official" version, when it's not.
How can the App Store allow this brazen theft of IP?
And does this disincentivize developers from releasing anything if they can be so completely copied to the point where they use the same name? <comment><USER2> 'What's the Word' is a poor trade mark in that it is very descriptive and not particularly distinctive. If the game had a really distinctive trade mark around it, the maker would be better placed to request a takedown of the other apps if they copied the name.

I'd need a side-by-side comparison to judge copyright infringement better.</comment>


Show HN: Self-Published Book – Health Data Privacy, HIPAA, and COVID-19 - <AUTHOR> I just self-published a book that is a brief guide to health information data privacy, the HIPAA Privacy Rule, and COVID-19.
I'm an attorney and web developer and hope you find this helpful.
Here are some links:
- Sample Excerpt (PDF):
https://www.dropbox.com/s/v2p2ia224u5efqx/%5Bexcerpt%5D%20Healthtech_HIPAA_March_2020_unique.pdf?dl=0
- Paperback (on Amazon.com): https://www.amazon.com/dp/B086B9QHBL/
- Kindle (on Amazon.com): https://www.amazon.com/dp/B0868VXCGH
Please let me know of any feedback.
If you buy the book, please know that 100% of the profits will be donated to restaurant workers furloughed without pay during this time. (I once worked at Domino's Pizza before law school.) <comment><USER2> From the excerpt: > We worked hard to ensure that this text is accurate, but there is no guarantee that this text is the most up to date and error free.

I'm sorry to say this, particularly because you did a lot of work here. And it's probably unfair, even, since you're just one person taking on this sort of thing. But it seems to me that you won't stand behind your work, which means I can't trust it. NOLO, for instance, might have similar language in its books. But NOLO already has a reputation for quality.

<comment><AUTHOR> That's standard boilerplate language that I put in every book. I used the same book template for this project.

In this book, the information is the most up-to-date and on point. I'm following the U.S. federal government (specifically, the U.S. Department of Health & Human Services) for updates about HIPAA.

</comment></comment><comment><USER3> The font in that excerpt is quite large and contains a third of the pages in the book. Why publish this rather than make a blog post with the full text and a place to donate?

<comment><AUTHOR> It was easier to make a PDF and publish than create into a website ... also, I used a font size that makes it easy to read.

<comment><USER3> Thanks for making it - the more correct information people can get their hands on, the better.

</comment></comment></comment><comment><USER4> If I may ask, what it takes to publish a book like this? Obviously, beside personal time invested in writing, how hard is to get in touch with publisher, talk with them about specific topic, have it approved and reviewed and so on? Do you have to invest own money as well?

How much publisher is inclined to work with you when you want to donate 100% of the profits?

<comment><AUTHOR> It's self-published.

You can self-publish a book for Amazon.com here: [https://kdp.amazon.com/en_US/](https://kdp.amazon.com/en_US/)

<comment><USER4> Thanks!

<comment><AUTHOR> Barnes & Noble also allows you to self-publish: [https://press.barnesandnoble.com/](https://press.barnesandnoble.com/)

</comment></comment></comment></comment><comment><USER5> For anyone looking to expedite HIPAA compliance, we're using [https://www.accountablehq.com](https://www.accountablehq.com)

They walk you through all the checklists, policies, and procedures required to meet the standards. Support has been extremely helpful.

</comment><comment><USER6> That's a great idea to donate proceeds to restaurant workers, though not sure how much it will help. Wonder if it will prevent some authors from publishing health data that shouldn't be published

</comment><comment><USER7> I appreciate the consolidated information - but at a time where people are trying to help / donate resources for COVID-19, putting this behind a paywall seems out of place. A donation button might be easier? I'll make a website for you for free if it opens up that information, feel free to shoot me a DM.

Also I'm not sure this is covered in the book, but HHS has relaxed some of it's HIPAA rules because of COVID-19. Specifically telehealth providers (think Google Hangouts) are going to have some leeway as we get through this pandemic. [https://www.hhs.gov/hipaa/for-professionals/special- topics/e...](https://www.hhs.gov/hipaa/for-professionals/special- topics/emergency-preparedness/notification-enforcement-discretion- telehealth/index.html)

<comment><AUTHOR> This topic is covered in this book.

I cover the February 2020 and March 2020 notifications from HHS.</comment></comment>


Ask HN: back to math? - <AUTHOR> It seems like a lot of the most interesting jobs in software these days require a pretty heavy math background. Things like analytics and machine learning and computer graphics in particular. It's occurred to me that it might be worthwhile to go back to school and get a graduate degree in math, which is something that appeals to me intrinsically because I've always enjoyed math anyway.<p>Has anyone else done this? If so, did you find it helpful in getting more interesting work or did you just find yourself overqualified for the typical software job? <comment><USER2> Analytics is actually very cave-man level math and statistics. You could just work through Strang for linear algebra and a stats book and you'll know more than 80% of the people employed doing this work...and that's probably not even necessary. I will warn you that if you're already an infrastructure programmer, most of what analytics teams really need is someone to babysit the data. If you don't want to deal with that, I would disclaim all knowledge of computer programming beyond Microsoft Excel.

There's loads of blogs where people discuss statistics/ML and echo Hal Varian's quote that it's the next "sexy career" but if you look at the authors of those blogs they are all still in grad school, so take that advice with a grain of salt. Actuaries have been employed doing stats for centuries and they have never been "sexy," but they get paid ok.

Personally, I find statistics heinously boring so the excitement is lost on me. Instead of thinking "wow, we're awash in data, finally a reason to use my Stats 101" I tend to think: "oh fuck now that there's all this data I better not let anyone know I was an applied math major...I'll get stuck doing Stats 101 all over again." Now if someone wanted to pay me $200K a year to do knot theory, I'd be stoked...

Graphics is math heavy but you learn that math in a computer science grad degree, not a math grad degree.

Aside from Wall Street (where the useful math is often from the EE department, anyway) most math heavy programming jobs (i.e. "scientific computation") probably pay worse than what you're making now.

Signed, your friendly neighborhood math teacher turned programmer.

</comment><comment><USER3> It should be noted that an M.A. in statistics will require aptitude in both the calculus and algebra. Moreover, a generalized applied degree will require preliminary knowledge of ordinary differential equations and real analysis. I've also heard from professors that some competency in scientific computation (i.e. familiarity with both a well-used computer algebra system and statistical package) is usually expected.

I haven't pursued either, but I suspect that I will--I'm still an undergraduate studying general mathematics. But my assumption is that a generalized applied program is more useful than statistics. I've found breadth to be more important than depth in curriculum. That is, if you have a rigorous foundation in probability and mathematical statistics, then you could conceivably learn sampling theory, Bayesian statistics, or linear models outside of the classroom. Likewise, a rigorous foundation in differential equations might enable you to pursue chaotic or dynamical systems independently.

I can't speak to computer graphics specifically, but some of my peers work in quantitative finance, and they've echoed my sentiments on breadth. I've also heard from professors that one unexpected occurrence about students who enter either program is that many enter with a specific research interest, say quantitative finance, but realize they prefer to work in a different field, say biological statistics. I find the mobility and flexibility attractive.

<comment><AUTHOR> Thanks for the insights. I really enjoy studying math for its own sake so I'm naturally more inclined to study broadly and build a solid, common foundation than I am to zero-in on one speciality. My experience in FP, for example, has kindled an interest in studying algebra in greater depth.

</comment></comment><comment><USER4> Yes! I'm in the final stages of finishing my M.S. in Math. I've been doing it part time and it's been difficult and time-consuming, but very enjoyable.

Interestingly, studying math may have a non-obvious benefit of helping you understand functional languages like Scheme, Lisp, Clojure, etc. And I believe that functional languages are going to be quite useful in the years ahead. So even though you may not get a job in applied math, it may be helpful in all other kinds of software development.

<comment><AUTHOR> It was actually my experience learning various FP languages that inspired this idea in the first place.

</comment></comment><comment><USER5> I'm just starting my 4th year back studying math formally, 2nd year of PhD. I couldn't be having a better time. Who knows what the other end will look like, but I doubt I will ever work the "typical software job" again.

<comment><AUTHOR> My hero! Did you have to start from the beginning with an undergraduate degree or were you able to pick up in the middle somewhere?

<comment><USER5> Mathematically, the beginning, more or less. I had the advantage of having dropped out of my undergrad, so I went back (after 13 years), changed my major to math (from CS), finished in two years and applied to graduate school.

If I hadn't been able to resume my undergrad, I'm not sure what I would have done. Masters? Part-time classes until I'd bulked up my background and impressed a few professors to write me recommendations? I don't think I would have done very well applying straight to PhD programs.

</comment></comment></comment><comment><USER6> Analytics seems more stats oriented. Actually, I'd say the same about machine learning, too. Not that math and stats are fundamentally distinct, but there are different graduate programs offered for the two.

<comment><AUTHOR> That's a good point. I've also considered a stats focus. My limited experience with ML suggests that linear algebra is pretty important too but certainly statistics is fundamental to both.

<comment><USER7> For ML, I think it depends heavily on what you want to do. If you want to develop new algorithms, prove theorems about them, etc., there is a heavy math focus, although in terms of departments, you'd probably be more likely to do it in a CS department with a strong ML group, than in either a math or stats department. If you want to _use_ ML though, the skills are quite different. A good handle on statistics is still necessary, so you know when to use which techniques, and how to interpret the results, but a lot of the math used in ML as a research area is used mainly to develop the algorithms and prove theorems about them, and isn't as relevant if you're looking at them mainly as predictive modeling or data-mining tools to apply to various domains.

</comment></comment></comment><comment><USER8> did someone tried to learn math ( linear algebra ) from the net ?

<comment><USER9> Try this (lectures from the man himself):

<http://academicearth.org/courses/linear-algebra>

<comment><AUTHOR> I've been working through these myself. Great lectures. The whole MIT OCW thing is a godsend if you're trying to learn any of this stuff outside of a classroom.</comment></comment></comment>


Ask HN: Who is using React Native? - <AUTHOR> What app are you using it for? What platform? What are your thoughts on the dev process and production performance? <comment><USER2> We have an app on iOS app store. And I am currently working on another iOS app that will be submitted to app store this month.

Our team consists only of web developers, but we really wanted app that feels native, so we evaluated the tools and came to conclusion that react-native will suit our needs.

I am not well informed about mobile app development in general but I found experience with react-native quite good.

Debugging process is quite the same to web development, open chrome go to sources tab and set breakpoints as you wish. Use CTRL+R to refresh the app the same as you would on the webpage. Performance is OK but generally you have to be more careful than on the web. Implementing `shouldComponentUpdate` can lead to drastic performance improvements.

Writing bridges between javascript and native code is really easy, even for somebody who has no idea about obj-c. So integrating custom third party libraries is quite easy.

I really enjoy development with react-native and would recommend it to any webdev who want to try app development.

</comment><comment><USER3> Apps using React Native: [https://facebook.github.io/react- native/showcase.html](https://facebook.github.io/react-native/showcase.html)</comment>