The Problem with Facebook Connect - <AUTHOR> http://dcurt.is/facebook-connect

<comment><USER2> I work on viral FB apps, it is a numbers game. Without an auth flow the 2nd day retention is maybe 1-2%. With an auth flow + wall posts, it is true that 60-80% won't auth the app, but we get enough people who do and come back the second day to make it very worth it.

Facebook policy is that an app should not autopost without permission, even if technically there is the capability, and that policy is enforced on their end and respected on ours, so you are still free to auth the app but decline the autoposting if you choose to.

</comment><comment><USER3> Every time I Facebook Connect to an app, I check my profile that nothing was posted. Even if Facebook does say if the app will post on my wall or not, I am just confused on what is going to happen next.

It is one of those things that prevent me from signing up at all.

<comment><USER4> This is why it's a very good idea to include the line, "We will never publish anything to your timeline without your direct permission", on your sign-up form. Or even more direct, "We promise not to post to Facebook that you signed up with us!".

Something along those lines will go a long way in getting me to use Facebook Connect to register for your application, because like you, I immediately go check... and I'm infuriated when they do.

<comment><USER5> You're right about the line. But, as an anecdote, pinterest have a very similar line and I found a bunch of "xxx has begun to following yyy" (or something like that) after the "automagic auto-follow all my friends". I discovered the "feature" of the posting only because someone answered to my post... Now I'm _way_ less confident on the promises made on login...

<comment><USER4> Yep, this happened to me as well. There seems to be some confusion, which no one is addressing because they want the virility, around the initial "User signed up for Product! Try it out!", and then future pushes based on user interactions or automagic sharing.

You have to remember too, that we are the minority, and most users (especially of services like Pinterest, which people absolutely love) don't really care about this stuff, or think it's normal.

</comment></comment></comment></comment><comment><USER6> If you're ever worried about an app posting to your timeline or you want to use an app that only grants access based on the permissions you give it (like the horrid Washington Post social reader), there's a really simple fix. Just select "only me" from the "who can see this activity?" dialog box. It's sometimes a very light non-contrasty color (which is sneaky), but after doing this the app can spam 1000 stories on your timeline but it will never be seen by your friends.

Sure you will be able to see it, but you can then remove the stories at your convenience. Even when I disable permissions and double check the dialog box, I always click this to make sure.

</comment><comment><USER7> This is why I'm gunning for BrowserID and so should you. At least someone is trying to solve the problem and doing a good job of it.

It doesn't abuse user trust and when it is fully integrated into the browser (I imagine it as a replacement for those lame http auth dialogs), it'll be a no brainer.

<comment><USER8> It seems to me like most of my Twitter authenticated apps don't auto-spam. I think this is a Facebook culture and default settings problem more than anything.

<comment><USER9> bingo

</comment></comment></comment><comment><USER10> This post is quite misinformed, IMO. Yes, many apps ask for the permission to post to your wall. You can say no. You can also go into your Facebook settings and remove that specific permission from the app, and then the app can no longer post as you, but the login functionality would still work (assuming they were halfway competent in their coding.) I often will remove the wall posting permission right after I grant the permission.

And as to the proposed solution, Facebook doesn't need to do anything. Those developing the apps don't NEED to ask for the permission to post to your wall. The developers (and business rules) determine what permissions to request, and we frequently build apps where all we ask for is basic information or basic + pictures, for example. There is absolutely no reason that the developers MUST ask for permission to post to your wall except that they are going to do it, probably without asking you first (which is EXACTLY what you granted them permission to do!)

So the answer to the problem is, don't login with apps that require you to grant permission to post as you. Or, immediately deactivate that access if you must use that app. Or do as others have mentioned, and just set that app to only be visible to you. You get the "benefit" of the posts, and it doesn't go out to anyone else.

The real problem is, most people just don't care. Facebook gets 80% CTR on permission dialogs, and almost 50% of people prefer social login to creating an account or using a guest account. Facebook has a great incentive to make sharing as frictionless as possible, so we are only going to see more ways to share things easier. I'm not saying that sharing is bad or evil, just that people should be making that choice consciously, not just blindly clicking it.

</comment><comment><USER11> I agree with you that FB Connect has tremendous potential, but I disagree with you regarding how negative people view it.

Using FB Connect for Greekdex has (seemed) to be effective. You must consider your audience--Greeks, even at UPenn, are less worried about their "sensitive" data in comparison to a startup that targets techies who are very aware and paranoid about their data.

I wrote about how companies should "stand on the shoulders of Facebook," feel free to read about it here:

[http://blog.greekdex.com/post/17396768249/stimulate-the- econ...](http://blog.greekdex.com/post/17396768249/stimulate-the-economy-via- facebook-data)

EDIT: I made a bold statement out of pride that was relatively unrelated to the discussion.

<comment><USER12> This logic is fallacious.

        > In just a week at UPenn, our startup Greekex has
        > received 500 registrations via Facebook Connect
        >(we do not offer an alternative login).

500 registrations via Facebook Connect compared to what, exactly?

Any idea of how many _didn't_ sign up after visiting, or backed out?

You have no alternative login so you can't compare it against people opting for those.

How about projected signups? Were your expectations met or exceeded?

All you're saying here is that you've had 500 signups through Facebook. No useful conclusion can be drawn from that.

<comment><USER11> Ok, in hindsight, I agree that might have been a pointless statement in the grand scheme of things, but 500/3000 Greeks in one week is significant market penetration. This is also a MVP that we developed in 4-5 weeks, so I say that with pride.

</comment></comment></comment><comment><USER13> The new auth dialog resolves a number of the fundamental problems described in this article, namely the second step where the user can individually reject extended permissions: <http://developers.facebook.com/blog/post/578/> [http://developers.facebook.com/docs/opengraph/authentication...](http://developers.facebook.com/docs/opengraph/authentication/)

I think the post is a bit anachronistic. The dialog box has changed probably ten times since Connect launched, and there was a period where it was a slew of checkboxes to enable/disable ("always been bewildered by the way Facebook implemented Facebook Connect").

In addition, the feature of an off-site app to publish to your stream without asking you has come and gone (remember Beacon?), and has only recently come back with the advent of Timeline and publish_stream permissions. (which, IMHO is just like Beacon, only this time "we're ready for it.")

The article does seem to suggest that it has been a longstanding problem however, and that's simply not true - the abilities of what a Facebook- connected app can do, and the UX around it, have changed many times.

</comment><comment><USER14> Facebook is very intentionally trading trust for virality. This is b/c most users don't really care. Over time the balance will shift back toward trust.

Google made the opposite choice, and is now shifting its focus to de-emphasize the trust of its users, or put differently, google's new privacy policy (if successful) leverages the years Google spent building trust.

<comment><USER15> This is a good point but we shall never forget the intersection between FB and G+: _if you aren't paying for it, you aren't the customer_

<comment><USER16> That canard doesn't hold sway anymore.

</comment></comment></comment><comment><USER17> It seems like a more or less reasonable solution but it defeats the whole point which is to use and abuse users' data and circle of facebook friends.

If you remember several years back when it was discovered that ads had become inefficient because people learned to filter them out after being exposed too much for too long but that if the ad came from a member of the social circle it bypassed this filter and has the potential go viral, which pretty much gave birth to so-called viral marketing.

Well it seems facebook is the realm of a combination of viral marketing (trying to pretend not to be an ad in disguise) and spammer strategy (a large enough number of potential marks insure some will fall for it). IINM this is what facebook currently pushes for in a renewed attempt to monetize their userbase.

This _seems_ like a reasonable solution I said, because the real problem with facebook connect is that it links real world identities (or rather facebook profiles which is close enough to real world identities) to online activities that users don't necessarily want the world to know about. And while facebook uses this to collect even more data about its users, the users have no control over it

tl;dr: the real underlying problem of facebook connect is the same old "if you're not paying for it, then you're the product being sold".

</comment><comment><USER18> I think solving this problem is just a band-aid. As sites like Facebook and Twitter have become mainstream privacy concerns are also becoming mainstream. We're going to have to develop better ways of working with people's data -- kind of like PCI compliance but for personal data. I'm no fan of regulation, just making a prediction.

That said, if you don't need access to someone's entire social graph and just need an email, you should just ask for an email. Let's at least start there. But when the only business model anyone seems to know is "collect metric tons of data and sell it to advertisers" I'm probably yelling into the void.

Edit: err...oops. That probably sounded a bit spammy based on the down votes. Suffice it to say I'm starting a nonprofit in this vein. Info is in my profile.

</comment><comment><USER19> As a developer it wouldn't be hard to implement this. Create a Facebook Login button which logins in with facebook but doesn't allow the post-as-me permission. Create a separate button once they've logged in which says something like "I want to share this with my friends now" which would ask for the share-as-me permission. Or set up the dialog so that it only asks for the share-as-me permission when the app needs the share-as-me permission. I think this is more developers not putting enough thought into what permissions they actually need vs what permissions are nice to have.

</comment><comment><USER20> From the perspective of a web developer, what I don't like about Facebook Connect is I give up ownership of my user accounts.

In other words (unless I ask for and maintain separate user tables), all the login credentials stay with Facebook. And if they ever decide to stop supporting my site, I lose all my users.

I'd be willing to pay for a FB Connect like service if I trusted it (which would probably mean the ability to download login info on anyone who connected, so I could roll my own user management whenever I wanted).

<comment><USER21> Someone posted this idea other day: save the user's email and if you ever want to get rid (or if you get kicked from) fb connect you can ask the user to reset their password.

</comment></comment><comment><USER22> I agree with this posting. Facebook has done a terrible job of protecting users with the Facebook login to the point where it's completely untrusted.

When I come across an iPhone app that asks for a Facebook login, my first thought is "Which one of my fake Facebook accounts should I use to log in with?" There is no way I want some app to upload my friends list, etc, on first use without me knowing exactly what is going on, a la Path. Both Apple and Facebook are guilty of this and they need to fix this quick.

</comment><comment><USER23> i wanted to write a similar blog post to this - facebook has done itself and all developers a huge disservice by botching Facebook Connect and frankly the entire permissioning system for accessing the social graph - users are so frightened that apps will be able to publish on their behalf that they will not even click a Facebook Connect link - even if the text next to it says it is only asking for the most basic permissions.

This hurts the whole social ecosystem on the web - cool apps can't get traction, new redundant networks end up springing up because people can't leverage the existing graph, and users are frankly scared. The really sad part is that these days they usually have nothing to be scared of - Facebook's permissioning system is so onerous that most developers have access to very little data and can do hardly anything without a user's explicit permission.

I wish there was a way for Facebook to redeem itself with regard to Connect, and to rebuild user trust. I am doubtful.

<comment><USER16> Yoe right about everything except where you mistakenly think that users care. Users who care are statistical noise.

</comment></comment><comment><USER24> FB recently introduced Enhanced Auth Dialog which solves the problem you mention about.([https://developers.facebook.com/docs/opengraph/authenticatio...](https://developers.facebook.com/docs/opengraph/authentication/))

It allows users to remove permissions such as posting to facebook.

Unfortunately it is opt-in for apps.

</comment><comment><USER25> they sort of have this with extended permissions (which can be turned off by the user), but he's right in that its too complicated and not communicated to the user well enough to actually be useful

</comment><comment><USER26> I can't believe anybody actually uses those Facebook connect things.</comment>


Amiga Machine Code Course - <AUTHOR> https://www.markwrobel.dk/project/amigamachinecode/ <comment><USER2> Very few things in life compare to kicking back late at night, turning on the Amiga and spending the next 12-15 hours in ASM-One writing and executing 68k assembly in tight feedback loops -with the occasional crash- until exhaustion forces one to stop. I spent the best years of my life with the Amiga and I wish I could do it all over again..

Later, I moved on to doing realtime graphics in DOS, first with Turbo Pascal and inline assembly (reading Denthor/Asphyxia tutorials) and eventually C and although I have fond memories of that period too, the Amiga will always remain supremely vivid in my memory. Utterly unforgettable.

The meaning of life is to become a legend: [https://www.youtube.com/watch?v=jziQBWQxvok](https://www.youtube.com/watch?v=jziQBWQxvok)

<comment><USER3> Did you make that? Pretty sick!

<comment><USER2> Kefrens did.

It's one of the best Amiga demos ever made running on a machine with a 7MHz CPU and 1MB of RAM.

</comment></comment></comment><comment><USER4> My mom's old boyfriend (bio father passed away early in my life) was quite the pain in the ass to me. However - he's always been a fan of Amiga. He had an Amiga 3000(I think?) Filled with pirated games and with various different RUSH album wallpapers. Ohh, good times! He was never a programmer, but he did know about every little tool and command line command available to the Amiga. My 10 year old brain couldn't comprehend how good multitasking was on a computer that slow.

I strongly respect Amiga, and believe that Amiga could have and should have been the company to dominate computers. It boggels my mind that Amiga has faded into relative obscurity all these years later. Folks don't know what they missed.

<comment><USER2> Read "Worse is Better" by Richard Gabriel.

It's not the only factor in the Amiga story since Commodore's incompetence in the business and marketing domain is the stuff of legend, but it certainly resonates.

</comment></comment><comment><USER5> If you want to see what an Amiga 500 can do in the right hands:

[https://www.youtube.com/watch?v=zwoyfH7TgEQ&t=3270s](https://www.youtube.com/watch?v=zwoyfH7TgEQ&t=3270s)

Eon by TBL from Revision 2019.

</comment><comment><USER6> I wanted to learn assembly language on the Amiga so bad when I was a kid. The demoscene guys were my heroes, but I didn't have a guide, and certainly no modem. I got AMOS basic for my birthday instead.

Not the worst start I guess, they're still making popular games with its distant descendant Multimedia Fusion today.

Years later when we emptied that house, I found an assembly programming manual. Turned out it was there all along...

It doesn't really feel tempting to go back and learn it now, though.

<comment><USER7> My story exactly. Played around with Amos, was interested in assembler but it wasn't practical to get into it. I went to the library and could only find one manual about game programming tricks (not the basics) in 68000 asm, but it was too advanced for me and I didn't even have an assembler. You just had whatever software your friends happened to have or what was included on coverdisks that came with magazines.

Also like your story, later I realized that I could actually have had access to the software and information, since I was going every year to the Assembly demoscene event and could have surely found the tools and information there if I had just tried harder.

It's incredible how now you can just get any software and such wonderful tutorials for anything imaginable that you could want to learn. What a time to be alive.

</comment></comment><comment><USER8> [https://www.markwrobel.dk/post/amiga-machine-code- part1-debu...](https://www.markwrobel.dk/post/amiga-machine-code- part1-debugger/)

Excerpt:

"Before we continue to letter 2 of the Amiga machine code course, I want to show the debugger in WinUAE.

 _It's a real gem_ and it makes your life as a programmer a whole lot easier."

</comment><comment><USER9> Coppershade[0] also very good.

[0]: [http://coppershade.org](http://coppershade.org)

</comment><comment><USER10> The post on the HAM (hold-and-modify) video mode is particularly interesting: [https://www.markwrobel.dk/post/amiga-machine-code- letter12-h...](https://www.markwrobel.dk/post/amiga-machine-code- letter12-ham/)

</comment><comment><USER11> I think the closest anyone can get to the glory days of Amiga hacking today, is to be found in the ZX Spectrum Next - which looks to be becoming the most profound hacking platform for lovers of alternative computing environments, so far ..

[https://www.specnext.com](https://www.specnext.com)

The things people are doing with this amazing machine today really remind me of the life and enthusiasm that was in the Amiga scene back in the day.

Perhaps with the success of the ZX Spectrum Next, we might see a new wave of machines, which build upon their 80's ancestral architecture and provide a way out of the walled gardens in which we are all trapped ...

<comment><USER2> The Amiga community is big, certainly much bigger than ZX Spectrum or Atari or Commodore 64 or pretty much any other retrocomputing community I'm aware of.

There is continuous development in both software and hardware. The Amiga demoscene is also very active (it never really slowed down) with productions that would be considered unreal in the past, and constantly upending each other.

Besides the golden age in the 90s, it's never been a better time to have classic Amigas as your hobby.

<comment><USER11> I don't doubt that - but have you seen the energy being generated around the ZX Next? It's pretty significant - and the fact it can load other cores is key, I think, to what's going to happen around this scene in the next 6 months.

I definitely agree that Amiga users have kept the machines alive. ZX Next is like that, for Speccie fans and other 8-bit aficionados.

</comment></comment></comment><comment><USER12> I found a box of Amiga software in the garage a couple days ago - I may stumble upon an Amiga 500 hardware box as I get further in the garage.. is there a group that is collecting these and putting them out there or something? I don't want to throw them away if people would use them.

<comment><USER13> People will buy anything Amiga related for good money on ebay, however:

[http://www.amibay.com/forumdisplay.php?24-Amiga](http://www.amibay.com/forumdisplay.php?24-Amiga)

Is where the 'real' Amiga collectors hang out, if you sold there first, it would be appreciated.

<comment><USER12> Thanks for this info! I will not trash them and instead convert to treasure.

</comment></comment></comment><comment><USER14> I still remember those days when I would sit down at my Amiga after coming home, fiddle around with my floppy disks before settling with a game to play. This course brings back fond memories of the Commodore era.

</comment><comment><USER15> This is a really interesting resource. Not only because of the teaching, but because of every little link that sends you down a path of learning about the history of Amiga development.

</comment><comment><USER16> This looks great and would love to go through it.

I wish someone would do an Atari 8bit course as well! I didn't get heavy enough into Atari asm as a kid.

<comment><USER17> This is as close as I found a course: [https://youtu.be/y3apDStF3Es](https://youtu.be/y3apDStF3Es)

</comment></comment><comment><USER18> What's the best way to get started on OSX? I've tried to get up and running with FS-UAE several times, and never get it to work.

</comment><comment><USER19> This is what I grew up on. Very cool to see this!</comment>


Are you sure you want to become a programmer? - <AUTHOR> http://coreygrusden.tumblr.com/post/45542279455/are-you-sure-you-want-to-become-a-programmer

<comment><USER2> shut up.

<comment><AUTHOR> Why?</comment></comment>


How IBM quietly pushed out 20,000 older workers - <AUTHOR> https://www.youtube.com/watch?v=e681QNbHloE&feature=youtu.be <comment><USER2> Working for ibm is clearly hasadarous to your ability. If we believe ibm they're telling us just how much ibm sucks. Employer of last resort, do not hire.

</comment><comment><USER3> Ageism is still the number 1 discrimination in the IT/software industry by a mile. But since it is not as 'sexy', 'Politically Correct' or appealing to the right 'Consumer Demographic', it gets mostly the silent treatment.

<comment><USER4> I find this explanation hard to swallow. It sounds too simple.

These are 40-55 year olds we're talking about, most of which are experienced, savvy and have a solid network of friends and colleagues in the industry.

In most other industries, these are the most valued employees. Look at lawyers, doctors, and even engineers in other fields such as civil engineering. Are their 50 year olds somehow different? Is their "problem" somehow sexier? These fields treat their older employees as experienced authority figures while our treats them as deadweight as evident in this very thread.

</comment></comment><comment><USER5> Counterpoint:

The thing is, how can anyone who has stayed at IBM for 30 years be anything other than a deadweight who is just there to collect a paycheck?

I mean, come on. IBM is kind of corporation where people go in hopes of slipping through the cracks and being forgotten (while the automatic payroll deposits keep coming).

Can then not be pardoned for indulging in a little tree shaking?

Employment at the same place until death isn't some kind of constitutional right.

<comment><USER4> > how can anyone who has stayed at IBM for 30 years be anything other than a > deadweight who is just there to collect a paycheck?

This is blatantly absurd. What makes you think that?

According to the story, in general, older employees received good reviews but were discriminated against by a point system that gave an edge to new, young employees.

<comment><USER5> I watched the whole thing and saw the scatter plot clearly. Though the points are negatively correlated with age, there isn't enough information to know whether that was _unfair_.

Raw data like this cannot tell you that.

For instance, say that 75% of the employees in some company are male. That _by itself_ doesn't prove that there is a hiring bias against women.

What does "good reviews" mean? Maybe the people getting the points have "great reviews".

<comment><USER4> > there isn't enough information to know whether that was unfair

How do you get from "we don't know if the reviews were fair" to "everyone who's worked for IBM for 30 years has to be a deadweight"?</comment></comment></comment></comment>


An Introductory Ruby/EventMachine Tutorial - <AUTHOR> http://20bits.com/2008/05/21/an-eventmachine-tutorial/

<comment><AUTHOR> I write this up because there are zero good Ruby/EventMachine tutorials out there and I had a hell of a time when I was starting out.

Not to mention the documentation is less than stellar.

<comment><USER2> Thank you.</comment></comment>


Apple introduces revolutionary new laptop with no keyboard [Video] - <AUTHOR> http://www.theonion.com/content/node/92328?utm_source=embedded_video

<comment><USER2> _"Just open the IntuiType alphabet menu here, scroll to the letter you need, and center click to select. And click again to capitalize, and repeat this process for each new letter. Couldn't be simpler."_

By my count, that is 5 steps. On a keyboard, assuming a touch typist, the step count is reduced to 1: push a button. I say that a keyboard is much simpler.

To me, touch typing on a keyboard is much more natural than the hunt-and-peck (sorry, scroll-and-click) method of text entry that the MacBook Wheel uses. I am more productive touch-typing.

However, I can see the benefits of this on-screen keyboard display. Hunt-and- peck typists don't have to constantly shift their attention from the keyboard to the screen and back constantly. However, for touch typists, I can't see any immediate benefits.

 _"It remains to be seen that the wheel will catch on in the business world where people use computers for actual work and not just dicking around."_

So wait... we aren't supposed to be doing work on these? Is this supposed to be only a toy?

 _"With a price tag of just under $26,000 for the lowest-end MacBook Wheel..."_

That is one pricey toy!

The new MacBook was designed with simplicity in mind. There must be a point where design becomes too simple. It must have been designed for a _very_ specific subset of users.

<comment><USER3> please oh please tell me this is just a great level... otherwise... i guess now is a good time to read up on the following topics:

wikipedia, the onion, thick sarcasm, rick astley

</comment></comment><comment><USER4> This is hilarious!</comment>


Interest sparks hope for insolvent wave energy poineer Pelamis - <AUTHOR> http://www.edinburghnews.scotsman.com/news/interest-sparks-hope-for-wave-energy-firm-pelamis-1-3626478

<comment><AUTHOR> Pelamis had an astounding technical success in taming the power of ocean waves. This is incredibly difficult because storm waves have a great power which invariably destroyed earlier wave generators. One of the great ideas of the Pelamis engineers was to make a device which couples to short waves and is less affected by the force of stronger long waves, diving under them.

Here's a link describing the company:

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

And here is a video showing one of their devices - a 500 kW wave energy converter feeding electricity into the grid near the coast of Portugal:

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

It is a picture that always gives me hope that mankind will make it....

Why is wave energy generation so important?

Power from the wind is intermittent as the wind comes and goes, and it is very expensive to store electricity. Wave power provides another source that originally comes from the wind but is temporally and spatially decoupled from it. Ocean waves travel wide distances and can be harvested at the shore or, by the design Pelamis created, in the open ocean. Ocean waves can form a significant component of your future energy supply.

Wave energy converters already have seen a rapid development. Wave power generators from Pelamis have a maximum size of 750 kW - it took wind energy companies decades to build generators that large</comment>


Ask HN: How did you get into programming? - <AUTHOR>

I get the sense that most programmers are self motivated and largely self taught, at least when getting started. I got started with Logo on an Apple II. How did you get started? Did your school play a role at all? <comment><USER3> I almost feel as though it was a kind of Steve Jobs's "Connect The Dots" thing for me. [1]

Let's see, I can say that the earliest I was ever exposed to programming was when I was 12 years old. The online game Neopets was huge between a few friends and I, and I wanted more Neopoints (currency) than them. So, through tooling around on the internet I found a message board with a small user-base that wrote programs to take advantage of Neopets and the way their HTTP handling was done (that's how the game worked back then, this is circa 2002/2003). But, by just joining and registering you weren't given full access to some of the best programs, specifically one known as an autobuyer. This autobuyer would refresh the marketplace shops and, through a text file of known high-value objects, refresh and buy those items that you could resell for up to 10,000x markup. But the only programs I had access to were low- hanging fruit ones - ones that let you play some of the games without opening your browser. The only way to access the coveted autobuyer was through contributing to the community, both through posts and your own programs. So I downloaded Visual Basic and wrote a program that went to several pages within Neopets, that just by going and submitting an HTTP request returned Neopoints, sometimes netting in randomly high amounts. I called it "Dailies." By doing this I was granted access to the holy grail of Neopets cheating. Needless to say I abused the autobuyer, and a few months later my accounts were banned, I started to hit puberty, and stopped caring.

Fast forward a few years, and I'm making websites for myself and friends. These weren't great, I just used Macromedia Fireworks in the same vain that people use Adobe Photoshop today for the graphics (that's right, Fireworks wasn't an Adobe product back then), slicing up pages and "coding" them up using HTML. This led to making some phpBB forums for people/myself so I naturally learned about graphic assets and the modularity of them as it applied to the web. Then I stopped creating them, and started posting through various bulletin boards around the web. No more coding again.

Let's jump again (a short hop really) to high school. In my Junior year, I took a C programming class, and I don't really remember liking it too much. It was mostly int, string, ++ and x+=2 syntax, and a the beginning of loops. It was fairly boring then, so after I got a B in the class - I stopped again.

Now, fast forward to a year and a half ago - my second senior year of college. A couple friends and I enjoy going out to get drinks, and wonder why there's no app that tells the best specials in our area, let alone any specials. We decided to make it, and I started really LEARNING programming. I started from the basics again - I knew what if,else was and what the most basic types were. I had to google the type that took decimal numbers. 3 months later, I coded the app up and we had it in the App store. This was what really got me into programming. My work. My creation. It was in the hands of thousands of college students at my University.

From there, I haven't stopped programming. I have 6 apps on the app store, 6 more in various level of completion. Some won't see the light of day - <USER2> hopefully some will blow the doors down on other similar apps in their market. I have a full-time job developing iOS apps at a research group through the College of Engineering at my University - and the only person with a BA in Art hired there. I like to think my idle creations are more extensions of my art than anything else - explorations through curiosity.

Pardon the long story, but that's how I _became_ a programmer. And that's where I am today.

\</comment><comment>-

[1] <https://www.youtube.com/watch?v=UF8uR6Z6KLc>

</comment><comment><USER4> In highschool I remember changing HTML markup and seeing how that changed how the page was rendered. That entertained me. I've always loved picking things apart and figuring out how they work.

I studied economics in college (practically no programming was part of that education). After college I worked in sales/client support for a large financial software company for a couple of years. I like to learn on my own so I studied the financial derivatives markets. That got redirected into learning some more math.

After working on a few projects with software developers I decided that I may actually enjoy their work more than what I was doing at the time (helping sales people position our product and training clients how to use our product). Until this point in time, my only experience with code was getting through levels on pythonchallenge.com and projecteuler.net, and recording and tweaking Excel VBA macros. I approached my company's R&D recruiters and asked to be interviewed for an entry level position as a software developer. After a few rounds of interviews and many questions "Why do you want to do this?", I earned a spot in our entry level training program. I was advised that if I wanted to make it through this program, I would need to be up to speed on C, basic algorithms and data structures and vim. I listened and in 3-6 months I worked my way through a book on C and Tim Roughgarden's class on coursera.org. I finished that training program successfully a few months ago and am now a freshly minted entry level software developer.

It's pretty refreshing to be a novice in a field that's interested me for such a long time. So far I am significantly less stressed at work and really enjoy what I am doing. It's also fun being a 'new employee' after already working at the company for a few years. Sometimes I feel like a spy. Some people doubted whether I'd be able to make the switch so I am pretty happy that it's working out so far. I like being able to prove people wrong.

</comment><comment><USER5> I started out with a Dragon 32 at around age 14, typing in programs from computer magazines. When I went to university (in 1989), I studied Aeronautical Engineering, which had no computer science or programming at all. I chose a final year project to write a propeller performance tool in Pascal. When I look back at it, I realise what an awful program it was. I was just learning as I went along.

After the engineering degree, I did a "conversion" Masters degree in computer science, though it was rather theoretical and placed great emphasis on formal methods, the management of software projects and being able to write essays comparing OO with non-OO programming. Most of the practical IT/CS skills I got from that time were through my part-time job on the university's computer services help desk.

My current skill set is almost entirely unrelated to my CS degree - I taught myself Python, learned C and my way around Linux through pair-programming with a colleague.

I'm still teaching myself - functional programming in Haskell, using web frameworks to do some nice webapps, and dipping into new languages and technologies that get mentioned on HN and other places.

So I guess that I'm a programmer in spite of my CS degree rather than because of it. I love what I do, so much that it rarely feels like a real job. I'm very lucky.

</comment><comment><USER6> I'm a graphic designer by training and by trade. In 1998, I co-founded a small company where I took care of all the design/publishing. After a few months we decided that we needed a website and I was the one who had to build it.

I was _scared to death_. The whole "coding" stuff seemed so freaking abstract to me… But I did it, with the help of Dreamweaver 3's wysiwig mode because I didn't want to become crazy.

But one day, we saw a cool trick on some website (and I can't remember which trick or which site) that we wanted to have on our site. It was a JS trick and I had to take a dive into that website's code, copy their JS function and adapt it to our needs. It was surprisingly easy and it made me understand that it was actually very close to how I did my design/layout.

After that, my life has been a neverending downward spiral for me.

</comment><comment> alok-g My father bought me a used Sinclair ZX Spectrum+ from someone who couldn't figure what to do with it, when I was 11. The succinctly written manual that came with it had I all need to master BASIC, followed by learning to program in machine code straight (no assembler!) by age 14.

It would be hard to say what would have been if this had not happened. This machine had me figure several things well ahead of my age, including coordinate geometry, computer graphics and animation, compilers and interpreters, computer architecture and basic logic design, et al. One thing I could not figure from the manual was the meaning of functions "sin" and "cos"! The latter was pretty much the only area where school helped. :-)

I still have the machine, and sometimes miss that 16 kB of ROM'ed machine code that could do so much for its size.

</comment><comment><USER7> Got dumped by my girlfriend. Had to take my mind of things. (Hey, c'mon, just being honest here!)

</comment><comment><USER8> Almost thirty years ago, I wrote a bulletin board for my Commodore Vic-20. It had public and private rooms (message areas), private mail and an online game. Users could create a room and make it public or private. The room topics ranged from string theory to general messages. The board was very popular with each user spending an average of 65 minutes on it.

One of my users said "Anyone who can write a BBS for a Vic-20 can program!" and hired me as a programmer.

I went on, much later, to write safety-critical software for medical equipment and an air traffic control system. The guy who hired me is now working at Google.

</comment><comment><USER9> Started in highschool with visual basic and created a aol instant messenger punting program.

No classes in HS. In college was chem engineer and learned matlab and fortran for scientific computing and data analysis. Linux admin and bash scripting.

Finally, quit my job at a large consumer packaged goods company. And have spent the last few months learning ruby and ruby on rails to try and build my first business.

So no cs degree. Just a math heavy background and curiosity.

</comment><comment><USER10> Started with C=64, but was in a small town and didn't really have access to any books or guidance. Moved on to PC and wrote some text-based games. It was enough to get me interested in CS for college. This was the mid-90s and I got really interested in Internet. I wrote a simple risk-style RTS game and ran the server directly on the CS department's web server! Incredible that this was allowed at that time.

</comment><comment><USER11> Started with free message board forums that I'd set up on a free host and then add various extensions. This meant following a guide and going into the code and replacing certain lines with lines in the code (PHP). I never "learnt" what anything was though (e.g. for loops, if statements etc)

Then did a CS degree.

</comment><comment><USER12> C64 my parents got me and my brothers. Then moved on to, uh, learning the intricacies of computer security. My school did not play a role at all. Only my parents, and my older brother (whose floppy disks I would erase in order to save my Print "Your feet stink" program).

</comment><comment><USER13> Was an old TRS-80 in junior high school, wrote simple stuff on it in BASIC. Forgot about programming until I discovered HN, then enjoyed reading what you people were reading so much that eventually I decided to start on Codecademy & pick it up again.

</comment><comment><USER14> Hung out on an IRC channel with game developers and wanted to do what they did.

</comment><comment><USER15> Was a sysadmin, started with shell scripting. Then Perl. Then C/C++

</comment><comment><USER16> Programming class featuring the Commodore PET. 1983.

</comment><comment><USER17> I started at 6, my father is a civil engineer that loves to code (he is civil engineer because that was the only engineering degree available to him, otherwise he would have taken electrical), his dream is that I would be a computer engineer and that I would invent great things.

He started to try to teach me how to code when I was 6, without much success, since I hated typing.

Then he showed to me that I could make my own games... This was enough to keep me learning for a while.

When I was 9 I asked to learn C (a thing my dad had offered before), he was really happy and thought I wanted to help him in one of his inventions.

I learned, helped him a bit, and then wandered off to mod Dink Smallwood (that use C inspired "C-script" as internal scripting language).

When my dad found out he was a bit sad, he thought that I finally was wanting to make systems.

The same happened when I started to fiddle with ASM, he thought I was going to do something great, then my "great" thing was a crap attempt in making one game engine faster :P

My dad is still not really happy, sometimes when I am talking about computer engineering he pouts and remembers me that I had a game design degree instead of computer engineering, but he is now more supportive and gave up in trying to convince me to not code games :P</comment>


Trader Joe's Ex-President To Turn Expired Food Into Cheap Meals - <AUTHOR> http://www.npr.org/blogs/thesalt/2013/09/21/222082247/trader-joes-ex-president-to-turn-expired-food-into-cheap-meals <comment><USER2> _With the exception of infant formula, the laws that the Food and Drug Administration (FDA) administers do not preclude the sale of food that is past the expiration date indicated on the label. FDA does not require food firms to place "expired by", "use by" or "best before" dates on food products. This information is entirely at the discretion of the manufacturer.

A principle of U.S. food law is that foods in U.S. commerce must be wholesome and fit for consumption. A "best by", "use by" or expiration date does not relieve a firm from this obligation. A product that is dangerous to consumers would be subject to potential action by FDA to remove it from commerce regardless of any date printed on a label._

Source: [http://www.fda.gov/aboutfda/transparency/basics/ucm210073.ht...](http://www.fda.gov/aboutfda/transparency/basics/ucm210073.htm)

<comment><USER3> This is news to me. Having worked for Safeway for many years, we held to those dates religiously.

<comment><USER4> It's like that was because it wouldn't be good to have customers see "expired" food on your shelves. As a customer, I wouldn't buy food which has gone past the expiration date. Sure, it could be fine to consume but I'd rather purchase food on that's well ahead of the expiration date. Especially since I may not cook/eat the food until a day or so later.

</comment></comment></comment><comment><USER5> I think what most of the comments here seem to be missing is that (what I think is being said) he is takin on the fast food market in under-privileged areas where finding healthy food is a challenge. I think this is the case because the interview says they will cook the food for the patrons, and that he'll be serving the inner city areas not currently served.

Many of the people living in the area dine on fast food because it is incredibly cheap. "Real" food a"can't compete at this price. However, maybe post sell by date foods can.

The challenge is likely to be one of marketing, as it won't be difficult for the fast food chains to label the newcomer as selling rotten food.

</comment><comment><USER6> Not to downplay the good work he's doing, but both of those things (selling expired food and giving it away) are both pretty common. There are discount stores who specialize in expired food.

<comment><USER7> Yeah, it's nothing too novel. It sounds to me like he wants to take over a chunk of that market, by providing a large-scale solution that competes with all the small vendors. This article is mostly a promotional piece.

</comment></comment><comment><USER8> It's not really "expired" food. The sell-by date is just an indicator of when the item begins to go slightly stale. In the case of foodstuffs like fruit and milk, there are expiry dates and it's best _NOT_ to eat past that expiry date.

<comment><USER9> Expired milk can be used to make pancakes! See also [http://recipes.howstuffworks.com/dont-be-so-quick-to- throw-o...](http://recipes.howstuffworks.com/dont-be-so-quick-to-throw-out- expired-milk.htm)

</comment></comment><comment><USER10> It is great to see an entrepreneur tackling an issue that will benefit the world (in a huge way) vs tackling an issue that will make someone build wealth for themselves.

</comment><comment><USER11> I worked at TJ's as a teenager and they gave away the expired bread to a homeless shelter.

<comment><USER12> I've definitely seen distinctly TJ products at food banks. Meat, canned goods, etc.

</comment></comment><comment><USER13> I've always wondered where the products go when they are past their expiry date. They don't suddenly go bad at the second expiry date passes... Are they just thrown out? Sold to discount stores? Sent to local homeless shelter? It it legal to give expired products to anyone? Does it expose one to liability?

<comment><USER14> 'Sell by' dates are earlier than when fresh produce can be expected to become bad. Cooks can examine the fresh produce and decide if they should cook it or not. Tinned or dry goods might be harder to judge. I imagine the liability drops down to the person preparing food in a shelter or soup kitchen.

UK: many shops sell off food at half or third price when it hits sell-by. They put it in bins/special fridge areas and they have yellow 'BUY NOW' stickers on, and some products have a warning like 'use today'.

I know of cafes that give away their expired sandwiches _on the day and hour_ of expiry. So when given away, it was fine.

</comment></comment><comment><USER15> I have always felt bad about fresh produce going to waste in my fridge.Between my buying the produce and it going bad, there is always a point where I know I am not going to be able to use this stuff and in 2-3 days it will be unusable. I have looked for services in my area where I could take these items to. Something like soup kitchens who can then incorporate them into their cooking. But all the organizations I found took only canned goods and prepared food from large scale organizations like restaurants.

I had even thought it would be a great program for a charity register homes that are willing to give away soon-to-go-bad food. Then have volunteers stop by these homes on a predetermined schedule (once a week or so) to stop by and collect anything that the home might want to donate.

</comment><comment><USER16> I had a crazy friend who ate for years out of Trader Joe's garbage cans. One day a cops were called. After, that he still went back, but a lock was put on the garbage.

<comment><USER17> There's nothing crazy about that. I've known lots of people who dumpster-dive. A college roommate of mine lived on nothing but free and dumpster-dived food for several months when he was broke. Even when he had money he liked to do it and would bring back vegetables to share. One time we feasted for weeks on a huge grocery bag full of (normally expensive) avocados, eating around the bad spots... at least ¾ of it was good.

If you think it's crazy, I'm gonna guess your broke college-kid days (if you had them) are long behind you. :)

<comment><USER18> But I guess dumpster is still in private property and owners can still kick anyone out of the dumpster area for trespassing. Cops could be called for that instead of say for "theft"

</comment></comment></comment><comment><USER19> I HATE this. I previously shopped at Trader Joe's with confidence - I knew I wasn't being gouged on price, so I generally ignored prices. I knew the food was good, so I could turn my brain off and just buy whatever I fancied. However, maybe 7 months ago, I started to notice that I was buying expired or nearly expired things from Trader Joes - bread that would go bad the next day (got mouldy), cheese with mold, etc. It was super irritating, and I would never remember to return those things so I'd wind up eating the cost.

I eventually realized that for perishable goods, they put the new stuff in the back of the shelves, so now I just head for the back of the shelf when I need to buy perishables there. This sucks for me, since buying at TJs used to be a stress-free experience, and now I check the 'use-by' dates on everything.

I actually flirted with shopping at Walmart (the one on San Antonio), but even though the prices are lower, the checkout lines are crazy at peak times, which is when I shop.

I also checked out Safeway, but they do a pricing technique that I call "Price Warfare". They randomly advertise products on heavy discount, and get you to incorporate those products as defaults in your shopping habits, then they switch their discounts to other products. This means that I've wound up paying $7 for basic icecream (which usually costs around $3:50). They also like to prominently display expensive items and hide their cheaper substitutes. This is most visible in their produce section - if you go in looking for grapes and without your senses about you, you'll pick up organic grapes by default. It also means that shopping at Safeway is mentally exhausting, since I've got to recalculate the 'best' prices on everything I buy every time I go there - so I avoid it now. <end rant>

<comment><USER20> > I eventually realized that for perishable goods, they put the new stuff in > the back of the shelves, so now I just head for the back of the shelf when I > need to buy perishables there. This sucks for me, since buying at TJs used > to be a stress-free experience, and now I check the 'use-by' dates on > everything.

I just wanted to mention that this is a standard practice called rotation. After all, putting new product in front would result in wastage of the older product. Products are supposed to be culled on their sell-by (not expiration) date, and it's unfortunate that you got some bad groceries, but they didn't do anything unusual or shady.

Similarly, Safeway's practices are fairly standard amongst grocery stores, though it's a little annoying. Best to follow the sale circulars and keep your wits about you.

<comment><USER21> Yep, just look at milk. The newer milk is always in the back. If the expiration dates are too short and you won't be able to drink it in time, just look for ones towards the back and get those instead. I generally don't care though as long as the expiration isn't within a week.

<comment><USER22> Hackers new tip: Buy lactose-free milk and it will stay good for much longer than regular milk.

I don't consume a lot of milk, and I was getting tired of buying a half-gallon and having go bad two weeks later after I had only consumed 1/4 of it.

Lactose-free milk stay good for a long-time. Most of the time when I check, the best-before date is at least 6 weeks into the future. I've never had the milk go bad even if I've had it for 8 weeks. I'm not lactose intolerant BTW.

The only drawback is that the milk definitely tastes sweeter than regular milk. I'm used to it by now, but I'm sure some people would find it disagreeable.

I'm not sure why it lasts so long, even though there is no lactose in it, there is plenty of other sugars in it. Lactose-free milk is made by using enzymes to split the lactose into galactose and glucose. It tastes sweeter because both of the sugars have a higher perceived sweetness than lactose on a weight basis.

<comment><USER23> It's because lactose-free milk (or at least the Lactaid brand that I see my roommate drink) is treated at higher temperatures. You can find regular milk that has gone through the same treatment labeled as UHT or ultra-pasteurized, like the Horizon Organic brand and another I've seen at Costco as shelf stable juicebox form factor milk drinks (UHT coincidentally removes the refrigeration requirement too if stored in an appropriate container).

No need to pay extra for the lactose-free variant if you don't really need it and the plain UHT-treated milk is cheaper :)

<comment><USER24> Wouldn't the benefits of ultra-pasteurization go out the window once you open the package, thereby contaminating the milk?

<comment><USER25> There was this Mythbusters episode (pyramids preserving foods) where they sliced an apple in half. The one half rotted fairly quickly at room temperature the other was fine.

Brief investigation showed that there was difference in the initial contamination of the two halves and the results observed.

Modern kitchen and fridge are fairly clean places unless you are a movie bachelor. So opening a milk bottle and pouring a glass won't contaminate too much. And at 4 degrees there is not much breeding activity in bacteria anyway.

<comment><USER26> Actually, they didn't appear to investigate the cause at all - they just assumed one cut surface must have been contaminated more than the other and changed the experiment to remove the cut surface altogether. Since the mold on the non-pyramid apple only survived on the cut surface, not cutting the apples made sure no mold grew on any of them, and all bar one of the apples (the one from the cube) was perfectly preserved at the end of the experiment.

Was kind of annoying actually; the Mythbusters got so pissed off that their experiment appeared to show pyramids working that they set up their next test in such a way it'd give the same result regardless of whether pyramids or contamination had caused one apple to rot faster before, then held it up as proof pyramids were bunk. While it's really unlikely pyramids can magically preserve food, they should still have been honest and fair in their testing.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> Soylent Green will help more.

</comment><comment><USER28> This will go on until an adorable child dies and everyone--even the aunt that has never seen the child--sues

</comment><comment><USER29> I'm reminded of an experience I had at a deli. I ordered matzo ball soup. The cup of soup I got had an expiry tag from 2 weeks prior in it. I still ate it. I lived. I can't say that I was happy about it though.

</comment><comment><USER30> How is this a "good thing" ?

Take something they rightfully have to give away and instead make profit from it.

I already see grocers giving out tons of food to the local food bank, if they can convince governments to let them profit from it, that is one more path against poverty taken away by corporate entities.

Another way to eliminate waste would be to price the product lower?

If a regional grocery throws away tons of bananas each week, why not make the bananas half the price and run out of bananas each week?

<comment><USER31> Btw - you mention grocers giving tons of food, is actually not true. It's a very slow process, taking a way too long to become a popular trend. Hopefully with this latest story and initiative that other large/med/small grocers jump on board.

The poor/needy in the US are eating fast food more and more, as they can't afford groceries, with high costs for meat, vegetables and milk all rising. I'm excited to see how this program is launched and copied.

<comment><USER30> Fast food is not a matter of being cheaper than groceries, it is a matter of no grocery stores in walking distance of the poor, but the 7/11 or McDonalds is.

Fast food is far more expensive than groceries. I haven't eaten at a fast food place (or any other restaurant for that matter) in a couple of decades.

<comment><USER26> Also, not everyone has properly-equipped kitchens or the time to cook, and in fact there are some assholes who think anyone who does have basic kitchen equipment shouldn't be allowed to call themselves poor. (Remember that infamous Fox News slide implying most "poor" people weren't because they had fridges? Which is, really, fairly fundamental to being able to cook for yourself.)</comment></comment></comment></comment>


What Piracy? The Entertainment Industry is booming - <AUTHOR> http://torrentfreak.com/what-piracy-the-entertainment-industry-is-booming-120130/?utm_source=dlvr.it&utm_medium=twitter

<comment><USER2> It doesn't matter that it's growing, they're just going to say that it's growing less than it should be. "Think how good the economy would be without piracy!?"

I think it really is a service problem, like Valve says, and that piracy can be beaten by providing a better service. Unfortunately, the important people in the entertainment industry don't and won't understand that. As time goes by and more younger clued in people start taking over the big companies, things will change.

<comment><USER3> You're right, better and more convenient service would erode piracy, but it would also erode profits and destroy the core business. The core business of a media company isn't simply to deliver content, but rather it is to leverage that content as a mediation tool.

Media companies mediate; they push consumer convenience just as far as they can in return for advertising and distribution dollars.

Examples;

* Cable companies know just how much money the market will bear for channels they don't even want, for the ones that they do.

* Television companies know just how many ads you can tolerate, before time-shifting dominates.

* Hollywood knows just how long it can make international markets wait for releases, in return for cheaper distribution and marketing (a global launch would make a publicity tour very hard).

* The music industry knows how to set prices so that you'll buy the same piece of music over and over again in different formats.

* TV and Movie content gets sold 4 or 5 times over, in theaters, on television, DVDs/blu-ray, online rental, subscription streaming. Only delays and segmentation (both inconvenient for consumers) make this possible.

Media companies are the middle-men, the grand-bargain makers, with their desirable content on one side of the scales, and inconveniences like ads, delays, prices and draconian punitive laws on the other side. Media companies don't mind being hated, that usually means they're doing a good job, as long as you love some of their content - the system still works.

This is why the convenience represented by technology presents such a threat, it dramatically alters the bargaining positions of both the content owners and the distributors.

That middle-man business must be nearing its end, so the question is; can consumer convenient technological distribution get more return for the content creators, the financiers and backers?

</comment></comment><comment><USER4> All available evidence shows piracy boosts legitimate consumption. It makes perfect sense that rising piracy has led to a boom in production, especially since it has also broken up the monopolies and gatekeepers that kept prices artificially high.

The RIAA and the MPAA are those monopoly gatekeepers, so their profits aren't booming. They have been made irrelevant. It's better for consumers, better for artists and worse for the people who hire lobbyists.

</comment><comment><USER5> Link to the full report that this references: <http://www.scribd.com/doc/79846477/The-Sky-is-Rising>

A quick skim shows that it cites things like youtube, self-published e-books, and indie film distribution websites. I'm sure the RIAA, MPAA, etc. don't count any of that as growth.

<comment><USER6> Of course not. Industry players that aren't a part of the cartel are obviously not industry players.

</comment></comment><comment><USER7> Naturally torrentfreak has a completely unbiased view on this issue...

</comment><comment><USER8> Good stuff, but the section on music is extremely misleading. Some of the numbers provided I think are actually false. I completed an industry report for record labels using IBIS and Factset. If anything, the music industry has plateaued after looking at SEC filings of the Big 4.</comment>


Interview with Mark Cuban on AI, Silicon Valley, Politics, Media and more - <AUTHOR> https://bothsidesofthetable.com/mark-cuban-on-why-you-need-to-study-artificial-intelligence-or-youll-be-a-dinosaur-in-3-years-db3447bea1b4#.ionwzln9o <comment><USER3> Previous: [https://news.ycombinator.com/item?id=13599074](https://news.ycombinator.com/item?id=13599074)

</comment><comment><USER4> > He thinks even programming is vulnerable to being automated and reducing the > number of available programming jobs.

Hmm... Where have I heard this before?

> It is far more likely that the programming occupation will become extinct > (through the further development of self-programming techniques) [...] More > and more, computers will program themselves; and direction will be given to > computers through the mediation of compiling systems that will be completely > neutral so far as the content of the decision rules is concerned. (Herbert > Simon, 1961) [1]

[1] [https://www.princeton.edu/~hos/Mahoney/articles/miscellany/i...](https://www.princeton.edu/~hos/Mahoney/articles/miscellany/ieeetalk.html)

<comment><USER5> While such predictions may have been made before, surely as circumstances change it becomes more likely for it to be possible? If you go back 20 years or so, I can remember people confidently predicting that it would be impossible for computers to have human-like vision, and that it was an 'impossible' problem. And look where we are now.

I think it's often difficult to appreciate that one's own profession could be replaced by some code, but it's an issue that many areas of the working population will have to deal with in our (and our children's) lifetimes - <USER2> has happened with physical work - automation such as robots and machines will happen with the work we do with our minds in many cases.

<comment><USER6> The way I see it if we manage to reach a level of AI strong enough to replace software engineers it means that basically anything can be automated. It's not just the end of programming, it's basically the end of jobs altogether. The consequences will be tremendous for humanity as a whole.

So I'm not really selfishly worried about this. We'll go eventually, but we'll probably be amongst the last to go. By then society will have to figure out how to deal with mass unemployment, it's already a massive issue today and it's not going to improve any time soon.

<comment><USER7> We may not need AI to automate software development. If genetic programming techniques started making serious advances it might be possible to evolve software. Call it "test only development"\--write the tests and then grow a program that satisfies them.

GP doesn't seem to get much attention so we are far from this method being practical. Actually, I'm puzzled why GP is so unpopular compared to say, type system research, since it could have a vastly greater impact if it were to make progress.

<comment><USER8> The problem is that unless you perfectly specify your tests to provide a complete and formal definition of the interface, GP can produce results that might appear correct but is actually subtly (or grossly) broken.

That's an extremely difficult task for any but the most trivial problems. It shares many of the same issues with formal verification, which has also failed to catch on beyond the odd niche project.

<comment><USER9> Yup, in ML you would call this the generalization problem: How are you going to build your algorithm build something useful instead of just memorizing the inputs in some way?

Differentiable Neural Computers [1] are getting us closer (by incorporating an explicit I/O operations on a memory) but it's uncertain how much test data you would need to build complex code routines.

[https://deepmind.com/blog/differentiable-neural- computers/](https://deepmind.com/blog/differentiable-neural-computers/)

</comment></comment></comment></comment></comment></comment><comment><USER10> Mark Cuban is talking about it - maximal hype has been reached.

<comment><USER11> Just a matter of time until only Dinosaurs will remember what AI was ;P

</comment></comment><comment><USER12> Note: article doesn't actually say _why_ he thinks this, only that he said it, so the comment is really just "next big thing is big".

</comment><comment><USER13> In reality programming is already fully automated :) Translation to machine code is done in most cases automatically. We just tell the compiler what we want the program to do.

Honestly, if we treated software engineering as a real engineering discipline, we would already have 90% of software created automatically. We just keep ourselves busy by building same CRUD apps, recreating same layouts, building same libraries over and over again.

When we start treating software engineering as engineering not as art, full automation of programming will be a matter of only few years.

</comment><comment><USER14> To be honest it smells like AI has become something you just talk about because you have something to sell. It was called web 2.0, then big data, and now it's AI.

<comment><USER15> I wrote a rant last post ([https://news.ycombinator.com/item?id=13599465](https://news.ycombinator.com/item?id=13599465)) about how AI is being oversold. The problem in this case (along with buzzwords like Web 2.0/big data) is that there is _some_ logical advantage to implementing AI/Web 2.0/big data for a business, just not a change-the-world advantage that will not help if everything else is being done incorrectly.

There is a gray area in between the marketing, and the _ambiguity_ is the real danger.

<comment><USER14> I don't see any danger with AI, I'm optimist that it will introduce great changes.

I'm just bothered by the whole market tendencies, it often sounds like it's appealing to salesmen, meanwhile doing real stuff with machine learning is tough and it is often the realm of research and universities.

</comment></comment></comment><comment><USER16> Interesting part of the article is also "Mark also pointed out that the number of investments he personally makes in San Francisco has dropped by 90%. "

</comment><comment><USER17> I know that there's an infinite amount of AI/ML books and courses, but does somebody know a good high-level overview of how ML-based solutions can be introduced to replace existing imperative/OO code bases, and how to think about this? That would be a good starting point to avoid the "dinosaur" scenario, without starting from scratch on sample projects that are unrelated to your current work.

</comment><comment><USER18> Once a fair number of hackers become dinosaurs, working from home might become the new norm.

</comment><comment><USER19> Dumb, thin front-end FTW! :)

</comment><comment><USER20> Mark cuban cares about mark cuban. Suster should get qualified opinions on the matter.</comment>


Making an Untraceable AR-15 'Ghost Gun' - <AUTHOR> http://www.wired.com/2015/06/i-made-an-untraceable-ar-15-ghost-gun/

<comment><USER2> As others have mentioned this isn't particularly newsworthy, you've been able to make guns at home since forever. Its a rifle of course, and rifle ammunition you can't make at home, but as others have mentioned you can make black powder weapons in a completely untraceable way (from making your own black powder, to casting your own lead ball shot) but we're not worried about a bunch of home hobbiests fielding a Napoleonic infantry. They don't mention how you can make a gun out of a stuff you can buy past security at an airport [1].

Its just click bate. Next up, 'I made an untraceable battle tank at home with some steel pipe and an arc welder!'

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

<comment><USER3> > and rifle ammunition you can't make at home

You can absolutely make rifle ammunition at home.

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

<comment><USER2> I was focused more on the 'making' rather than the assembling. I've reloaded shotgun shells for a long time for example, and pistol rounds. However I've always purchased the powder, balls (bullet ends), and primers.

Of the three, primers are particularly challenging (certainly for reliability) but making a good, high performance, smokeless gunpowder is not just a simple "mix and hope its good" kind of thing.

It should not be surprising that developing the capability to make high performance weapons "off grid" as it were is fairly actively tracked (which I discovered when ordering chemicals from Aldritch one time and getting a call back from them to fill out some government paperwork before it could proceed)

<comment><USER4> From reading about how Lake City does it, I got the strong impression that making reliable, military grade primers was pretty easy, albeit with access to the right chemicals. And there are several generations of chemicals that can be used, e.g. from corrosive to the newest lead free formulations.

On the other hand, I'll point out that single base smokeless powder is made from nitrocellulose (the explosive also known as guncotton), and double base adds nitroglycerin to the fun.

</comment></comment></comment></comment><comment><USER5> _My editor, Joe Brown, who came into the room to watch the machine at work, remains convinced the machine was programmed to play a piece of composed music._

A bit off topic, but there exists a program [0] which generates instructions from a MIDI file to play music with a CNC/3Dprinters steppers. Here's a 3d printer playing the Ressikan Flute song from TNG: [https://www.youtube.com/watch?v=81WLqN3q7M0](https://www.youtube.com/watch?v=81WLqN3q7M0)

[0] [https://github.com/michthom/MIDI-to- CNC](https://github.com/michthom/MIDI-to-CNC)

<comment><USER6> [https://www.youtube.com/watch?v=C4OV2UofPFg](https://www.youtube.com/watch?v=C4OV2UofPFg)

Aperture Science logo being laser cut at periods and frequencies that play the Still Alive end song.

</comment></comment><comment><USER7> Nothing illegal about making your own gun. You cannot pay someone else to do the work for you, it has to be done by you. You can never sell the gun since only licensed guns are allowed to be sold.

<comment><USER8> Actually, that's not exactly true.

You cannot legally manufacture a firearm intended for sale without having an appropriate FFL (and ITAR certification, etc.)

You can absolutely manufacture a firearm for your own use, and then at a later date, sell that firearm.

<comment><USER9> Small clarification - I don't think you can sell it to an FFL or through an FFL. I think you'd be able to sell it directly to another person, but there's no mechanism to have it go through the NICS system (which requires a manufacturer and serial number).

<comment><USER10> Guns made before the serial number requirement can still be sold through FFLs, I see no reason why this would be different as long as everything else is legally up-to-snuff.

</comment></comment></comment></comment><comment><USER11> It's hardly untraceable. There are only 1000 ghost gunner mills in the country. It is feasible that they are all being tracked by the USPS. Fedex and UPS refuse to mail them... That means the government likely knows where each was sent, and has a name too to go with the location.

There is a paper trail associated with being able to receive such a heavy thing in the mail ( you'd have to send it to a location you control / own / rent etc )

Suppose you buy the machine, build your own gun, use it for some bad purpose. If the gun was ever found, it could likely be traced back to you. How many people have guns created with the ghost gunner machine? Not many. Can you tell a ghost gunner cut lower from other methods? Yes.

The whole thing is just a publicity stunt. When there is a local shop in a major city where I can go in and rent a ghost gunner machine for a day, in cash, providing nothing but a large deposit to guarantee I bring it back, then and only then can such things really be untraceable.

<comment><USER12> > When there is a local shop in a major city where I can go in and rent a > ghost gunner machine for a day, in cash, providing nothing but a large > deposit to guarantee I bring it back, then and only then can such things > really be untraceable.

Wired has the machine, they could start running such a service tomorrow if they wanted to. I don't see any substantial barriers to it.

<comment><USER11> Seems kind of doubtful they would be willing. The way his description reads it's like he is nervous that he created a gun. Why not keep it? He owned it... just lock it up?

Plus that is in San Francisco. I live on the opposite coast. I won't be over there for a while.

I was searching online to see if renting one of these things is legal. I found at least one person stating that it has been said officially by the feds that renting one of these would be considering "manufacturing". I can't see how, but that is what was said.

I doubt Wired wants to get into the middle of that. Perhaps the NRA might, or the ACLU, but not Wired.

Really both the NRA and ACLU should both buy like 50 of these things and rent them out. That would be interesting.

</comment></comment></comment><comment><USER12> Calling the company kind of ruins the symmetry of the experiment. If he'd been willing to call a makerbot expert - or someone who passed high-school shop class - who's to say his other two efforts couldn't've been made into something usable?

<comment><USER4> Or just practice with one of these first: [http://www.80percentarms.com/products/0-billet- ar-15-lower-r...](http://www.80percentarms.com/products/0-billet-ar-15-lower- receiver) ^_^ ("0% BILLET AR-15 LOWER RECEIVER").

Or scrap aluminum, this sort of thing really isn't that hard if you've got some manual dexterity, but, well, that's why the classic first wood shop project is something like a bread board.

</comment></comment><comment><USER13> Maybe I'm too "linuxy" but I think if there's a method to do it yourself by learning a skill then that should be the preferred way to do it. Having a machine instead of a skill is a way for lazy people (my subjective opinion) and never works as well as having acquired the corresponding skill.

edit: And the gun wasn't made in his office. Only one part was made there. The assembly of the gun was done in a shop of a professional gunsmith.

<comment><USER14> "I'm too "linuxy"" .. "Having a machine instead of a skill is a way for lazy people"

There's a good balance between skill and technology, otherwise I might tell you to just throw away your computer. And for the record, operating a CNC mill still takes a good bit of skill.

<comment><USER13> You mean the machine to manually carve holes into that metal? Yes, that needs skill. But I mean the machine that does the carving for you. As far as I've understood you put that 80% thing into it and then it does the job for you while you eat a sandwich. That's where people start to think that they don't have a problem instead of learning to handle it.

</comment></comment></comment><comment><USER15> Guns need bullets.

I really can't see the controversy with 3d printed, or untraceable guns. Just regulate, and mark with ID, the bullets. Or if that starts being circumvented with diy bullets, control the propellant, and mark it with isotopes or whatever.

Very few people have a legitimate use for explosives, it should be easy to control, along with the obvious "possesion of unregistered firearm, or of an unlicensed design, or using homebrew propellant" laws.

<comment><USER8> Politics on this issue aside, think this through for a moment.

Would you care to share how you'd like to individually code the more than 10,000,000,000 rounds of ammunition in manufactured each year in the US, in a manner not easily defeated, on a surface that is launched at ~1,000 feet per second and is literally designed to deform as much as possible upon impact?

<comment><USER16> Sadly, individually coding things that shouldn't be individually coded no matter how foolish is not out of the realm possibility for our government. I point you to labeling of biodiesel [http://en.wikipedia.org/wiki/Renewable_Identification_Number](http://en.wikipedia.org/wiki/Renewable_Identification_Number)

I do agree with you, it is impractical and non-effective.

</comment></comment></comment><comment><USER17> Has there been any success in 3D-printing a template lower receiver and turning it into a mold for casting metal receivers? To me, that seems like the next logical step here.

<comment><USER18> Lost-PLA casting could probably be pretty feasible with the geometry of an AR lower.

Pretty neat stuff.</comment></comment>


Felix: A compiled (to C++) scripting language - <AUTHOR> http://felix-lang.org/ <comment><USER2> The math examples look interesting, standard math notation and all. Though if I got it right, you get standard math notation with the help of TeX when viewing source code, I'm not sure about editing source code (I sure would rather write Matlab or numpy notation than use TeX in source code.)

Where are other biggish examples?

The "styles" page has the biggest bulk of interesting code that I've found in introductory pages: [http://felix- lang.org/share/src/web/advocate/styles.fdoc](http://felix- lang.org/share/src/web/advocate/styles.fdoc)

I guess one always wants to hear an elevator pitch of what a language does that is special relatively to relevant competition. What does Felix have that languages X and Y, its closest competitors, don't have?

</comment><comment><USER3> Took about 5 clicks to see a decent code example. This should be priority #1 on your homepage. A simple single-page program is ideal or examples for each of the listed points.

Elixir is a good example: [http://elixir-lang.org/](http://elixir-lang.org/)

<comment><USER4> I have to agree. I clicked "Tutorial', and upon seeing the result thought I'd accidentally clicked something else... This is completely lacking in a user friendly quick intro to the language, what it looks like, and how "cool" (or not) it is to use.

</comment></comment><comment><USER5> > var a : int ; // uninitialized is ok

This seems like an odd choice when creating a new language. Most modern languages (C++11, Swift) have been introducing new declaration techniques or _requiring_ all variables to be initialized at declaration, as this prevents a large class of bugs.

<comment><USER6> Unintialized values are fine as long as the compiler can prove that the value is never used until it is initialized. See [https://is.gd/gDJCeG](https://is.gd/gDJCeG) as an example. Try deleting the else block.

<comment><USER5> That's fine, and now that I think about it, in C++ just setting the flag to make all compiler warnings also errors, it too would prevent compilation (I think?).

</comment></comment></comment><comment><USER7> Link to github repo: [https://github.com/felix- lang/felix/](https://github.com/felix-lang/felix/)

perhaps in particular:

[https://github.com/felix- lang/felix/tree/master/demos](https://github.com/felix- lang/felix/tree/master/demos)

The README and INSTALL files are also interesting; highlighting that Felix (claims to) produces very fast code/programs and that gcc 5.1 is recommended/needed to build.

Interesting looking language - I wonder how it ends up compared to Nim (with both the C and C++ backends). I suspect there's been more focus on performance on the Felix side - but it's hard to tell. The documentation section on garbage collection (for Felix) was blank.

</comment><comment><USER8> The mix of languages used, as evident on Github, is interesting:

OCaml 30.6% C 20.5% HTML 13.1% C++ 13.0% Python 11.2% TeX 6.7%

Wonder how that came about...

The feature list looks quite impressive:

* generates highly optimised ISO C++

* advanced resource manager organises compilation and linkage

* often runs faster than C

* glueless binding to C and C++ libraries

* lightweight threads with channels

* asynchronous network I/O

* thread safe garbage collection

* strictly statically typed

* overloading

* first order parametric polymorphism

* polymorphism with constraints

* multitype Haskell style type classes

* type classes with real semantic specification

* semantics can be checked by theorem provers

* strong functional subsystem

* pattern matching

* first class function, sum, and product types

* Tre based regexp processing built in

* bindings to Gnu GMP and Gnu GSL included

* user definabled and inline extensible grammar

* builds on all platforms

* runs on all platforms

* open source FFAU (free for any use) licence

<comment><USER9> That "free for any use" license is quite unpleasant. It's not really any different than the WTFPL. By not even including a mention of no warranty at all, you're opening yourself up to a wide variety of possible lawsuits due to "implied warranty".

The "license" doesn't even say if you can /modify/ the code. It just says you can /use/ it. You could get in some big trouble for modifying the code if the author decided to sue you over changing the code at all. In fact, it just says the software is free to use, not the code.

I might even go as far as saying that because just the software is free to use, it's no different than a proprietary program you can't modify at all, but you can see it's source.

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

</comment></comment><comment><USER10> Felix has looked interesting for I cannot remember how many decades. How many people actually use it?

<comment><USER5> You're right, I thought this was a new language. The repo history goes back at least as far as 2001. I'm struggling to see the point to this language; what does it offer over C++ directly?

<comment><USER11> Or even Go

<comment><USER12> > Or even Go

lol. Felix has Sum types, meta types, pattern matching, algebric types, unions , sets, records, channels ... Go has what? a rigid type system and channels ...

<comment><USER11> Why am I unable to downvote? yet others seem to have the ability to downvote my comments

<comment><USER13> There's a minimum karma required to be able to downvote.

<comment><USER11> Thanks for explaining

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Previous discussion: [https://news.ycombinator.com/item?id=5007674](https://news.ycombinator.com/item?id=5007674)

</comment><comment><USER15> How to install prebuilt binaries?

I can't download pre-compiled tarballs from [http://felix- lang.org/$/usr/local/lib/felix/tarballs](http://felix- lang.org/$/usr/local/lib/felix/tarballs)

I followed the link Felix home -> Download -> Prebuilt Felix binaries.

</comment><comment><USER16> I'm interested in other statically-typed languages that compile to C or C++ source (which can be then copied to some other machine and built there, or cross-compiled for it).

I've looked at Rust (which I'm writing a transpiler for), Felix, Haxe, Nim, and Native Script. Are there others?

</comment><comment><USER17> Has anyone used it in production before?

<comment><USER18> same question, looks interesting, any more insightful info on this project?

</comment></comment><comment><USER19> Github is here: [https://github.com/felix- lang/felix](https://github.com/felix-lang/felix)

</comment><comment><USER20> One wonders why a project would choose a copyrighted image for its logo in this day and age. Felix currently belongs to NBCUniversal, according to Wikipedia.

<comment><USER21> "This work is in the public domain because it was published in the United States between 1923 and 1963 and although there may or may not have been a copyright notice, the copyright was not renewed." \- [https://en.wikipedia.org/wiki/File:Felix_the_cat.svg](https://en.wikipedia.org/wiki/File:Felix_the_cat.svg) ... although then someone disputed that on the Wikipedia page.

</comment></comment><comment><USER22> An SQLITE example would have been nice.</comment>


23 Things Michael Jordan taught me about Entrepreneurship - <AUTHOR> http://jasonlbaptiste.com/featured-articles/how-to-become-legendary-23-things-michael-jordan-taught-me-about-entrepreneurship/

<comment><USER2> I hate to be a nazi but reformatting the title to not be all caps would be appreciated by more people than just myself. :)

<comment><USER3> The blog post title on the site took up my entire screen. That's the first time I've ever seen that happen.

</comment></comment><comment><USER4> He left out "HOW TO USE THE SHIFT-LOCK KEY"

</comment><comment><USER5> #24: Win at all costs by being ruthless and ego-maniacal. See: Cartwright, Brown, Juanita, HOF speech, etc.

Sorry, couldn't resist. More of a Magic/Bird guy. :)</comment>


Xkcd: Tree (humor) - <AUTHOR> http://xkcd.com/835/ <comment><USER2> That looks like a sparse tree, but what are the rules about coloring the nodes red or green? What about the special case root (yellow)?

<comment><USER3> Good question. I figured the obvious thing to do would be a red-black (or green in this case) tree, but that isn't one.

Also, what about the "heap"? When people say "heap", they usually mean a Binary Heap, but the tree of presents is not a Binary Heap. It is also not a Binomial Heap. It might be a possible state of a Fibonacci Heap; I'm not sure.</comment></comment>


Now THIS Is Entrepreneurial Hustle - with Jennifer Reuting - <AUTHOR> http://mixergy.com/jennifer-reuting-myllc-interview/ <comment><USER2> watched this on mixergy</comment>