Ask HN: the "startup" look - <AUTHOR>

I'm looking for a UI designer to help with the front end on my web app. I've been looking on dribble, carbonmade and sortfolio mostly. The problem I'm having is that a lot of the designers on those directories have very "pretty" portfolios but they're not quite the look and feel I want.
Startups like Quora for example have a mostly text based UI with very few graphics.  That's the sort of UI I want to start with.  Am I looking in the wrong places? Does anyone know where I can find freelance UI/UX people?
Edited to fix typo <comment><USER2> Have you thought about building first version with Bootstrap from twitter? <http://twitter.github.com/bootstrap/>

<comment><USER3> Wow that is pretty cool. I've been using 960 Grid and Blueprint, but that one looks more "complete".

</comment></comment><comment><USER4> Not sure if you're still reading this, but feel free to hit me up for UI work. I believe my designs fit what you're looking for.

<http://nylira.com>

<comment><USER5> Just want to point out that your demo is broken and/or odd: <http://nylira.com/en/projects/>

If you view it under Chrome on a wide screen monitor:

a) To the right you can see a tiny slice of the next site in the slideshow. It's unclear at first if this slice is part of the current slideshow box, or not.

b) Clicking on any one of the links, breaks the page---removing all of the links and displaying a screen that shows two different sites side by side (but only half of each due to the window size).

</comment></comment><comment><USER6> Another great resource to get an MVP up and running is <http://themeforest.net>

<comment><AUTHOR> Normally I'd agree with you but the admin themes are really only suited to basic CRUD apps. I have to present a lot of complex data without overwhelming the user, hence the need for a UI designer (lots of stats and reporting involved).</comment></comment>


Hypersonic jet Waverider fails Mach 6 test - <AUTHOR> http://www.bbc.co.uk/news/technology-19277620

<comment><USER2> "We were over-hasty," Karl agreed. "Whole space effort has been. Those early scramjets, they were deathtraps." He shook his head. "Both sides. The Yankees kept trying to model the airflows with inadequate computers, and we, we built a gigawatt of nuclear power stations, used the whole Dniester for cooling, to get that damned Mach-18 quarter-scale windtunnel. And we still had disasters."

<comment><USER3> For the curious, this appears to be:

"The Stone Dogs (1990) by S. M. Stirling [...] third book in the alternate history series, The Domination."</comment></comment>


A Taxi Driver Took His Own Life. His Family Blames Uber's Influence - <AUTHOR> https://www.nytimes.com/2018/05/01/nyregion/a-taxi-driver-took-his-own-life-his-family-blames-ubers-influence.html <comment><USER2> Dup: [https://news.ycombinator.com/item?id=16968819](https://news.ycombinator.com/item?id=16968819)</comment>


Cambridge Analytica raided by UK data watchdog - <AUTHOR> https://techcrunch.com/2018/03/24/cambridge-analytica-raided-by-uk-data-watchdog/ <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=16662141](https://news.ycombinator.com/item?id=16662141)

</comment><comment><USER3> In the blink of an eye, it seems, we have gone from a world in which collecting, storing, and using personal data for financial gain was largely viewed as a harmless activity, to a world in which doing those same things will be increasingly controlled and regulated, scrutinized, criticized, investigated, fined, and ultimately, I suspect, criminalized.

<comment><USER4> It's interesting how the collection of the same information by the likes of the five eyes is ok, yet for Facebook it isn't.

<comment><USER5> At least in the US, there are legal prohibitions on government propaganda programs targeting Americans, whereas that's more or less entirely what Facebook is for. If the govt is caught running influence campaigns inside the US, there will be hell to pay- Congressional hearings, new legislation, etc.

<comment><USER4> They have been caught. Or are you referring to something else?

</comment></comment></comment></comment><comment><USER6> This is on the front page of reddit [https://www.reddit.com/r/pics/comments/86qxrb/cambridge_anal...](https://www.reddit.com/r/pics/comments/86qxrb/cambridge_analytica_moving_boxes_out_of_their/)

I'm guessing it's real the building does look like the CA HQ.

<comment><USER7> I'm not sure why you would doubt it.

But anyway, the Guardian has an article too: [https://www.theguardian.com/news/2018/mar/23/judge-grants- se...](https://www.theguardian.com/news/2018/mar/23/judge-grants-search- warrant-for-cambridge-analyticas-offices)

<comment><USER8> The reddit link speculates that CA removed evidence from the building before the warrant was served. The Guardian article you link doesn't say anything about that.

(it's a legit Reuters photo, visible in the results at [https://www.reuters.com/search/pictures?blob=cambridge+analy...](https://www.reuters.com/search/pictures?blob=cambridge+analytica&sortBy=date&dateRange=pastWeek) )

</comment></comment></comment><comment><USER9> Relatedly, some more Brexit whistleblowing: [https://twitter.com/MichaelLCrick/status/977601337889312768](https://twitter.com/MichaelLCrick/status/977601337889312768)

and [https://www.huffingtonpost.co.uk/entry/brexit- outing_uk_5ab6...](https://www.huffingtonpost.co.uk/entry/brexit- outing_uk_5ab62a25e4b008c9e5f776e8)

<comment><USER10> Sorry, I failed to see the relevance, apropos Cambridge Analytica.

<comment><USER11> Cambridge Analytica conducted research for Leave.EU, one of the biggest pro- Brexit campaign groups, and are under investigation by the Electoral Commission for their role in the EU referendum.

<comment><USER9> Specifically this includes allegations that they were doing work which was outside the election spending rules.

</comment></comment></comment></comment><comment><USER12> Big Brother raids Step Brother for data provided by Little Brother.

I can't imagine I'm any safer now.

<comment><USER13> The raid was conducted by the Information Commissioner's Office, which has a mission to "uphold information rights in the public interest, promoting openness by public bodies and data privacy for individuals". That doesn't seem very Big Brother to me, even if other government agencies do fit that characterization.

Source: the bottom of their homepage - [https://ico.org.uk](https://ico.org.uk)

<comment><USER12> This is gov / quasi-gov agency, yes? Do they also oversea what the gov and other quasi-gov agencies collect? Or is their protection limited to what happens in the private sector?

<comment><USER13> I suppose you directed this to me, so to be honest, I don't know. I'm not British and didn't know about this agency before I posted my comment. I just wanted to raise the point that the government isn't a monolithic entity that can be solely described by its actions that we disapprove of.

</comment></comment></comment></comment><comment><USER14> Ah, this completes the triad for me. I had previously heard FB deny responsibility and Kogan deny responsibility. Hadn't yet heard CA deny responsibility until now.

That's settled then. I guess nobody's at fault! Success has many fathers but failure is an orphan.

<comment><USER15> did Facebook deny responsibility?

<comment><USER16> Facebook has sort of apologized, but their position has been that CA bamboozled them, not that this is an inherent outcome of their business model.

</comment></comment></comment><comment><USER17> Too late...

<comment><USER18> Raiding has to come with a sufficient reason for those raided to believe the raiding party already has at least a portion of the material, either obtained through interception or inside sources.

The idea is that the people being raided will hand over as much as possible because it's in their own best interest - knowing that anything they don't produce may be in the material already obtained, making them liable for destroying it.

A late and preannounced raid _without_ any material obtained beforehand is useless.

(It should be noted that there is no need to actually obtain any material if you can make the people raided _believe_ you have some of the material)

<comment><USER19> Didn't know that. Thank you.

<comment><USER18> I'm not sure this is the case here. It may well be that in this case they are going for a fruitless search for material destroyed days ago. But at least I _hope_ they are more clever than that.</comment></comment></comment></comment>


We should teach all our kids to code - <AUTHOR> http://www.kernelmag.com/comment/column/1264/coding-for-success/ <comment><USER3> I'm not having children, but I have two nephews and a niece, and when they are old enough to read and use a computer without breaking them, I'm giving them each a netbook preinstalled with ubuntu, various programming tools, and some kind of video chat software so that they have access to me to ask questions at any time.

I want them all to know this kind of thing, regardless of anything else. Plus it will make me the coolest uncle ever.

<comment><USER4> In my experience delivering Ubuntu boxes to elementary aged children, they are generally unimpressed. This isn't to say you will have a similar experience. I am interested in how to pull it off, so let us know when the time comes.

</comment></comment><comment><USER5> I'm sorry, but here in Australia and I assume from what I hear it is the same in the US, teachers are struggling to have kids leave primary school being able to write a complete sentence and add a row of numbers.

They are already being expected to impart to the kids sex education, anti bulling education, physical education, sun safe education, how to not eat too much crap and get fat education and many other things that in a normal society would be the responsibility of parents but the government now seems to believe should be imparted by the formal education system.

There are many things wrong with the modern education system, and I don't think many of them are going to be solved by imposing the requirement to teach programming on teachers who in many cases struggle themselves to even turn on a computer let alone be able to make it do what they want in any meaningful way.

<comment><USER6> I'd agree that there is a huge disconnect between a bunch of us saying 'yes coding is a great skill - lets put it in the classroom' and the reality of the current state of education. There is a lot of sentiment about how coding is the new literacy... its not. Literacy is literacy. Math is math. You need to be quite good at both to then be able to program well.

</comment></comment><comment><USER7> There's a couple of points about modern programming systems.

BASIC was interpreted, and not object orientated. You'd have a book, and that book would contain every keyword, with a description of what it did, and some example code.

So you'd buy magazines or a book, you'd type out the programs in those books, you'd debug what you'd typed, you'd modify what you'd done, and then you'd start creating new programs. You'd write a little program, and then realise that you needed to do X; so you'd read the book and find the instruction for X, and you'd grok the example and write it in your program and debug.

Where is that workflow, that learning journey, recreated today? Perhaps with the "learn X the hard way" series?

Also, most people here are either technically brilliant or at least proficient. Now imagine the general population. These are people who just don't know how to plug in a printer. (In the days when computers had parallel ports and serial ports you could not plug the printer into the wrong port. You just had to look at the cable, and look at the computer, and try to mash the connector into all the ports. It would only fit one, and it would only fit one way. Yet I was seen as some kind of genius, by more than one person, because I could plug a printer in.) Or these are people who will not, seemingly cannot, read and act upon a short simple error message.

I love to think that maybe a bit of programming / coding teaching could change that, but I'm not sure it will.

Finally:

> _Learning to code is learning to use logic and reason, and express your > intent in a consistent, understandable, repeatable way._

Author uses "coding" and "programming" in weird ways. Normally programming is the design process, with pseudo-code and flowcharts and jackson structured programming charts and etc, while coding is just taking that and writing it in some language. Maybe I'm showing my age and the words are now used in a different manner, but it threw me for a while.

<comment><USER8> _> Normally programming is the design process, with pseudo-code and flowcharts and jackson structured programming charts and etc, while coding is just taking that and writing it in some language._

That sounds more like software engineering to me. Most people do indeed use the words 'programming' and 'coding' interchangeably.

</comment></comment><comment><USER9> Just a couple of observations from a (mostly) computer-illiterate person:

The people who learnt to program computers in the 70s and 80s weren't taught at school by teachers, they taught themselves (maybe with help from friends).

The OSes of the 1980s were much simpler than MacOS/Linux/Windows. In particular most of them had a standard BASIC built in which was very easy to start using. One could just turn the computer on and immediately type in a program.

<comment> hippee-lee > The people who learnt to program computers in the 70's and 80's ...

I agree, but that kind of programming is very different from the type of programming that will be useful to non programmer kids when they grow up. There is also google, stack overflow and a waltz of easily accessible information on how to do X in language Y that was not online then.

I am drawing a distinction between coding and programming. Let me explain - When I graduated from college in 1999 the career office was very assertive that I should use and describe my ability with the MS Office productivity suite. When and how it had become an important enough to include on my resume doesn't matter, it was an important skill to have for the types of jobs I was going to be applying for. So programming and programmers will always have to dive deep and be able to develop complex systems. I am using the word coding in the same context as what I started with: I worked in a laboratory and collected lots of scientific data. I learned how to automate the tedious parts of manipulating, formatting and emailing out the results to save my time and reduce the errors I made doing it manually. To me, this was a self taught journey to learning to code with vba and even back in the first half of the Aughts there were decent places to figure things our for VBA.

I think in the future, kids or prospective employees in general that are not programmers, being able to put "can write JavaScript and VBA to automate repetitive tasks" will not be required. But, the candidates who can will have a marketable skill that sets them apart from their peers even though they are both trying to get a job in Supply Chain or Regulatory Affairs.

And these days, JavaScript is very easy to get started with, fire up a modern browser, open up the console and type in your program on any web page. It's been a while since I worked with VBA but I assume it is discussed on stack overflow.

</comment></comment><comment><USER10> I recently watched Randy Pausch's "Last Lecture" (<http://www.cmu.edu/randyslecture/>) where he promoted Alice (<http://www.alice.org/>) as a tool for teaching kids to code. I downloaded it and played with it, and it looked pretty good. Like logo, it makes programming more fun by giving you immediate visual feedback. Like the "If this, then that" thing the article liked, it promotes the idea that programming is a lot like storytelling; the entities do what you say they do, nothing more, nothing less.

I found in it the potential for excitement that I found when I recently looked at the demo programmer live coding at <http://iquilezles.org/live/index.htm>

The live OpenGL editor he uses for immediate feedback made me figure out how to get an OpenGL triangle rendered on my laptop right quick. I can imagine that having storytelling control over 3d characters could do the same for kids.

</comment><comment><AUTHOR> This is an issue I'm very passionate about, and I'm sure many others are too. I'd love to hear other's thoughts on how we educate the next generation and the best way to teach coding in 2012.

<comment><USER11> I wouldn't bother. Why?

It takes a certain mindset to write code. Not everyone has it or is interested in it. My children couldn't care less about it and that's up to them. They'd rather be digging holes in the garden and covering things in paint. I'm not here to indoctrinate them with my own interests but to nurture their interests.

Education is fundamentally flawed on the basis that it mandates knowledge on political whim and percieved societal need rather than nurturing and developing interest. Consequentially society is filled with people doing what they are bad at and hate.

<comment><USER12> We had programming classes in high school in Romania, teaching Pascal or C. They don't really work. Some students don't understand programming. Others don't care. Only 20% of a class can actually program very simple programs by themselves. Only one or two can really understand what is going on. And sometimes they just want to do something else.

<comment><USER13> I'm Romanian, not everyone takes programming classes, very few do, only those enlisted in Mathematics-Informatics (in Romania curriculum varies greatly depending on what profile did you chose).

Indeed it has many problems. The first problem is that the Mathematics- Informatics profile in high school is considered elite, and every parent sends its children there. The effect is that the class will have the best, most intelligent students, but not necessarily the students interested in the curriculum. Neither the children or the parents know anything about the curriculum, all they know is that all the smart kids go there.

I've been in this class in one of the top-5 colleges, nation-wide. Some poll in the final year yielded 80% of the students hating both math and programming. Most preferred literature. Because of the inherent bias in Romanian education, the highest graded students will always be the ones who like liberal arts, and not the ones with a mathematical background and because of the way enlistment to high school works, these will be the ones that end in this class.

I mentioned I was in one of the top 5 classes nationwide to illustrate the second problem. Even though I was in one of the best classes, professors that taught programming were execrable, both in their talent as educators and in their talent as programmers. Incompetent is a word that's too mild to describe them. Reasons are easy to guess, high school teachers are paid poorly and anyone with any talent in CompSci will find a better job elsewhere. It's funny that the only two skilled professors that taught programming were two guys that did something completely different and only taught at high school because they enjoyed teaching and working with young students.

The third problem is that the curriculum is very abstract, way too abstract and far from reality, and very old, nothing feels like today, students are still required to write DOS applications with a DOS editor.

</comment></comment></comment></comment><comment><USER14> There's a huge and important distinction between "we should try to teach all kids to code" and "all kids should be able to code", and it tends to get lost in the discussion.

Programming just isn't for everyone (and that's OK), but everyone should give it a try to find out.

<comment><USER15> Agreed - we teach math in schools not to make everyone top talented Mathematicians, but to teach a skill that _might_ be useful in life.

Teaching programming in schools would probably get the same result was teaching math: courses that normal people promptly forget a year after school. Because, really, how often have you factored a polynomial?

But still, you got a little taste of Math in school. Maybe you liked it, maybe you barely made it through math. Same thing would happen with mandatory programing classes.

Thinking the talent crunch will be solved by teaching CS as part of mandatory education is probably wishful thinking.

</comment></comment><comment><USER16> I've taught several basic programming classes. The ability to code differs wildly. Like sketch art, some people can't draw to save their life, while others do it effortlessly. Having a programming class as an elective would be good, but it shouldn't be forced on people who have no ability for it at all. Not everyone can be great at everything.

<comment><USER17> Not sure I buy that arguement.

You wouldn't accept that if we said: Well not everyone has a "natural ability" to read, so we'll only teach the people that are show some "talent".

(Quotes because I don't actually believe those things exist, you can be taught everything, and be good at everything).

<comment><USER6> I don't think he's saying some people literally can not program one line of code. As with everything there are degrees of aptitude based upon ones interest, personality type and cognition. This is true with every skill in life - most people show degrees of aptitude in different areas. (As a note, Ive always struggled with being good at reading since I was a kid... Im really damn slow and have a hard time concentrating)

<comment><USER17> So are you agreeing with not teaching reading to people (such as yourself) who struggle with reading, because they don't show an interest/aptitude?

If that's the case, which subjects are the "essentials" that should be 'required' and which ones are 'elective'?

I'm not sure I think coding is up there with reading, or arithmetic... But it's probably more important than some currently required subjects.

<comment><USER6> Essentials are foundational subjects that have the highest probability of preparing a student to become more productive and useful to society. So your question about required versus elective courses centers around 1) what society collectively decides is useful and 2) what a student at a certain level can practically grasp and grow from. I think we'd both agree reading is an essential by this definition but truthfully socially and communally controlled influences make these decisions (thing like the economy, elections, and enrollment) not you or me.

The problem with discussing this on a forum on HN is that we're all biased. We all think programming is incredibly important to society because its incredibly important in our lives personally. If you go onto any forum where everyone has a collective interest, they'll all say subject A should absolutely be taught in school because of X, Y and Z. Truth be told on a macro scale every skilled field is battling for the attention of capable students to eventually join their ranks.

I think what many on HN are missing is that if your going to introduce programming (especially as a core subject) into formal education, you'll need to sacrifice other subjects to make room with the way education budgets work. Of course everyone is going to say something like oh well you should cut down on art, music, social studies etc but its not a helpful perspective unless expressed in a truly diverse forum.

</comment></comment></comment></comment></comment><comment><USER18> Coding is easy and can be learned in a matter of months by anyone with a basic understanding of computers.

I'd rather teach my children things that get them out of the house exercising and learning to be friendly, well adjusted humans.

</comment><comment><USER19> I have a 10 year old son who seems a natural to take an interest in programming. I tried starting him with a Basic interpreter cause that's how I started, and he struggled to stay interested - largely due to the non- graphical nature of the output.

The next thing we tried was Kodu from Microsoft (<http://research.microsoft.com/en-us/projects/kodu/>). He found that enjoyable - very visually appealing and you can get something basic but interesting running quickly. Getting something moderately complex became hard however due to the limited palette of design tools.

The next step was Scratch (<http://scratch.mit.edu/>) which is a step down in eye candy but a step up in control. You get a lot more flexibility but it is still very approachable. Everything is visual as well, which makes it really easy to see what's happening. Scratch allows variables and lists, control flow structures, etc and thus gets into "real" programming.

However, Scratch has some big limitations, especially around instantiating new 'objects' at runtime. I think the next logical step forward is Stencyl (<http://www.stencyl.com>) though there's some additional layers of abstraction that are causing a little consternation.

I keep trying to push Python and Java, but for my son at least, not being able to start with something visual is a big drag. Maybe next year.

<comment><USER20> I just tried out Processing [0] right now, and it seems like you get a lot of control in it, and it looks pretty good on the eye candy side too. You could try that out.

[0] - <http://processing.org/>

</comment></comment><comment><USER21> The year was 1986, and I was on my first Disney World trip. After a couple of days of traveling up and down Florida visiting the various theme parks, my parents decided to stop at a local electronics shop.

Now, back at home we didn't have many fancy electronics stores, so this huge emporium of transistors was pretty amazing for all of us.

My mother hinted that they were going to buy us a Nintendo (NES), and I was ecstatic. I had never heard of such thing, but seeing Super Mario Bros. on the display machine was pretty mind blowing for an eight year old.

But, my oldest brother (who was a bigger nerd than me) did not want the NES. Crap. I was furious, and really disappointed. Instead, he wanted some stupid computer. It was big, bulky, ugly (light brown with black function keys!), and required a huge monitor to be of any use. It also required a disk drive (a 1541 model).

Yes, my brother wanted a Commodore C64.

So, my parents decided against the NES (oh the humanity!), and purchased the C64 with a 13-inch (I think) color monitor, a 1541 disk drive, and a color dot matrix Okidata printer. They must have spent like a million dollars. An amazing feat, because we were barely middle class.

After learning how to turn it on, writing to the diskette, printing demo images, playing Ultima, I started to code some BASIC. Nobody taught me, I just picked the manual and started coding.

My first programs were something along the line of:

10 PRINT "HELLO" 20 GOTO 10 30 END

Now, for an 8 year old kid who was teaching himself how to use the damn thing it was pretty awesome to pull such simple programs.

Then at age 9 I bought my first "computer", a Tandy PC-7 at the local Radio Shack (after saving my lunch money for months).

Now, as a hacker/programmer/software engineer/whatchamacallit I look back at those days and appreciate what my parents and brother did.

Such experience has led me to teach my nine year old niece how to "program" in HTML. She enjoys it very much, and even asked me to put Ubuntu on her desktop. My daughter will also learn how to code, even though I don't expect her to follow in my footsteps.

tl;dr: Teach your kids how to code. They might go on to become hackers themselves.

</comment><comment><USER7> A few people have mentioned simple computers and BASIC.

They may be interested in these links.

([http://hackaday.com/2012/01/23/maximite-harkens-back-to- the-...](http://hackaday.com/2012/01/23/maximite-harkens-back-to-the-days-of- basic/))

(<http://geoffg.net/maximite.html>)

> _The Maximite is a small and versatile computer running a full featured > BASIC interpreter with 128K of working memory.

It will work with a standard VGA monitor and PC compatible keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.

The Maximite also has also 20 input/output lines which can be independently configured as analog inputs, digital inputs or digital outputs. You can measure voltage, frequencies, detect switch closure, etc and respond by turning on lights, closing relays, etc - all under control of your BASIC program.

The design and the firmware including the BASIC interpreter is free to download and use._

</comment><comment><USER22> > try telling that to anyone who has tried to hire developers in the past > three years. Sure, much great talent is out there – but the supply and > demand balance is off the scale.

Really? Computer science has the highest unemployment rate of all degrees in the UK.

<http://www.bbc.co.uk/news/10477551>

<comment><AUTHOR> Yes, really. That's an interesting link, thanks. But to be honest, I don't find the stat surprising. I spent a term studying CS at Surrey in 2004 - <USER2> couldn't immediately find the 2004 rankings but it ranked 8th for CS in 2008:

[http://www.thecompleteuniversityguide.co.uk/league- tables/ra...](http://www.thecompleteuniversityguide.co.uk/league- tables/rankings?s=Computer+Science&y=2008)

That first term consisted of multiple choice exams in C and HTML, where one of the questions didn't have a correct answer.

In short, I sadly don't think that any lines can be drawn between 17% unemployment of CS graduates and a supply of great available talent.

Speaking as someone who's processed 200+ applications and hired 7 engineers in London the past 2 years, sharing stories with my colleagues at other companies - great talent is very hard to find.

</comment></comment><comment><USER23> So we want them to learn problem-solving (i.e. "given tools, solve problem" for any set of tools and any problem.) Given the experiences I've had trying to teach things to programmers, I'd like _them_ to learn problem-solving, as well. Most programmers have a small tool-box of solutions (i.e. languages, libraries, platforms, &c) and the bad ones (i.e. most of them) run DFS over that tool-box until the problem appears to go away, and start quaking in terror if you give them new tools or radically different problems.

Programming is a _kind_ of problem-solving. Learning it makes you better at solving the kinds of problems it solves. I have seen no evidence for the assertion that the kind of discrete-approximation problem-solving style inherent in most programming necessarily makes you better at solving problems in the general case.

</comment><comment><USER24> Way back when, the BBC funded a programme that gave schools BBC Micro Computers and even had TV shows supporting the education and awareness... we should be embarrassed that TV today is more about the objectification of women and the whim of producers who have saturated the topics available for quality programming.

</comment><comment><USER25> We're trying really hard to educate the next wave of talent... a lot of open- source community effort in the Ruby community.

<http://www.kidsruby.com>

</comment><comment> mkr-hn I was introduced to QBASIC when I was little. I found (and still find) programming tedious and unfulfilling, but it _did_ prepare me for when I needed to know basic HTML to publish a static blog a few years later. The early stuff probably wasn't essential since I would have picked it up to make basic websites and blogs later, but it might have helped a little.

</comment><comment><USER26> I remember when we got our first computer, my dad won't let me play any games for more than a few minutes a day, but I could play the games I wrote myself as much as I wanted. That was a brilliant idea - it gave me the taste of the good games, which was a huge motivation. It did take a while to create an actual playable game (back then we didn't have easy to use graphics libraries like Processing), but then it all became easier after.

Most of my friends with computers at that time spent 5-6 hours a day playing games instead of learning.

<comment><USER27> This seems like an excellent technique. Although I think it'd be _much_ harder today.

In my childhood I'd be easily entertained by a text adventure or a pretty simple sprite based game. Now a days your kid would have to create the next Call of Duty.

Perhaps a strategy that would make more sense in today's world is to get them the Valve Hammer Editor (or equivalent SDK) and instead have them make levels for their favorite game engine.

<comment><USER28> Last summer I taught introductory programming courses for middle-schoolers, and one of the first things we did was play Zork for about half an hour, as a class. Then I started showing them how to make their own text-based adventure game with rooms, a basic inventory and simple puzzles. All of my students were having a blast with Zork, and they seemed to find making text adventure games highly rewarding. I think you underestimate the imagination of today's kids.

<comment><USER29> I second that sentiment. I think text adventure games engage your brain more than, say, battlefield 1942. Similar to perhaps books vs movies/tv.

<comment><USER30> One of the first games I wrote as a teen was a (as simple as it gets) text based simulation/adventure dealing with horse races (I read _The Difference Engine_ at that time). Even though it wasn't sophisticated at all, it felt interesting (and good) to play one's own game (and to think about the story and how to develop it further).

</comment></comment></comment></comment></comment><comment><USER31> I think the author has not met enough variety of people.

Yes, all schools should have a fantastic Computer Science department. And it should be more than CS, it should be "doing fun stuff with computers". However, there is a very large segment of the population who _cannot_ program.

I've got a friend who's quite smart. She's charming and extremely capable at her job. I discovered that she has absolutely no ability to think in three dimensions. She cannot follow even a very simple series of motions. She parked her car near a post, came out, got confused, and destroyed the whole side of her car because she couldn't work out the spatial problem to get out.

I've known people who simply _cannot_ grasp calculus. They're interesting people who offer value in the world. Calculus is a fundamental and wonderful thing to know, but that doesn't mean everyone can or should learn it.

I love programming, but I respect the variety of humanity enough to understand that it should not be mandatory.

<comment><USER32> You have no idea whether the author has "met enough variety of people." You have no idea if people are innately able to program, learn calculus, or "think in three dimensions" (btw - driving is a 2d problem). I don't. You don't. No one does. We do not have a framework for discussing the fundamental (genetic) basis of human intelligence. We do not understand even its most basic components. Some people seem to have "good memories" or be "fast at computation" but that's about all we can actually, honestly, meaningfully say. Culture is so ridiculously complicated and so powerful that it's impossible to impossible to distinguish between what is innate and what is imprinted. The fact that basically no one is able to predict the intellectual abilities of future humans is an indication of this (e.g. what would a mathematician from the 19th century say about the "fundamental" mathematical abilities of his fellow humans?).

The point of the article is that coding is in some sense a core/intrinsic skill. That anything you do is actually deeply tied to coding in the sense that "something you do" (technology, in the general sense) is equivalent to "algorithm." Weaving is coding. Playing a game is coding. Building a house is coding. Painting a picture is coding. Proving a theorem is coding (Curry- Howard Isomorphism). Sure, they're different, more intuitive, weird types of coding, but the fact that you can't see that they -are- coding implies a limitation on your ability to abstract the concept of "coding" sufficiently.

The fact is that coding is a deeply human activity, and that by understanding coding we are really understanding ourselves and the fundamental means by which we -collectively- understand reality. The fact is that we need some shared understanding of ourselves, of our logical facilities, of the basis of our ability to produce and thrive and know how to interact with the universe. Without a shared framework, communication is useless/impossible.

<comment><USER31> _You have no idea whether the author has "met enough variety of people."_

Which would be why I said, "I think..."

 _driving is a 2d problem_

Uh. Okay, sure. I submit to you that it's possible I was referring to more than simply driving, and that your claim of driving being a 2d problem is just silly.

Programming is not a deeply human activity, not in the least. It involves strict, logical thinking, abstraction, and hierarchy. You disrespect the variety of humanity by claiming it to be intrinsic.

</comment></comment></comment><comment><USER33> Me and my son (aged 15) are trying to develop our first iPad app but he is not interested in the programming side at all. He is happy drawing out stuff on paper for the levels etc... So am not forcing the programming no him, if he has no interest. I just want him to have the experience of getting a app on the app store and knowing he was part of it.

We are using the Corona SDK (in case anyone is interested).

Dave

</comment><comment><USER34> So the title is misleading. Really, he's saying we should teach our kids to _think_ like programmers, not to actually teach them code which is a far better idea.

In all honesty, people have an aversion to code like they have an aversion to anything math related besides simple arithmetic. I also disagree with his slight criticism of Codeacademy as being a place where people simply learn syntax. I was 10 years old when I wanted to know how we pages were made. I learned the HTML, then as I grew older learned the syntax. I only learned what I wanted to get something done. Eventually, through learning simple syntax I gradually began to understand the logic and theory behind programming. Of course I got much deeper into it during CS classes in college. My point is, people get turned off by code. Teach them how to print 'Hello World!' and you eventually teach them the underlying principles of programming in a sneaky way. It's like wrapping medicine in a piece of cheese so your dog will swallow it. If the dog knows its there he'll likely spit it out.

The title got me angry at first. I don't think we should be teaching children any specialized skill they don't have an interest in. My father is a pilot and tried to make me like flying because of the same kind of "this is good for you" thinking but it didn't work out. Also, as far as everyone using computers but only a few programming them, I think that's fine. It's more important that people get a broad overview of how hardware and software works and thats all. Does everyone need to know how to rebuild an engine to drive a car? No. Knowing how to check fluid levels, change a tire, and filter your oil will suffice.

Maybe I took it wrong but we don't need to teach our kids to code. There are a lot of ways to teach critical thinking skills (which is what he's getting at). Critical Thinking was a first year college course I was required to take. They should be teaching that course far far earlier here in the States. I was in AP classes all the way through school and even the Advanced Placement kids weren't offered a course even close to critical thinking.

<comment><USER35> So you don't think kids should be taught to read if they don't have an interest in it? What about math?

Computing is a basic skill on the same level as math and literacy. It's only getting more important. You don't have to be an aspiring author for reading and writing to be relevant to your life. And you don't have to be an aspiring software engineer for basic computation and programming ability to be important in today's digital, networked world.

<comment><USER6> "Computing is a basic skill on the same level as math and literacy"

Its actually not as basic of a skill as math and literacy. Proof of this is that it takes math and literacy as foundational skills to then program. I agree that programming is a good skill but please don't pitch coding as being at the same level as basic literacy. The difference between someone who is illiterate and someone who is illiterate at programming is vastly different.

<comment><USER35> It's getting less different over time.

Let's go back a few thousand years and ask Plato. Suppose he says "Literacy is not as basic of a skill as speaking and remembering. Proof is that it takes speaking and memory as foundational skills to read and write."

He's probably right for 500 BC. You could get by just fine without reading or writing. Literacy was for specialized purposes such as government record keeping. But society grew more sophisticated, to the point where, in the last century or two, it's hard to get a job or function on a basic level in society without being literate.

Well the world turns quicker and quicker. It used to be that one could get by on brute force mental work. But a mere 70 years after the first gigantic electronic computing machines, computational automation is becoming a necessary part of our lives. It may be possible to avoid it now, but it's getting less possible every day.

Abstract computation is a new way of processing and understanding information. It is the next stage in the evolution of information processing, beginning with spoken and then written language. It isn't on the same level as speaking and reading yet, but it's getting there, and we won't do our children any favors by letting them think it's optional.</comment></comment></comment></comment>


Seth's Blog: NOBS, the end of the MBA - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2007/04/nobs_the_end_of.html <comment><USER2> Seth's idea is one that i'm sure a lot of people have thought of recently. I know i have a bunch of ideas written on scrap paper about it. I'm just glad to see someone might be doing something cool to circumvent the current college standard.

As much as i talk about college being a big fat waste of time and money, I generally enjoyed my time spent there. I had an awesome marketing job with one of the greatest companies/brands in the world and made some stellar contacts. It was the job offers halfway through college that showed me that the experience was worth MUCH more than the diploma. Finding out that jobs that "require" college degrees really just require proof that you are capable and determined was a great realization.

If you can demonstrate to a company that you have what it takes, waiting for you to finish your degree could be a waste of time for all parties involved.

So if your goal is to get a good job... it is entirely possible without a degree. Your friends and family may tell you otherwise, and very few people will encourage you to drop out to take a job... but it's your decision. Having a degree hardly dictates your happiness or success as a person.

I ended up leaving school after 3.5 years. Not to take a job, just because it was clearly a waste of my time. I wanted to focus on starting/building my company, and school was just getting in the way of that. Incidentally I found (sorta like Seth) a way that I could get my last semester's worth of credits from my university - so i'll still have that "all mighty piece of paper" in a couple months.

My suggestion to people usually is: Do what you want! Fitting the social norm is easy and will probably work out for you, but it might not be the best choice. If I were to go to college again, I'd study something that interested me as a person. Not something that I felt was a happy medium between interesting and a safe career path.

_____You should go to college to learn about something you think is cool & enjoy your time spent there. Study art or music, history of physics... something that will make you want to attend early morning class discussions. Get involved on campus, network with people, and use your free-time to read and figure out how you're going to make your mark. If you're just going to school to prepare for a job... rethink why you'd spend your time and money being lectured and quizzed on material from drab books who's curriculum is behind the times anyway. If you are planning to start a company, you'll know for yourself if college is important to you or not.

<comment><USER3> shhh... don't tell anyone. they don't like to hear it!

well I do, but if only more people would too. alas, norms are norms.

by the way, the "reply" link above is also italicized. the tag is closed properly, but it is visibly inconsistent. just in case pg feels like changing it.

</comment></comment><comment><USER4> Damnit! He stole my idea!

When I was in undergrad, I had a bunch of conversations with my friends about just why we were in college. It all came down to three things:

1\. We wanted to show potential employers that we were smart enough to get into an elite private college.

2\. We wanted to show potential employers that we were docile and persistent enough to continue attending said elite private college, even though we had accomplished #1.

3\. We wanted to get to know lots of other people who were willing to pay $40K/year for the privilege of #1 and #2.

Of course, once you get out in the working world and actually get involved in hiring decisions, you quickly learn that there's not _that much_ difference in the quality of education at various universities. Harvard's classroom instruction is not much better than any other top-tier college, and may actually be worse. MIT's is probably better, but it's nothing that a couple of guys from UVA (ahem, Reddit) can't pick up in their spare time.

Instead, you look at the Education section on a resume because people have already done the hard work for you. Someone at Harvard painstakingly went through 18 years of that candidate's life and decided that they were good enough for Harvard. I've got code to write: I don't have time to spend digging through a candidate's background. If it's good enough for Harvard, it's good enough for me.

So, the business idea I came up with was a simple certification program. We'd look at all your test scores, administer a few additional tests, have you complete a project or two, talk to previous people you've worked with, and generally decide if you're worthy or not. We'd set the bar high enough that the average Harvard or MIT grad would fail. And if you pass, we give you a college degree - all without having to put up with the bullshit aspects, like going to classes or forking over a couple hundred dollars. You're responsible for your own education, we just say whether you've educated yourself.

I wonder if I should've put this down under "other ideas" on my yCombinator app.

<comment><USER5> Good luck getting that degree accredited.[0] You've entirely elided the fundamental aspect of education: education. A college degree is not supposed to just be a certification that you are competent over a certain domain of facts, but rather an indication that you have spent 3-4 years thinking, applying yourself, and growing intellectually.

While autodidactism is certainly laudable, there is value in a corporate educational setting, namely the value of intellectual interaction. College is not so much about learning a set of data, but learning how to learn. (For the ultimate example, consider the Ph.D., a degree meant only to teach you to do research, and requiring legitimate research to attain it.)

Now, I'll admit, I was educated in a liberal arts[1] high school, and am currently pursuing a couple of liberal arts degrees. That is both why and because I believe education is about thinking, not committing facts to memory. I eschew academic engineering because it is (at my university, at least) primarily a series of courses that certify your knowledge of yet another parcel of facts. That is useless, educationally. As technical training,[2] great, but it's not education.

Your list of "why"s implies that, substantively, you were no different at the end of college than at the beginning, modulo a group of friends, and four years aging. If that is the case, I'm terribly sorry; you managed to miss most of your education.

[0] Mea culpa: this entire comment is a bit hot-headed. You've hit a pet peeve. [1] Before you jump to conclusions: the liberal arts include the hard sciences. [2] In all honesty, that's what engineering school is: a vocational education in an incredibly advanced vocation. (That's not a problem, really: I share my time between my liberal arts degrees and a fine arts program, which is also vocational education, in a (imho) advanced vocation.)

<comment><USER6> If you look up the words education and training you will see that there are differences in definition but that all college programs contain aspects of both education and training. You are creating a false dichotomy. I can only speak of the effect an ABET engineering program had on me: it changed the way my mind works on a fundamental level. Good education of any variety tends to have that effect.

<comment><USER5> I'm waxing originalistic, but I'll spare you the argument from Latin (the relevant verb is educare), and just skip to the OED. To educate is "3. To train (any person) so as to develop the intellectual and moral powers generally." The distinction I draw is between "develop[ing] the intellectual and moral powers generally" and training a particular skill, without respect to overall intellect.

(Also note, I'm not saying that there is no such thing as an engineering education, only that many engineering programs suck at developing the mind generally. I'd still maintain that there's a fundamental difference between engineering and liberal art/science education, but that is not a discussion for this thread.)

<comment><USER6> The same vague generalizations could be made about any poorly implemented program of education.

</comment></comment></comment></comment></comment><comment><USER7> I have to admit that this is one of my favorite subjects. I am by no means smarter than the average person out there but I've done fairly well without traditional schooling. It's been part luck and tenacity on my part. I make a decent salary and am confident that I will have my own company in the near future. I'm hopeful that YC will help me with that. I can't tell you how impatient I am to hear back!

I have a lot of respect for people who get college degrees. I think it says a lot about their intelligence and their ability to focus. What I can't stand however are companies that won't even look at a candidate if they don't have a degree. They miss out on truly great people. Having a degree means something, yes, but it doesn't preclude the candidate being great.

I have to rely on persistence and connections to get work. In a way, it sucks but it's also a satisfying challenge.

When the day comes that I have to interview and hire people I will not take their degree into consideration. I'll use YC's approach and hire them for who they are, what kind of ideas they have and my instincts about what kind of work they can do.

<comment><USER8> I have a lot of respect for people who get college degrees.

An MBA is barely a college degree. Compare how much you learn in engineering, or the sciences, to what you learn in an MBA. It's all hype except the networking and resume-filtering.

I keep trying to convince my MBA friends to drop out and start something, but it seems to attract non-entrepreneurial people.

</comment></comment><comment><USER9> "but I did get one particularly desperate/angry note from a validation-seeking student last week."

Don't you wish you could pay ten bucks a month to have read only access to Seth's inbox? That would be so much more fun than Reddit / Digg. Plus it could actually be feasible if you limited it to only messages coming from the mailto link on his blog. :-)

</comment><comment><USER10> "The paradox, of course, is that the best people aren't prepared to leave their life behind for two years. They're in a hurry."

This paragraph really spoke to me. Does anybody else feel this way? I am a 3rd-yr. undergrad, and I'm itching to finish school and start a company.

I study Computer Science, and I love it, and I would love to continue studying it in graduate school. I could apply for a PhD, but then I would be putting my life off for another 4-7 yrs. I could apply for a Master's in C.S., but then I would be putting my life of for another 2 years.

I feel that school sometimes creates a disillusioned sense of learning among students. I have to constantly remind myself that I could learn anything I've learned in school on my own time, and that I can continue to do so even after I graduate, and even after I retire.

This isn't true of a lot of people. School certainly offers a strong sense of competition, along with access to bright students and accomplished faculty. I feel like each semester is an orgy of learning, if you will, in which I am focused and determined to intensely work and succeed. But during winter and summer breaks, there is not much difference...

I love to learn and would love to continue school, but in a sense, it restricts you to its curriculum. Perhaps my interests are simply more business-oriented. Perhaps I am afraid to face up to the possible rejection of graduate school. Regardless, I don't want to feel like I am putting of my life any longer.

Anybody else with me?

</comment><comment><USER11> Two years of Stanford business school - $150K + lost income (<http://www.gsb.stanford.edu/mba/financialaid/budget.html).>

Filing fee to incorporate in Delaware - $89.

<comment><USER10> Actually going out and changing the world - priceless.

There are some things money can't buy... for everything else, there's YCombinator. :)

<comment><USER12> Jeff Skoll - Stanford GSB Richard Fairbanks - Stanford GSB Steve Ballmer [this one isn't going to get me love] - Stanford GSB Vinod Khosla - Stanford GSB Scott McNealy - Stanford GSB ...

</comment></comment></comment><comment><USER13> Halfway through this I noticed the phrase "new economy" and thought _what?_ Then I checked the top and noticed it was written 7 years ago.</comment>


The world's smallest and fastest classical JavaScript inheritance pattern - <AUTHOR> https://github.com/javascript/augment <comment><USER3> Weird. As far as I'm concerned, the smallest classical inheritance pattern in javascript is

        Subclass.prototype = Object.create(Superclass.prototype);

And combined with calling your superclasses constructor in your own constructor, that's it. Two lines at most.

You can get a little more complex if you want. In topiarist, I also copy all the 'static' properties from the superconstructor onto the child constructor, check that the prototype hasn't already been modified before replacing it so as to fail fast, and set up the constructor field. But all this stuff is just icing. The smallest classical inheritance pattern is just what I wrote above, and I tend to think that all these articles that make it sound like some deep magic is going on are doing more of a disservice to javascript developers than a service.

<comment><USER4> nodejs has the util.inherits function which gives you an extra super_ shortcut to the superclass constructor,it makes sense to use it in node.

<comment><USER3> Quite right, if you're in node, you may as well use util.inherits, especially since it basically does exactly the same thing (plus super_ and constructor):

        exports.inherits = function(ctor, superCtor) {
          ctor.super_ = superCtor;
          ctor.prototype = Object.create(superCtor.prototype, {
            constructor: {
              value: ctor,
              enumerable: false,
              writable: true,
              configurable: true
            }
          });
        };

</comment></comment></comment><comment><USER5> While this README is very kindly worded, there are several things to be careful of here:

Patching in Object.create with a version that will break third-party code?

[https://github.com/javascript/augment/blob/master/lib/augmen...](https://github.com/javascript/augment/blob/master/lib/augment.js#L25-L27)

Extending Object.prototype (!!!) inconsistently between old and new browsers?

[https://github.com/javascript/augment/blob/master/lib/augmen...](https://github.com/javascript/augment/blob/master/lib/augment.js#L38-L42)

Just because this is voted to the top of the HN front page ... apparently doesn't mean you don't still need to watch your step.

If you'd like a safe, small and fast function for conveniently setting up the prototype chain (a.k.a. classical inheritance in JavaScript), that works cross-browser, try this one on for size:

        function augment(parent, properties) {
          var child = properties.constructor || function() {
            return parent.apply(this, arguments);
          };

          var Surrogate = function(){ this.constructor = child; };
          Surrogate.prototype = parent.prototype;
          child.prototype = new Surrogate;

          for (var key in properties) {
            child.prototype[key] = properties[key];
          }

          return child;
        };

... the nasty bit of JavaScript-specific business there being the intermediate Surrogate, so that you don't need a concrete instance of the parent class to be instantiated, in order to set your prototype chain. Used like so:

        var Person = augment(Model, {
          sortableName: function() {
            return this.lastName + ', ' + this.firstName;
          }
        });

<comment><USER6> I still don't understand why no one does `child.__proto__ = parent;` to inherit properties on the constructor chain too.

<comment><USER7> There's a bunch of caveats to __proto__: [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto)

</comment></comment></comment><comment><USER8> A bit OT and naive question maybe but when do you need OOP in JavaScript? I code a lot of web stuff but the only time I've used OOP in JS is when I make games (where inheritance etc makes sense). Does anyone have a real-world example?

<comment><USER5>
        > I code a lot of web stuff but the only time
        > I've used OOP in JS is when I make games

That's very doubtful. Ever used a String in JavaScript? Ever used an Array? Ever used a regular expression? How about a function? All of those things are objects in JavaScript — and are used and useful as such.

The notion that OOP === single-inheritance needs to be put out of its misery. An object is anything that binds together data and code in a single value, and you use them _all the time_.

<comment><USER9> Your first paragraph is true of functional languages too, which are decidedly _not_ OO by any modern definition. OOP is about inheritance and encapsulating mutable state.

<comment><USER10> An object is by definition data with associated functions to operate on that data. One might say that functional programming couples functions(methods) with data, while object oriented programs couple data with methods(functions).

In an object oriented paradigm, you send messages between objects, in a functional paradigm you pass data to functions. But, functions can normally take functions as arguments as well -- and all in all you can do one thing in the other -- but I think the big difference is on whether you model "smart data" or operations/functions.

Classes comes in when you have many objects that share behaviour. That can be modelled as traits/interfaces or as classes (grouping methods, and possibly singleton state). These things can be inherited, or assigned (as in javascript/self).

</comment></comment></comment></comment><comment><USER11> Wait a second. I thought you made a library for classical inheritance in JavaScript. What's all this functional and Array#from crap you're trying to sell with it? Do one thing and do it well.

Another thing that sits a little weird with me is that this is in the "javascript" organization on GitHub. I think that's a bit misleading, people might mistake this as some official JS library.

</comment><comment><USER12> JavaScript inheritance library? JS does this by default, no need for more useless boilerplate. The below works in all browsers, IE5 included.

function inherits(child, parent) { function tmp() {}; tmp.prototype = parent.prototype; child.prototype = new tmp(); child.prototype.constructor = child; }

function A() { this.x_ = 5 }; function B() {A.call(this);};inherits(B, A);

</comment><comment><USER13> > var bindable = Function.bindable = bind.bind(bind);

The latter part of this line needs a bit of documentation.

</comment><comment><USER14> This is cool, but I like jashkenas' version in the comments here better.

As much as anything, this is because I maintain a reflexive aversion to touching `Object.prototype`.

If you're disciplined about avoiding this you can use `for ... in` loops without having to dick around with testing whether the properties are actually directly on your object every time, or writing a wrapper that takes a callback.

</comment><comment><USER15> This is pretty neat. A minor nitpick:

>You can easily include it in fiddles and benchmarks using the following HTML code...

You really shouldn't use raw.github.com like that. If you're doing something to show a couple of people, or for your own testing, you could use rawgithub.com instead, but otherwise, you should just upload it somewhere reliable.

</comment><comment><USER16> PJs [https://github.com/jayferd/pjs](https://github.com/jayferd/pjs) is the sanest js classical inheritance library I've seen. It's very lightweight, doesn't mess with Object.prototype, and interoperates seamlessly with coffeescript classes.

</comment><comment><USER17> It's interesting that so much time and effort is spent by JavaScript developers implementing classical inheritence when this is a concept increasingly shunned in classically typed languages.

<comment><USER18> I think it's almost like a challenge people do for its own sake because it's something even Crockford failed to do correctly. Write an awesome classical inheritance pattern, write a bunch of tests to convince yourself it works, and then ignore it.

Indeed, the fact Crockford's stuff on classical inheritance in The Good Bits was wrong but the book got (and retains) so much traction indicates just how much no-one cares.

<comment><USER19> Could you link to a good explanation of how that stuff fails please? Not doubting you, just want to read more.

<comment><USER18> It's been a while since I used it, and I can't remember what the problems were off the top of my head but they were face palm level.

Here's a discussion on stack exchange:

[http://programmers.stackexchange.com/questions/173176/javasc...](http://programmers.stackexchange.com/questions/173176/javascript- objects-and-crockfords-the-good-parts)

The general problem with all classical inheritance patterns in Javascript is that they don't really work (they treat Javascript as a static language so you get all kinds of nasty surprises because it isn't). This is particularly sad in comparison with older, conceptually simple languages like Objective-C that do this stuff properly.

Crockford himself says it was a mistake to even include the section in the book (in 8 years he's never used it)

[http://www.crockford.com/javascript/inheritance.html](http://www.crockford.com/javascript/inheritance.html)

The takeaway point is that doing classical inheritance in Javascript is a Bad Idea. If you think you've done it, you probably haven't. And no-one will use it.

</comment></comment></comment></comment><comment><USER20> this, let's implement inheritance movement nonsense is crufts of Java and C++. (and only C++ can be forgiven, for performance reasons.)

Python has proven that a successful dynamic language should have duck-typing, via what called late-binding. you perform lookups on a live object. And this makes even more sense for javascript, which intentionally violates whole notion of typing.

In python, yes, there are such things like 'abstract base classes', but they're mostly for convenience, not forced like interfaces in Java. which means no one write codes like:

      If not isinstance(obj, JavaicMentalMasturbationBase):
        raise TypeError, "rogue object does not follow holy Javaland commandments: %r" %obj

instead, they exist that a framework provider can tell developers, on what are the possible objects that can be fed to their framework. e.g) _to use our SessionInterface, your custom session has to provide get_session and save_sesion methods._

It seems like Branden Eich's original intention has came to fruition - <USER2> a sub-par language and name it after Java. sub-sub-par developers from Java will like the language, it even has closures! But I think he didn't expected Java idiots to force their idioms and harm the whole ecosystem - usually, enterprisey code monkeys were very silent in their cubicles.

<comment><USER21> > _Python has proven that a successful dynamic language should have duck- > typing, via what called late-binding. You perform lookups on a live object._

It has proven nothing of the short. For one, other languages have done it before (and much better, like Smalltalk). Second, it's not something that, in Python's implementation, makes it particularly suited or pleasant for large codebases.

> _e.g) to use our SessionInterface, your custom session has to provide > get_session and save_sesion methods._

So, relegate work that the computer can do to the programmer. Make him do tedious and error-prone housekeeping.

The rest of the comment reads like a teenager's attempt at sounding like "cool" and in the know. Things line "JavaicMentalMasturbationBase", "create a sub-par language and name it after Java", "Java idiots" and the like.

I assure you that there are Java developers who run circles around whatever your coding skills are. And from your description you don't sound that good at Python either.</comment></comment>


How To Be The Next Bill Gates - <AUTHOR> http://www.forbes.com/2008/06/23/gates-microsoft-career-oped-gates08-cx_hd_0623howto.html <comment><USER2> This part seemed particularly inaccurate: "Gates demonstrated that the old- school model of an Ivy-league degree, or a pedigreed family, isn't a requirement for career success." He came from a wealthy and prominent family.

However, I think the point is correct, even if Bill Gates isn't the one who proved it. I'm always encouraged when I find out that the founder and owner of a successful company came from a modest background.

</comment><comment><USER3> They skipped a few things.

\- Receive a $1 million gift from your grandfather when you're born.

\- Go to an elite private school with the same computing power as Stanford University when you're 13.

\- Bully your co-founder out of his hard earned equity. Take over when he gets a life threatening illness.

\- Have a mother who serves on the United Way board alongside the CEO of IBM (How's _that_ for a network.)

\- Have a lawyer father who teaches you how to resort to legal tactics when technical ones fail.

\- Have a partner who commits one of the biggest blunders in business history (IBM's failure to keep DOS proprietary).

\- Do whatever it takes to defeat anyone else, regardless of legal or ethical considerations, or long term effects on the industry.

Am I the only one who is sick and tired of all this "honoring" one of the biggest bandits in history? Doesn't anyone remember all the evil Microsoft has wrought upon the world? They say that history is written by the survivors, but forturately, _this_ game is still being played.

I say let the door hit him in the butt on the way out and let the market continue to correct itself so that we may finally have the long delayed technical excellence this planet deserves.

<comment><USER4> And be lucky enough to live at a time when a technological invention (the computer) changes the world.

How many times has that happened in history? Fire, steam, rails, oil, electricity, the telegraph, radio, computers, did I miss any?

I'm hoping biotech is next great world changer.

<comment><USER5> Thank you for pointing out the key difference between millionaires and billionaires. Billg, Larry + Sergey, Jobs, Yang, Ellison, etc, would still have no doubt been successful if they had been born +-5 years from when they were, but they would have missed the window where there was a multi-billion dollar revolution waiting to happen.</comment></comment></comment>


Best captcha ever - <AUTHOR> http://www.neatorama.com/2010/11/07/best-captcha-ever/

<comment><AUTHOR> Direct link to the person's contact page in question:

<http://www.geee.net/contact.htm>

<comment><USER2> The blog makes for entertaining reading, if you like the crazy espionage conspiracies.

</comment></comment><comment><USER3> I could easily see this being like the classic "orange" captcha - block robots by raising the bar to ankle height. Actually testing the "correctness" of these submissions would be far more complex and resource intensive than typical captchas, and could weed out people who simply don't have a good eye for colour.

</comment><comment><USER4> Press submit and you get a different (and more offensive) CAPTCHA... <http://www.geee.net/contact2.htm?Submit=Submit>

</comment><comment><USER5> I still prefer this one: <http://random.irb.hr/signup.php></comment>


The best About Us page - <AUTHOR> http://www.walkersystemssupport.com/about-social-enterprise.htm

<comment><USER2> Humm... is this the longer version of "Don't be evil"?

</comment><comment><USER3> i believe he likes it because it shows exec pay, etc

</comment><comment><USER4> i don't get it</comment>


Amazon Official Repository of the Elastic Network Adapter (ENA) - <AUTHOR> https://github.com/amzn/amzn-drivers <comment><USER2> Note lots of vendors will not do this because they don't want competitors to know how their hardware (esp. Graphics cards) works.</comment>


An Interview with Tom Quisel, Former CTO of OkCupid (2017) - <AUTHOR> https://logicmag.io/02-algorithmic-arrangements/ <comment><USER2> This is quite interesting.

> You might provide answers for how you feel that night, which may not be > reflective of your larger perspective. [...] So that's one of the big > challenges: understanding what someone is really trying to say when they're > answering questions about their preferences.

> There could be two different interpretations for the question, and you just > answered one of them. [...] Knowing this can happen, we use the algorithms > to help us understand the statistics behind each question, and we'll try to > identify questions that are the most likely to be mistaken in this way so > that we can remove them.

These are both issues with the question system that users have raised concerns about, and generally assume that the question-matching data is just going to be messed up by these. So, to learn that they were actually addressing these issues in code with statistics and analyses, makes the whole system seem a lot more sensible.

He also talks a lot about ethics and fairness and grassroots ideals - and with OkC it did seem like those were more than just corporate talk, they realy were a user-focused, transparent company for a long time. He seems to have left before the Match.com acquisition (I'm assuming) though, and unfortunately there have been complaints after that that the company is gradually moving away from those ideals.

<comment><USER3> _He seems to have left before the Match.com acquisition_

Oh, I didn't know that. Never used match.com but I've heard such terrible things. Does this mean OkC has jumped the shark?

<comment><USER4> OkCupid in their OkTrends blog where they discussed interesting findings on their data once had a post about how the data showed that paid online dating was a losing proposition for the customer. That post was quietly taken down after the match.com acquisition.

<comment><USER5> Here's the cached article: [http://static.izs.me/why-you-should-never-pay-for- online-dat...](http://static.izs.me/why-you-should-never-pay-for-online- dating.html)

"Why You Should Never Pay For Online Dating".

A very interesting read, and one of two articles that were removed as part of the Match.com acquisition. Does anyone remember the other one?

</comment></comment></comment></comment><comment><USER6> >But in general, we focus on making it an experience that doesn't discriminate and encourages people to be their best selves.

Well, you failed miserably. Not just OkCupid but online dating in general.

I think it is one of the few aspects of 21st century life where the Internet/technology made us more close minded instead of more open minded. If you are at a party and meet five different people, you will immediately notice something that you don't like about them, but you will give them the benefit of doubt and engage them in conversation for at least five minutes and allow them the chance to show you their best selves.

No such thing in online dating.

<comment><USER7> But that sort of behavior makes sense in those two contexts.

At a typical party you have a finite number of people to interact with. So you might as well work with who's available.

Online, the number of people available to us is practically infinite so we can afford to discriminate.

<comment><USER8> This paradox/abundance of choice is artificial though. Dating apps could throw up a counter of the total number of people you will be permitted to interact with over a window of time, which creates scarcity that forces the user to increase their efforts accordingly.

It's entirely possible to encourage positive social behavior with technology.

<comment><USER7> Would that make sense to implement from the perspective of a dating app though?

Users could just move to another platform without artificial scarcity and... stay there, because there is no scarcity.

I'm not sure that coercing people to settle is positive behavior, but regardless, enforcing artificial scarcity isn't a feasible strategy for a dating app.

<comment><USER8> Everyone settles, realistically speaking, as you're optimizing for a local maximum when dating, not a global maximum.

You're equating more choices with better outcomes. I argue that isn't the case. Unless we're going to feed every data point we can into a ML black box, and out will come your arranged ideal partnership (there's even a black mirror episode about this).

Getting to know people sounds more fun, but I'm old _shrug_

<comment><USER7> What you're saying is true, I just think users would feel they're being forced to settle if their choices are limited.

To be fair though, if people could be convinced to buy into the platform with its restrictions, it could make for an interesting experience.

While Tinder profiles are built for speed, with only a few pictures and blurbs, profiles on your platform could have much more detailed biographies, videos, etc...

It would be a more immersive experience.

If done right I think your idea does have potential.

</comment></comment></comment></comment></comment></comment><comment><USER9> How to use OKC matching questions in your favor:

1\. Answer a lot of them. Always answer very abruptly (all the questions are very important).

2\. Look for interesting potential partners.

3\. Remove the questions where you disagree.

4\. Enjoy your 99% match and message him/her.

</comment><comment><USER10> Interesting. I often ponder how to approach creating a training set for a match making AI. It seems like the most difficult part is getting long term feedback. Analytics on first date compatibility would be easy, but metrics on long term relationship success would be very difficult.

</comment><comment><USER11> > And in fact, for a very long time we resisted allowing people to filter by > race—we felt it just wasn't appropriate. > But then we learned about some > use-cases from the other side—someone who is Filipino who wants to find > other Filipinos easily. We found that that's a pretty legit reason to search > by race, so we added that feature.

I don't understand. What other side? And why are Filipinos special? How is that fundamentally different from any other race-based selection?

<comment><USER12> I can't tell if you're playing devil's advocate here. I'll translate what the CTO was saying;

"And in fact, for a very long time we resisted allowing people to filter by race—we felt it just wasn't appropriate." \--> A significant portion of our users wanted to be able to filter by race, but we were afraid it'd create an internet shitstorm.

"But then we learned about some use-cases from the other side—" \--> So here's the semi-PC thing we invented to cover our ass, just to give our users the feature they wanted anyways without being the target of a social activism campaign.

Regardless, they have since removed the feature.

<comment><USER11> Thank you. I wasn't playing devil's advocate. I am not from the US, and the specific hangups and dos and donts Americans have around the issue of race are a bit alien to me.

(That's not to say I am free of hangups, but mine are different)

</comment></comment></comment><comment><USER13> I guess. But it seems like a lot of pretending. Maybe I'm too cynical, but men have a pretty basic algorithm for choosing a mate:

1\. Is she acceptably attractive?

2\. Is she acceptably not crazy?

Match those two things and you are 99 percent of the way to the chapel. Women have more complicated criteria mainly because what they really want (someone at the top of social pyramid) is ineluctably scarce.

<comment><USER14> Well, let's say that those factors are the most immediate ones for attraction. This doesn't translate much to "the chapel".

I've been thinking a bit about online dating (heh) and dating in general. My latest idea is that a successful match is not much a matter of _state_ , but rather a matter of _process_. Two people might be well suited for each other but to get beyond the most superficial attraction you need time spent together and meaningful experiences.

They could create a dating website that encourages "matches" to go through a set of random activities, that would be fun (and, I guess, successful).

<comment><USER15> The problem you have to solve is convincing people to invest time in a stranger. And forgo safety. After a few online dates people learn that writing skills don't always translate to personality. Stunning photos don't mean stunning in person.

<comment><USER14> The safety aspect can be managed (much as it is already done in online dating). But yes, you definitely have to invest a bit of time- it might be worth it if it works better than tens of casual encounters that go nowhere.</comment></comment></comment></comment>


Shake your iPhone, find a restaurant on Urbanspoon - <AUTHOR> http://blog.seattlepi.nwsource.com/venture/archives/140912.asp

<comment><AUTHOR> Disclaimer : I help run Urbanspoon and I wrote the app. It'll be available for free when Apple launches the App Store.

<comment><USER2> How long did it take you guys to develop the app? What are your overall thoughts on iPhone development?

<comment><AUTHOR> iPhone development is fun and easy, once you get past the horrors of Objective C. They have a really nice SDK.

<comment><USER2> I really enjoy ObjC, but maybe that's just me. Anyway, thanks for the ~good news.

</comment></comment></comment></comment><comment><USER3> Urbanspoon rocks, and this is a great idea. I've wanted something like this for years. :)

</comment><comment><USER4> I just think about how much different my experience of playing Craps in grade school days could have been. :)

</comment><comment><USER5> Nice marketing trick. Could do the same thing to make a iphone dice and other amusing things.

</comment><comment><USER6> Here is another restaurant idea. You could also use the iPhone as a menu, and flip through the entrees and specials like photos. You flip the photo (like in coverflow) and see information like what local farms the ingredients come from, watch a clip of them cooking or growing a special part of it, read or leave comments about it, get information on wines (including links to reviews from Wine magazines)

If it's 199 an iPod Touch soon, and you have a restaurant with 50 seats, it's 10,000 + 50 times the cost of the software to replace your menus with interactive ones. These are better to use (pictures, information, easy to update) and won't have to be reprinted or professionally designed like high end menus. At 25 dollars a software, one 50 seat restaurant is 1,250. One chain with 1000 seats is 25,000. (More if we sell tethers, subtle speaker solutions so the vids can have audio that doesn't disrupt restaurant ambiance, and installation so the touchs don't get stolen).

Imagine how much better that would be for talented chefs. To be able to present more information, better, about their craft on their menus, with the ease of using iLife, and better manage the flow of the front end of the restaurant. I bet they would sell more high end food and wine if they had nice videos of the most expensive food being crafted. They could show off their best or freshest ingredients. It could be managed through a mobileMe like webapp integrated with iLife. It would be a much better experience for the restuarant employees and the customers, and would deepen peoples appreciation for the quality of their food, which would probably get them to spend more on it.

Hey, anyone want to build this with me? It sounds sweet to me.</comment>


Thirty Years After His Death, Andy Warhol's Spirit Is Still Very Much Alive - <AUTHOR> http://www.villagevoice.com/arts/thirty-years-after-his-death-andy-warhols-spirit-is-still-very-much-alive-9695838 <comment><USER2> I got intrigued with Warhol after I found out he'd supported the Velvet Underground and suggested they work with Nico. It was a strange suggestion, but the results were brilliant.

I'm also really interested in his "Factory" idea, basically a very wild art studio. It reminds me a bit of Erdős, Grothendieck's seminars, and hackerspaces all at the same time. Basically, get a bunch of talented people with very different skills and perspectives in the same place, with a bunch of stuff to work with, add drugs, and see what happens.

<comment><USER3> If you're not familiar with it already then I highly recommend checking out Songs for Drella. Lou Reed and John Cale put aside there differences after Warhol's death to record something of a eulogy for him. It offers an interesting perspective on the early days of the Velvet underground, their relationship with and subsequent falling out with Warhol, and Warhol's life in general. It's beautiful, haunting, and heartbreaking.

<comment><USER4> Thank you for the recommendation, never would have found this and am loving it!

</comment></comment></comment><comment><USER5> The Andy Warhol Museum is worth the trip to Pittsburgh. We have this cultural concept that iconoclastic artists are temperamental and difficult to work with, but from all accounts Warhol was a consumate professional in his work, always seeking to give his clients his absolute best work, on time, on budget. And he worked constantly, maybe even obsessively. Very inspiring.

<comment><USER6> In a large part, he also birthed the modern idea of having a whole level of _other_ artists underneath him, that did the majority of his paintings, screen prints, films, magazines - you name it. His name was much like a trademark for a product. He produced works en-mass, often as cheaply as possible.

His art studio was named, "The Factory" after all...

This is well and good - artists employing people to do much of the actual work dates to at least the Renaissance, but Warhol isn't known to exactly treat these people well - you could even call him exploitative. His nickname was, "Drella" (Dracula + Cinderella)

How many people, for example, who hung out to The Factory in its hey-day, or worked with Warhol, then had their lives destroyed by severe drug addictions - perhaps even while being a part of a film he was shooting? His public indifference to some of these deaths is astounding - perhaps because he himself was severely addicted to drugs (amphetamines).

Take a walk on the Wild Side.

</comment></comment><comment><USER7> >> the bullet piercing his lungs, gall bladder, spleen, intestines, liver, and esophagus

Unlucky guy.

Here's a skin detection algorithm that references one of his art installations: [https://www.google.com.tr/url?sa=t&source=web&rct=j&url=http...](https://www.google.com.tr/url?sa=t&source=web&rct=j&url=http://citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.575.7185%26rep%3Drep1%26type%3Dpdf&ved=0ahUKEwiy5PuKrqvSAhUGDywKHYT4AycQFghCMAo&usg=AFQjCNGi3iiKQCmRNTZkSRC_JJxV9tQeWg&sig2=8LyiJuLmpm1zx7qDTrAWlg)

</comment><comment><USER8> "Andy Warhol. Phoney, radical Andy Warhol. Burgeois capitalist." [1]

[1] [https://youtu.be/Bw0Rmt2S0uQ?t=10m27s](https://youtu.be/Bw0Rmt2S0uQ?t=10m27s)

<comment><USER9> Thanks for the link, how amusing. This confirms my suspicions.

</comment></comment><comment><USER10> After reading watching his doc [1] we were was inspired to build our art startup : [https://PoPteam.io](https://PoPteam.io)

no algos here - all hand crafted just as warhol liked it.

[1] [https://youtu.be/UQXpqQO4vaE](https://youtu.be/UQXpqQO4vaE)

</comment><comment><USER11> Warhol is one of the few artists that if you hate thaer work you should accept the fact that you really love it

Warhol hated mass production and expressed those feelings, oddly, by participating in it

If you look at a piece by Warhol and think, 'this is unimaginative clutter produced in such a scale that bars any kind of creativity or intimacy of expression' then Warhol just managed to have you speak the opinion that the art was produced in response to

Now you have the opinion and can use it to examine elements of your own life, beyond warhol's work

who will look at a room filled with campbells soup can paintings and think, 'such care and consideration went into each one.. theses are all individually such good paintings'?

then go home afterward and look at a cabinet full of campbell's soup cans think 'good soup'

<comment><USER9> I had this opinion already. When I go to a gallery and see Worhol's dull, unskillful work I find it a total waste of time.

This for me is the part I hate about modern art. Stop being self-referential and paint something that takes skill.

<comment><USER11> I happen to agree with your first para, but I think indifference and dislike are separate

I am indifferent to warhols work because I already agree with the inherent message and find little beyond that message

You can even dislike Warhol for other reasons, but it still remains that disliking the work for its mass production qualities means you are responding as intended

As for your second para.. you seem to be an adherent of a dull and unskillful ideology

I think all art takes skill, of varying types of skill, but more specifically a lot of modern art(o) consists of paintings that inarguably required a lot of skill to paint

You seem to be arguing something other than modern art

Personally I think it's dangerous to apply limitations on how others can express thaemself

(o) [https://en.m.wikipedia.org/wiki/Modern_art](https://en.m.wikipedia.org/wiki/Modern_art)

<comment><USER9> It's a cheap win. I dislike being punched in the face. I have no intention of going to an art gallery where they punch people in the face and then say "told you so".

I like skill and flare. Warhol had neither. I don't expect a painting to be like a photo. I just find Warhol devoid of any interest whatsoever. And his apartment had none of his genre in either, probably because he knew he was simply playing the media. Just like Damien Hirst or Tracy Emin and their entourage of sycophants.

I love many of the pics on that link. I wouldn't put Warhol anywhere near any of those artists.</comment></comment></comment></comment>


Ask HN: Any Advice for Hackers/Founders with ADD/ADHD? - <AUTHOR>

There was an amazingly helpful conversation going on here late last night about the unique challenges people with ADD run into trying to study computer science and found startups: https://news.ycombinator.com/item?id=5579931<p>For some reason the article (by a 2nd year CompSci student who diagnosed himself with ADD) was flagged after an hour or so, so I wanted to create an Ask HN thread where at least the discussion could continue, and also to point out the original article and discussion for any HNers who are suffering from ADD. <comment><USER2> How about you realise you don't suffer from a made up disease and get on with your life?</comment>


Boycotting SOPA Supporters is All or Nothing  - <AUTHOR> http://www.lockergnome.com/news/2011/12/23/boycotting-sopa/

<comment><USER2> I don't see any actual argument here. "If you're boycotting only some of these companies for supporting SOPA, you must boycott all of them"?

Not really... Boycotting GoDaddy made perfect sense: they are an internet company supporting legislation that would ruin the internet. Presumably they knew perfectly well what they were doing (considering this is the core of their business) and they needed to be shown that the world doesn't agree that it's okay.

Whereas I doubt L'Oreal executives knew or cared about this bill beyond someone promising them it would help their business to sign on the dotted line. Boycotting them would be an arbitrary self-righteous waste of time that could be spent pestering your representative -- which actually has a chance of making a difference.

<comment><AUTHOR> Disney is a far bigger "Internet company" than Go Daddy by both traffic and dollars generated online. By your logic, it makes more perfect sense to boycott Disney than to boycott Go Daddy.

But the article agrees with you that pestering your representative is a better use of time regardless of which company you choose to boycott or not.

<comment><USER3> The reality is you can't boycott everyone. Sometimes it's even hard to know who or what to boycott, and people just don't have time and energy to follow all that. Boycott toilet paper to protest SOPA? Not going to happen. Pressuring your representatives in Congress is more likely to succeed.

</comment></comment></comment><comment><USER3> SOPA is about controlling the flow of information. Just like large corporations now own media outlets and now influence their content, SOPA will do the same for the Internet. And with both media and Internet under control, the average citizen will know only what the corporations want us to know. Scary.

</comment><comment><USER4> I know I can't deal without Advil and football this weekend. But I also can't deal with the potential loss of the Internet as we now know it. Don't want to be a hypocrite? Contact your congressmen instead.

</comment><comment><USER5> Passing SOPA will be essentially allowing controls that the Chinese gov't imposes on their folks internet usage.

</comment><comment><AUTHOR> Did you move your domains off Go Daddy without throwing out your Marvel Comics, flushing your Viagra, and telling your kids that Toy Story is now on the banned viewing list?

</comment><comment><USER6> The internet is fine as it is. You can't and won't stop people from infringing on copyright laws even if you have this silly bill pass.</comment>


Ask HN: Getting Sued for Leaving Behind an Encrypted Partition - <AUTHOR> HN,
A former employer has threatened to drag me into court, over an encrypted partition that they don't have the password for. That they believe they can compel me to disclose the password is somewhat amusing to me.
They have no valuable information to retrieve. It's on a daily-use personal desktop machine. One that was left powered off, they are now in the physical presence of. It does not host any mission critical services. I created the partition for my own use.
Given the pervasive monitoring tools deployed onto the company network, I found it a huge distraction to have a heavy handed desktop support team breathing down my neck and possibly logging every click and keystroke. Used as a start-up disk, I found it easier to concentrate, and do more work for them, knowing that they wouldn't be able to interrupt me by abruptly taking control of my mouse and keyboard when I'm in the middle of something. The encryption served as assurance that they could not install OS level rootkits.
I also used personal laptops in the course of working for them, and it hasn't even occurred to them that such a thing is likely much, much worse than a mysterious black box occupying 500 GB on office equipment currently in their possession, and under total control.
Needless to say, they are a toxic organization, and there's a reason I left abruptly. I even forfeited 14 days paid vacation time, just to never have to talk to them again. No damages have occurred, and I think that much is obvious to all parties. I'm doing nothing.
Why should anyone develop an opinion that it's acceptable to jump to legal tactics in a civil context, when they could just wipe the partition and call it a day? Is it the shiny object factor? Is it a malignant, sociopathic urge to dominate?
Is there a REAL reason to try and force me to divulge a password to a partition they did not create or modify? If so, please help me to understand. <comment><USER2> It's probably in your agreement you signed to get access to their devices.

You're going to either give them the password, or you're going to spend a fortune defending a lawsuit that you're going to lose.

And at the end you're likely to end up unable to get a job in the field ever again.

<comment><AUTHOR> Then I'm going to let exactly that happen.</comment></comment>


Ask HN: Best ways to promote an ebook? - <AUTHOR>

Hi guys,
I wrote an ebook about creating Wordpress plugins a couple of weeks ago and sales haven't been great.  I've followed the usual advice of social media, creating a landing page, telling everyone I know, but so far it's been quite slow.
I know a few of you on here write and sell ebooks for a living.  Do you have any advice for a first time author?  It's my hope to continue writing books but I need to learn the marketing side of things before my next book I think.
Advice, help and suggestions much appreciated! <comment><USER2> Here are a few resources that might be helpful:

 _Ask HN: Has anyone here self-published a book? Any advice?_

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

 _APE: Author, Publisher, Entrepreneur - How to Publish a Book_ by Guy Kawasaki and Shawn Welch

[http://apethebook.com](http://apethebook.com)

 _Authority_ by Nathan Barry

[http://nathanbarry.com/authority](http://nathanbarry.com/authority)

<comment><AUTHOR> That other HN thread is great, thanks for that link! The books both look interesting as well

</comment></comment><comment><USER3> TLDR; move away from amazon, setup a website/landing page with some helpful articles on wordpress plugin development (apply some seo techniques and drive some organic traffic to those articles), increase the price ($30 or more) and sell it in pdf (use gumroad).

<comment><AUTHOR> Yeah, that looks about right!

</comment></comment><comment><AUTHOR> PS. you can check it out for free here: [http://www.amazon.com/gp/product/B00EG7BMVY](http://www.amazon.com/gp/product/B00EG7BMVY) any feedback would be extremely useful.

<comment><USER4> Sell it for yourself at a price of rather north of $5. It is a revenue- generating asset for the right people, right? $40 is very reasonable if it helps someone ship a Wordpress plugin that goes for $25 to $50 a pop, helps them deliver client work, gets them a new job, etc.

The single best way to sell virtually any sort of educational content is to give some amount of education on the topic away for free, collect email addresses, and then explicitly sell to the people over email. Read Nathan Barry/Brennan Dunn on the topic -- their blogs go over pretty much every element in detail.

<comment><AUTHOR> Hey Patio, thanks for the advice (I'm a subscriber to your emails as well which are great)

Selling for myself was my initial thought but my weakest point is driving traffic/marketing. Amazon brings me the traffic I could never hope to get myself. I can code with the best of them but when it gets down to the actual process of getting people onto my website, I have no idea.

I've been learning what I can about SEO, social media marketing, using adwords and so on but I still feel like I'm missing a trick. These so called 'internet marketing' experts tell you they can drive masses of traffic but I just don't see how!

Anyway, I completely agree with your point about giving away some of the topic for free and I've read a lot of yours (and Brennan's) articles on doing that. I shall look into it in more detail, thanks!</comment></comment></comment>


Show HN: 300k+ Credits for AWS, Google Cloud, Stripe, Sendgrid, Twilio, More - <AUTHOR> https://get.sparkxyz.io/ <comment><AUTHOR> Hey guys, founder of SparkXYZ here. We're here to offer you startup credits (worth $338,023) that you'd usually only get by joining incubators/accelerators. We've built partnerships with 30+ service providers who are winning to offer massive discounts for new customers. Our goal is to reduce founder failure reducing your burn and increasing your runway.

</comment><comment><USER2> Seems Similar to founder friendly labs.</comment>