Ask HN: Is it really this easy? - <AUTHOR>

I'm browsing startups near my area and what I'm seeing are a lot of startups that are based on previous big ideas, just applied to a very niche market. Ideas that I'm sitting on the subway and thinking to myself, "Hmm that'd be a cool idea", and then I discard it two seconds later. I have hundreds of ideas written down, and I am so quick to discard each and every one of them as silly because who the fuck would use any of these apps I came up with. Then I see the list of startups and what they are all about and I weep.
How do these companies get funding? Why do they get funding? A majority of these startups don't have a very unique ideas and it doesn't look like many are really making a difference or increasing wealth.
How do startups work? Do a lot of these just get initial funding, get an office, work on their stuff, and if it doesn't succeed, it just shuts down?
I'm honestly a bit confused at how the startup scene works as I have a great idea and I'm pouring my blood, sweat, and tears into it. It'd be lovely to have a small team to work with and I'm wondering how do these people get SO MUCH funding? It seems that every second company I'm looking at has been funded through the roof.
I'm genuinely curious how it works as I'm trying to get my own business going. Can somebody shed some light into the process? <comment><USER2> Working to obtain external financing for a startup is a miserable experience, even for people who are good at it, and for most of the kinds of ideas software people have for companies, usually results in a situation where (a) you have worked your ass off and beaten extraordinary odds simply to land yourself in a situation where you are working a job for a boss and (b) assuming all the risks and liabilities of working at your own company but with incentives that are now tailored for financiers.

External funding for startups has a place, but we'd all be better off if it wasn't glamorized to the extent that it is. The more money you raise, the worse problems (a) and (b) tend to be, with the possible exception of extreme cases where revenue growth and customer adoption are so clear that the glamor of having raised is less than that of having started such an amazing business to begin with. Most companies that raise good-sized A rounds aren't like that, though.

It doesn't have to be that way, and if you're wondering how anyone would go about getting a company funded, it shouldn't be that way for you either. Start your company in your spare time. Scale down the ambitions of your product so that you can accomplish it with the resources you have now. Prove your idea on a very small scale, and, as you gain small amounts of traction, gradually expand your ambitions, which will now often track your returns on running the small business. At some point, you'll be making enough money and have enough apparent upside that it'll make sense to quit your day job.

<comment> alok-g Where do you find companies that do not restrict side projects in their employment contracts? All the ones I know of set their employment contracts so tight that they may have copyright over the comment you [1] just wrote.

[1] I do not really mean you specifically.

<comment><USER3> In California companies are much more limited about what they can claim to own of your (unrelated) side project.

<comment> alok-g Previous discussions (including information about California):

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

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

Summary: It is not so simple.

</comment></comment></comment></comment><comment><USER4> In general, talking to customers, shipping software, and selling things to people for money strictly dominate either thinking beautiful ideas or wondering what alchemy would hypothetically make your startup fundable. If you're really, really interested in that question, I can explain it in detail, but I would bet against you liking the answer, so I'd suggest talking/shipping/selling rather than spending more time thinking about what other people are doing.

<comment><AUTHOR> It feels to me that a lot of these ideas are hackish and serve only the purpose of getting funded, an easy money scheme. There are genuinely unoriginal ideas. An image host. Like hundreds of other image hosts don't exist? Why did you get funded?

I don't understand. When I think of ideas, the perspective I view the idea from is whether or not it solves a significant problem in daily peoples lives. A lot of these startups, don't solve anything.

I'm interested in your extended response regardless of my stance.

Is it just guys that have too much money and fund startups hoping that 1 in 100 of the funded ones will eventually make them billionaires? That's currently what it seems like.

<comment><USER4> There are far easier ways to get money than raising money for a startup. If two founders raise, say, $500k, under most circumstances they'll work a lot harder and earn a lot less than just working for Amagoobooksoft as engineers. (Remember, it doesn't magically become _their_ money. They'll be expected to spend it on employee salaries, and employees are much, much more expensive than anyone who doesn't have employees thinks they are.) I wouldn't get too jealous of their lot in life, because it will cloud your judgment.

 _Is it just guys that have too much money and fund startups hoping that 1 in 100 of the funded ones will eventually make them billionaires?_

Again, you're letting sour grapes color your perceptions here. Broadly speaking: "Make lots of bets, lose lots of bets, but have some money invested in [without loss of generality: Google]" _is, in broad strokes, the model_. Note that there is no reward for being original. Google wasn't. ("Another search engine? Please. And their portal is much worse than Yahoo's.") Facebook wasn't. ("So it's like MySpace but with 1/1,000th the users? Great idea, Harvard dropout.") etc, etc.

In terms of what makes a startup fundable: [http://venturehacks.com/articles/unfundable- startup](http://venturehacks.com/articles/unfundable-startup)

In general, with exceptions which would be pretty obvious to a hypothetical founder if they applied, a hypothetical founder is fundable if:

\+ They are located in proximity to investors who routinely fund companies like theirs

\+ They are addressing a market with potential to make $10M ~ $100M (seed stage, angels, and early VC funding) to $X00M a year in revenues, at a minimum.

\+ They've got a team who "look like winners", for very subjective versions of that. Graduated from a good school, worked for one of a few firms with known high hiring bars (AmaGooBookSoft, etc), had a high-impact role at a previously successful startup (first hire or first VP engineering at a company which exited or is a shoe-in to do so, etc), etc etc.

\+ They are clearly capable of shipping great product. What makes a great product? Um, investors "know it when they see it", but suffice it to say that high-caliber design is very big right now.

\+ Traction. In brass tacks: $X0,000 of monthly recurring revenue or millions to tens of millions of free users but _growing fast_. Less at early seed stage, but you should ideally be able to demonstrate it in micro-scale. (e.g. If you can show $1,000 of ad spend got you 4 customers and their LTV is probabalistically above $1,000 then you're in a _much_ better position than if you can't, even if $4,000 doesn't really ring any bells for investors.)

Now, let's contrast this to a hypothetical guy. Guy has big dreams. Guy probably has not shipped a product. If Guy has shipped a product, Guy got 20 people to look at it once, but no one still uses it. Guy lives in the Midwest. Guy graduated from a respectable (but not name-brand) school. Guy worked has worked the last few years as a freelancer. Guy has not convinced a second guy to join him on his crazy adventure. Guy has an idea which Guy thinks is awesome but which Guy has not succeeded in actually selling to 10 customers or instantiating on the desktops or home screens of several thousand users.

Guy will have a _very, very_ difficult time raising funding.

<comment><AUTHOR> _Now, let 's contrast this to a hypothetical guy. Guy has big dreams. Guy probably has not shipped a product. If Guy has shipped a product, Guy got 20 people to look at it once, but no one still uses it. Guy lives in the Midwest. Guy graduated from a respectable (but not name-brand) school. Guy worked has worked the last few years as a freelancer. Guy has not convinced a second guy to join him on his crazy adventure. Guy has an idea which Guy thinks is awesome but which Guy has not succeeded in actually selling to 10 customers or instantiating on the desktops or home screens of several thousand users. Guy will have a very, very difficult time raising funding._

Stabbed me right in the heart. Pretty much what I'm doing now. Thank you for the article and your response.

<comment><USER2> That's not a penetrating wound to your chest you're feeling. It's just gas. You shouldn't want to get a company funded. You should want to build a company. If you have initiative and drive and perseverance, _which you 'd need anyways to succeed at a funded company_, you're in a lot of ways better off in the Midwest working outside the pageant system.

Want a couple of examples? How about me and Patrick? I'm in Chicago, and Patrick lives in the Tulsa of Japan.

<comment><AUTHOR> It's just you hit the nail on the head and perfectly described my situation.

Right now I'm working on a mobile labour job marketplace with a low barrier of entry. Jobs like snow removal, cutting grass, simple errands. House owners can post a task, set a schedule for that task, and set a monthly budget for said tasks. Workers can view these tasks and areas, sign up for the task, at which point the house owner would review that workers profile to determine whether they are a good match. I like this idea because it would enable people to make quick money (teenagers, jobless people) and it would simplify the process much more.

I think it's a great idea and I'm spending every second of my time researching and developing, I'm really excited about this and I really think it will take off.

So that's my situation, just working on a prototype now.

I'm not crying about not being funded, just wondering why so many mediocre startups are funded. Thanks for your response!

<comment><USER5> Far be it for me to jump right into the fray between you and the 2 highest karma rated people on HN, but here here are my 2 cents:

MVP: focus on one aspect of your idea and just do it. From the ideas you gave above, I see winter and summer MVPs (snow removal, grass cutting) If you have a site ready to go now, go for 'www.grassbegone.com' and get a site out matching grass cutters with lazy home owners. Do the research while executing. If you don't have a site ready, spend the next few months developing www.snowbegone.com, learn marketing (from patio11 - hint, you're not charging enough) and launch at the end of autumn and corner the snow removal market.

Neither will get you funded _now_ but I would bet money that what you learn would put you into the section of Guy who is now able to get funded.

Or you may end up like patio11 and make your millions without needed funding. Or you could end up like tptacek rich, acerbic and full of knowledge.

<comment><USER6> I was reading this very interesting thread, and had to jump in here as well. I actually worked (briefly) on a very similar idea last year - basically an Exec clone for the UK. We scrapped the idea after a month, since we realised that you're basically competing directly with existing service firms, and the unique niche of a "mobile tasks marketplace" is tasks that are:

\- not doable by a specialised company (cleaning, gardening)

\- have a physical component (else they could be done by a VA)

\- are more efficient to outsource than do yourself (which seems to rule out pretty much everything)

I came to the conclusion that the only way to go would be to build a specialised services firm, which seems to be what Exec has done (they now seem to just do cleaning). Which is cool, but maybe I'm missing something, since I don't see how they're really a tech startup as they don't really leverage tech in the way that Uber does. But straight services firms make tons of money anyway, so Justin Kan deserves applause for persuading pg to invest in a cleaning company.

Anyway my points to grandparent are:

\- I agree, figure out a niche skillset first, then expand

\- don't get seduced by the "on-demand mobile workforce" element. It sounds cool, but your target market probably doesn't care about cool. You have to answer the question "who really wants a dogsbody to do generic tasks?"

\- Though the social aspect of this kind of business is nice, nailing the supply side is really easy. Unskilled and semi-skilled labour is really cheap, if you haven't noticed. 90% of your focus should be on nailing the demand side.

\- read everything you can get your hands on about Exec/TaskRabbit/all their many clones.

\- agree with parent's plan. Most local services firms probably suck at online marketing. If you can figure out a way to reliably get online customers for service X, you can then go to all the local firms that offer service X and offer a 10% affiliate deal. I'd focus more on nailing the marketing channel before the product (SEO, AdWords, whatever works - find out if there's underpriced search terms like "best window cleaning firms in Cambridge" and go from there).

And yeah, I've become a big fan of the patio11/tptacek approach. Just need to put it into action myself...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I believe there are two powers for seeing the umpteenth smiling kitten-apps getting funded.

One reason is the team behind the app has already proven its worth. So while the angel or VC probably won't be crazy about the idea, he/she will count on the fact that the team will either get acquihired by another, bigger fish, or will pivot into something with better chances of success.

The other power is that for every smiling kitten-app you see on TC, there are hundreds that won't make it. You just don't read about them, so you're biased. It's comparable to aspiring actors moving to LA, where they end up serving meals.

The truth is getting funded is hard, even harder if you're new to the game, and damn near impossible if you're new and haven't got traction (read: users) yet. I suffer from the same idea-overload as you. But I force myself to write the ideas down, and keep working on something until I finish it.

So my advice would be to pick an idea you're passionate about, keep working on it relentlessly, and cut down on reading tech news.

<comment><USER8> _So my advice would be to pick an idea you 're passionate about, keep working on it relentlessly, and cut down on reading tech news._

OK, great, but what if there is no market for it?

This advice sounds just like, "Do what you love and the money will follow."

I'm deeply skeptical. It sounds like magical thinking.

Somewhere is this are all sorts of assumptions about marketing and sales that just sort of happens.

<comment><AUTHOR> Not at all. The more projects you have attached to your name, the more you are worth. If you spend two years writing apps that don't go anywhere, but you finish them, and you can preview them, and you throw them on your portofolio and market yourself you can land a really good job.

I really don't see a downside, this _is_ the worst case scenario.

<comment><USER8> _... and you throw them on your portofolio and market yourself you can land a really good job._

The whole point of this is to avoid having a "really good job" and to have a _business_ instead.

I had no problem getting really good jobs. I can get one today. I no longer want to work for other people.

<comment><AUTHOR> Godspeed!

</comment></comment></comment></comment></comment><comment><USER9> This reminds me that I'm due for the next post in my 'starting Stormpulse' blog series, wherein I cover how and why we raised significant money 6 years after we started.

<comment><USER10> Would love to read this.

<comment><USER9> See LMGTFY link above.

<comment><USER9> No snark intended. Just lazy, sry.

</comment></comment></comment></comment><comment><USER8> _I have hundreds of ideas written down, and I am so quick to discard each and every one of them as silly because who the fuck would use any of these apps I came up with._

I think the only way to know the answer is to ask people. I've made the mistake of spending time building a product that I and my co-founders really liked, but we never actually _asked_ (in one way or another) if anyone else would pay for it, or even use it. We assumed that because we wanted it that others who were (we thought) like us would want it too.

I have some other ideas for products but before I put too much effort into them I want to go talk to potential customers and see what they think.

I dread this because I'm not naturally gregarious, but I cannot count on my gut feelings about what people will pay money for.

<comment><AUTHOR> You need to put yourself in your target markets shoes. You have to close your eyes, visualize their day, visualize their life, and see how it ties into your application and whether your application truly solves their problem.

I have maybe 5 apps I use on a weekly basis on my phone. If another app is to make it onto my phone, it better be a great solution to an existing problem.

Asking people if they would use your app is pointless since there is no prototype, and its hard to summarize all the nuances of a complex application in a few sentences, you'll almost always get a shrug and an "Sure, I'd use that" which I really don't think suffices as a basis to build your application on.

People will almost always say "Yeah, I'd use that" because it doesn't actually exist yet.

Find an idea, see what problem is solves, and fly with it. Better yet, just try to solve your own problems, don't think about whether it will make you a billionaire. Worst case scenario is you have a cool project you were passionate about and can add to your portfolio.

"The very best startup ideas tend to have three things in common: they're something the founders themselves want, that they themselves can build, and that few others realize are worth doing." \- Paul Graham

Great essay by Paul: [http://www.paulgraham.com/startupideas.html](http://www.paulgraham.com/startupideas.html)

<comment><USER8> _You need to put yourself in your target markets shoes. You have to close your eyes, visualize their day, visualize their life, and see how it ties into your application and whether your application truly solves their problem._

Or go talk them and not guess what their day is like or whether your code solves their problems.

 _Asking people if they would use your app is pointless since there is no prototype_

I first want to know what their actual problems are, not what I naively assume them to be. And I would not discuss a potential program in the abstract, but get feedback on something concrete.

 _Find an idea, see what problem is solves, and fly with it. Better yet, just try to solve your own problems, don 't think about whether it will make you a billionaire. Worst case scenario is you have a cool project you were passionate about and can add to your portfolio._

Thanks, but I did that. It was fun, I learned a lot. Didn't pay my bills. I have a lot of fun projects to keep me busy. What I want is an income.

"Follow your bliss" and the endless variations of that are trite.

Passion may be necessary, it's certainly a goal, but it isn't sufficient.

<comment><AUTHOR> _Or go talk them and not guess what their day is like or whether your code solves their problems._

Yes that too, but in a broader sense.

 _And I would not discuss a potential program in the abstract, but get feedback on something concrete._

Good.

 _" Follow your bliss" and the endless variations of that are trite._

If you want an income, develop iOS apps. My cousin started writing really simple apps that cost 99c and he's been making a steady 4k a month. Use that money to buy you time to work on your stuff.

When I was talking about 'worst case scnario', I meant it will add to your portfolio, help you become a better developer, and help you land a job.

<comment><USER8> _If you want an income, develop iOS apps._

OK, but now we're far away from just pursuing passion. Now it's do some work for the money so you can afford to do the things you really care about. Which is fine. I suspect that's how it works for most people.

I'm curious, though, how _you_ managed to achieve a successful business. Did you have to work on things you didn't care about in order to fund what ultimately became a self-sustaining company?

Did you manage to create a successful product by imagining the problems of others and offering a solution?

Do you have recurring revenue, or is it one-time sales of a product?

<comment><AUTHOR> I made money through a lot of sketchy black hat SEO endeavors. Things like content farms, making specific product pages from Amazon categories and working off referrals. Affiliate marketing. Legitimate SEO work.

All of that shit crashed. It was too much to maintain, but it was fun while it lasted.

Right now I saved up money from my job, quit it, and I'm working on my business. I live off of $600/mo total. $350 for tiny room in a place with roommates, $150 for food, rest for transportation.

I have not achieved anything remotely close to a successful business. If I ever need money for rent or food, I'll do a freelance gig or two.

It's shitty, but we're all going to make it brah.

</comment></comment></comment></comment></comment></comment><comment><USER11> I've read unless you'vew already had a successful exit it hard to get funidng without traction. This artical talks about how much traction you might need. Also, assume your target market needs to be at least $100 million.

[http://bestengagingcommunities.com/2013/02/09/how-much- tract...](http://bestengagingcommunities.com/2013/02/09/how-much-traction-is- enough-to-get-seed-funded-or-to-get-into-an-accelerator/)

</comment><comment><USER12> > Do a lot of these just get initial funding, get an office, work on their > stuff, and if it doesn't succeed, it just shuts down?

I'd assume that a lot of these do it in a different order: they work on their stuff (a prototype) first, then get funding when they have something to show off.

(that's how it worked for me anyway)

</comment><comment><USER13> If you have connections, use them. That's some money. Plus your own and from your family/friends. Office, employee #1-3. Start shipping. You have the appearance of a startup. Now getting a return on the money and time/work is another thing. Good luck!

</comment><comment><USER14> First question I think you should ask yourself: do you really even want to pursue funding?

<comment><AUTHOR> It beats coding in my basement covering backend and frontend simultaneously. I'd kill to have a good small team of a designer, backend developer, and front end developer. That would be ideal.

<comment><USER13> You would trade 40% of your company for this?

<comment><AUTHOR> I'm not sure I understand what you mean.

<comment><USER13> Taking funding from a vc o angel comes at a cost - maybe 20 or 40% of your future profits. Nice to have an office, hi end equipment, and a developer or two. I am not judging, just pointing out the other side of the coin.

<comment><AUTHOR> Ah yeah, it's definitely not worth it then.</comment></comment></comment></comment></comment></comment>


Challenging What NASA Knows About Asteroids - <AUTHOR> https://www.nytimes.com/2018/06/14/science/asteroids-nasa-nathan-myhrvold.html <comment><USER2> I have serious problems with this article's headline: "Two years ago, NASA dismissed and mocked an amateur's criticisms of its asteroids database. Now Nathan Myhrvold is back, and his papers have passed peer review."

The two people who actually did the mocking and dismissing are a UCLA professor and a JPL employee, not NASA employees. The only person who's legally allowed to speak on behalf of NASA (David Morrison) says what this guy is doing is great, and somehow that means NASA "mocked and dismissed" this man's claims?

I get that the author and the editorial staff (who likely chose that headline) are shooting for a David vs. Goliath angle, but really?

<comment><USER3> I'm skeptical that Myhrvold is an honest actor, based on his terrible strategy with IV and his life as the world's worst patent troll. I try to be neutral, but if nothing else he needs to demonstrate he can be fair and honest.

</comment></comment><comment><USER4> Really interesting article. Wish Myhrvold's research had been available in 2013, seemingly the last time the Senate Commerce, Science, & Transportation Committee (jurisdiction over civilian space issues, i.e. NASA) had a hearing on space threats like asteroids.

[https://www.commerce.senate.gov/public/index.cfm/hearings?ID...](https://www.commerce.senate.gov/public/index.cfm/hearings?ID=11933343-6109-4E2D-8EE6-73CDAE02A849)

The hearing featured Dr. Ed Lu, who leads the B612 Foundation, that's trying to launch their own satellite for observing city-killer asteroids (remember Chelyabinsk?). But I haven't seen any news about their work in years...

Glad others are taking a look as well.</comment>


SpaceX plans to start offering Starlink broadband services in 2020 - <AUTHOR> https://spacenews.com/spacex-plans-to-start-offering-starlink-broadband-services-in-2020/ <comment><AUTHOR> > Shotwell said SpaceX will need to complete six to eight Starlink launches — > including the one that already took place in May — to ensure continuous > service in upper and lower latitude bands. "We need 24 launches to get > global coverage," she said. "Every launch after that gives you more > capacity."

>Shotwell said many of the Starlink features are being tested by the U.S. Air Force Research Laboratory under a program called Global Lightning. SpaceX in December 2018 received a $28 million contract to test over the next three years different ways in which the military might use Starlink broadband services. So far, SpaceX has demonstrated data throughout of 610 megabits per second in flight to the cockpit of a U.S. military C-12 twin-engine turboprop aircraft.</comment>


Quirksmode is seeking to raise € 2,500 in donations - <AUTHOR> http://www.quirksmode.org/blog/archives/2011/06/donation_drive.html

<comment><USER2> "Donation drive succeeded. After 4.5 hours. Wow... am not sure what to say next." <https://twitter.com/#!/ppk/status/85703744460824576>

Great job, Internet!

</comment><comment> ryan-allen I've been using resources provided by Quirksmode since... maybe 2002. A long time. It's been exceptionally useful. Donated.

</comment><comment><USER3> I wish more sites would have a flattr (flattr.com) account. I'd easily "subscribe" to quirksmode, but I really don't want to manually send money to every single site I like.

<comment><USER4> ppk is on Flattr - you can subscribe to him here: <https://flattr.com/thing/325875/ppk-on-Twitter>

<comment><USER3> Thanks, thats a good idea!

</comment></comment></comment><comment><USER5> I take it Google is not sponsoring the compatibility tables anymore, but I didn't see a mention of it in this post.

[http://www.quirksmode.org/blog/archives/2009/04/google_spons...](http://www.quirksmode.org/blog/archives/2009/04/google_sponsors.html)

<comment><USER6> "Therefore, if you go to the compatibility tables now, you'll see a tasteful little sponsor bar at the bottom of every page with a well-known logo in it."

I can't see these any more so I think it fair to assume they don't.

</comment></comment><comment><USER7> I've gladly donated a small amount (as much as I can afford), I can't count how many times PKK saved me from some stupid bugs in some stupid browser.

<comment><USER8> Here's hoping he reaches his total. I just donated a good chunk on behalf of Mogotest. I wish I could pick up the whole thing, but we're still an early- stage bootstrapped company. Regardless, I think it's important to support the ecosystem. This is our second donation to community resources (the other was to <http://firebreath.org/>). I wish more companies would step up and help out in general.

</comment></comment><comment><USER9> There is also <http://caniuse.com/> for compatibility tables, although I'm not sure how different they are.

Quirksmode _seems_ more detailed. Caniuse.com has an unobtrusive ad at the bottom as well as a Flattr link.

<comment><USER10> I recently discovered CanIUse.com for the HTML5/CSS3 stuff. In some ways they aren't as detailed as I'd like. I wanted to see what browsers support <input type=number>, which Chrom(e|ium) supports, but FF5 doesn't. However they lump all Form Elements into one category, and tell me that FF has partial support. It would be nicer if they told me how partial, partial was!

</comment></comment><comment><USER11> will cut them a check tomorrow morning. also, debian, eclipse, gnu and apache. it is tax time here is australia :-)

<comment><USER12> > will cut them a check tomorrow morning.

Too late.

<comment><USER13> I'm sure they still accept donations

<comment><USER12> Yeah, he now added that he does, for some other project further along (it's he, by the way, PPK is only one guy)

</comment></comment></comment></comment><comment><USER14> a weekly rate of € 5000? sorry, but seeing that i earn about a quarter of that per _month_ i'm not sure ... i mean, with a weekly rate of 5k i'd work the whole of january (and maybe feb if i'm feeling greedy) and take the rest of the year off.

<comment><USER15> That's because you don't have a clue about running a business. What you get as an employee is not what it costs to employ you, and that's not what it costs to do it from your own company.

I'd rather have him not give a discount. Why not let people pay for what they use? How did we get to a state where everybody expects everything to be handed to them for free?

<comment><USER12> > I'd rather have him not give a discount. Why not let people pay for what > they use? How did we get to a state where everybody expects everything to be > handed to them for free?

Erm... you may want to note that this is a resource which has always been free and a major contribution to PPK's fame, which in turn is why he can quote rates of 5k€/week.

<comment><USER15> Sure, but that's no reason for him to update stale content he has no use for for free. Of course the site is a loss leader for the guy's consulting services.

<comment><USER12> > Sure, but that's no reason for him to update stale content he has no use for > for free.

Which is not what he's doing. Or did you manage to miss the 2500€ rate? He's just providing a reduced rate for history's sake.

<comment><USER15> Yes of course, the 'discussion' was about people wanting stuff for free. And my point being that there's no reason for him to provide a 'discount' for the whiners who complain that $5000 is too much for a week of a consultant's work. It's a perfectly normal rate.

</comment></comment></comment></comment></comment></comment><comment><USER16> Was an easy choice to donate a bit, quirksmode is such a good resource for cross-browser css and javascript issues.

</comment><comment><USER17> I'm kind of surprised that at this point this kind of data isn't in some sort of git repository that people can send pull requests when data needs to be changed.

</comment><comment><USER18> Donated. This site has been such a godsend for so long. I'm really glad it exists.

</comment><comment><USER19> donated. easy choice. I uses quirksmode often.

</comment><comment><USER20> I dont understand the rationale of not wanting ads on the site?

<comment><USER21> Advertising makes things shitter. The Louvre could probably replace the frame of the Mona Lisa with some rotating ads, but it would detract from the content. It cheapens it. PPK has spent years building his reputation through Quirksmode - heck, he's one of my most respected sources because I know he has a great sense of pride in his work.

HN people rely for a lot of their income through ads I know, but it doesn't change the feeling (I changed that work from "fact"!) that it detracts from the content. Thanks for your awesome work PPK, I'm donating now!

<comment><USER22> "Advertising makes things shitter."

In _your_ opinion, which is a minority viewpoint.

<comment><USER23> This is an opinion too. What's your source?

<comment><USER22> The majority of people find advertising useful. They buy stuff based on advertising. If they didn't advertisers wouldn't spend advertising money.

Advertising works, providing a service both to the advertiser and the consumer.

I know that's an incredibly unpopular viewpoint within this bubble, but there you go.

If it was the case that most people found advertising 'shit', then you'd see more and more people installing adblock etc. But that hasn't happened. It's still used by a very small minority of users as it has always been. It's sort of like the Opera web browser in that respect.

<comment><USER24> The conversion rate on advertising is incredibly low: often less than 1%. The remaining 99% see the ads and either ignore them (best case) or get annoyed by them (worst case). Either way, it's content on the page that those 99% don't want to see, and it dilutes the value of the page as a whole.

<comment><USER20> Its a necessary evil if you want free content. Btw, click rates are much lower, about 0.05% for a content site.

People also come across thousands of ads that they ignore every day in billboards, shopping windows etc. That's not a legitimate reason to rule out advertising as a revenue option. (On the other hand, claiming that the majority of people find them useful is a bit of a stretch)

<comment><USER25> I've run AdSense on hundreds of websites and I get click rates between 0.5% and 10%.

Not 0.05% that's insanely low.

Mind you, a lot of those sites (the high end, anyway) are optimized strongly for clicks. The ads show up in the middle of content (as an "interlude") or prominently above the fold.</comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: What's the best way to dispose of a huge amount of old floppy disks? - <AUTHOR>

Okay, so here's the story.
My dad used to run a company that was contracted to program defensive missiles (using some odd language called Ada....). He passed away a long time ago.
So, right now I'm at my mom's house to organize his old files.  I uncover a few thousand floppies and spools of magnetic tape.
What the hell is the best way to take care of this without going crazy? We're strapped on cash right now, so we can't hire professionals.
And I don't want to just shred them. My dad would probably get pissed for doing it the wrong way.
Anybody with experience with this?
Also, I am backing this stuff up.
Thanks guys. <comment><USER2> 10 Ways to Reuse or Recycle Floppy Disks: [http://planetgreen.discovery.com/tech-transport/reuse- recycl...](http://planetgreen.discovery.com/tech-transport/reuse-recycle- floppy-disks.html)

#1 on the list is send them to Greendisk, a company that takes disks and all other kinds of stuff too, including the magnetic tape.

</comment><comment><USER3> I gave a few thousand old floppies to an artist on Etsy. She recycled 100% of them into art items, and then sent my wife some cool jewelry to thank me for the raw material. Some of the jewelry was even made out of the floppies I sent, although you wouldn't know it to look at the jewelry. She also made some fancy photo frames and some other items.

I just came across the artist's "floppy disc artwork" by accident while looking around on Etsy, which then prompted the idea to get rid of the old floppies I had in storage. I'm sure there are other artists who use floppy discs for art material...

[EDIT: bhousel's post has some better suggestions...the ACT Recycling program sounds especially neat.]

</comment><comment><USER4> _My dad used to run a company that was contracted to program defensive missiles_

Sounds to me like there's probably classified information there, in which case step #1 is probably to phone the government and ask them what they want done.

<comment><USER5> Speaking as someone who used to have a TS clearance, it's unlikely that they contain any classified info if they were sitting around at the guy's house. But the info could be sensitive, or it could possibly (unlikely) have been classified after the fact, so the advice is probably sound.

<comment><USER4> _it's unlikely that they contain any classified info if they were sitting around at the guy's house_

You'd hope that, but it wouldn't be the first time a contractor was careless about such matters.</comment></comment></comment>


I Am Your Web site's One True Fan (And I Can Prove It) - <AUTHOR> http://blog.louisgray.com/2010/09/i-am-your-web-sites-one-true-fan-and-i.html <comment><USER2> I am only the 8th biggest fan of Hacker News, according to OneTrueFan. In time, I either get crushed by the loyalists here, or I work harder to visit the site more. Either way, this situation is untenable.</comment>


Show HN: Diffboard, a pastebin alternative with diffs - <AUTHOR> http://diffboard.com

<comment><USER2> paste.pocoo.com has nice a nice diff viewing feature. <http://paste.pocoo.org/compare/580131/580130/></comment>


Ask HN: Good free eBook recommendations for travel? - <AUTHOR>

I'm heading on a long overseas vacation (14 hr flight) with my new netbook (and a promised 8 hr. battery life). Any recommendations for free eBooks for the trip?
Also good RSS feeds that I could put into Google Reader (in offline mode) would be appreciated.
Software development / startup related topics a plus. <comment><USER2> Two things I've recently read:

Not free (10$): Chris Langan's (aka the smartest man on planet earth) The Art Of Knowing | Expositions On Freewill and Selected Essays is a good read. I won't link to his site since there's been a breach of security there, but I'm sure you can sleuth and find the ebook.

Free: When The Sleeper Wakes by HG Wells: <http://www.gutenberg.org/etext/775> . I just got done with that and it is very good.

</comment><comment><USER3> "Eastern Standard Tribe" by Cory Doctorow, well written and free. Also free as an audiobook. Funny and smart near future prognostications. I loved the part about industrial sabotage through plausible sounding bad advice. Have a good trip.</comment>


Twitter co-founder: I'm sorry if we made Trump's presidency possible - <AUTHOR> https://www.washingtonpost.com/news/the-switch/wp/2017/05/21/twitter-co-founder-im-sorry-if-we-made-trumps-presidency-possible/?utm_term=.acf61ce3d39e <comment><USER2> >"I thought once everybody could speak freely and exchange information and ideas, the world is automatically going to be a better place," Williams told the Times. "I was wrong about that."

I despise this quote so much, and I'm far from a Trump supporter. If you need to censor speech in order for your side to win, maybe you have bigger issues than Trump's twitter account.

<comment><USER3> This idea of unfettered free speech is going to kick the bucket, and very very soon - I am sorry to say.

Be well warned - the stuff happening on reddit, the tools being developed by moderators are the epitome of the road to hell being paved with good intentions.

The old generalized ideological position of Free Speech is no longer tenable, whether we like it or not.

I'm a proponent of Free Speech, and I've spent the time to understand _why_ its important, and why Humanity has valued it and argued for it.

The ideas behind it are sound.

It falls flat when having to deal with the modern internet.

In the simplest explanation - Free Speech was _NEVER_ designed to deal with things like channel saturation and specialized targeting of the human hind brain which happens today.

The Free speech model is the bazaar of ideas model. Everyone can see all ideas, and decide for themselves what is best. Heinous ideas are important because at the very least - people can define themselves against it.

Modern impediments to free speech arise because small groups of humans have new abilities to disrupt the bazaar.

They can spam a single message, they can overwhelm normal discourse, and we have learnt that emotion over comes reason regularly. That's how the brain is designed.

In the same way environmental rules are made to prevent abuse of the commons, or pollution of common land, rules _will_ be made to "protect" free speech.

How those conflicting ideas will be meshed, is beyond me.

Without such rules, motivated people can and _will_ abuse/spam the shit out of a communication channel in order to take control of it.

fundamentally - the human brain itself is un-prepared for this environment.

Therefore, rules will be made to ensure that the human brain is not completely harmed by it.

<comment><USER4> I don't understand why nobody came up with a technical solution for this problems yet. It can't be that complicated. Make a better Twitter. Add reputation management. Enforce strict rules on argumentation. Reduce/forbid redundant arguments. Add better structure for arguments. Arguments should be as short as possible but not shorter. Add ratings to arguments (a la hackernews).

<comment><USER5> It won't work for the same reason it doesn't work for reddit - it still needs to be maintained by a human. Which means that bias and agendas will enter at some point of the process and there's absolutely nothing a mere user can do about it.

>Add reputation management

Doesn't work at all for reddit, the "karma" means nothing, the karma requirements for some subreddits only make it harder for new users to join or to have any kind of a meaningful discussion. On top of that posting in some subreddits automatically gets you banned from many others, regardless of the opinions actually expressed, which means you can't even try to have a meaningful discussion with people holding an opposing view. Not like it matters though, any solid argument is labeled as "concern trolling" anyway and thus deemed banworthy.

>Enforce strict rules on argumentation. Add better structure for arguments. Arguments should be as short as possible but not shorter.

Again, a human will have to do that, which in case of reddit means biased moderator decisions, selective enforcement of ToS and admins editing your comments.

>Add ratings to arguments

Easily gamed, as evidenced by any upvote system (reddit especially, their "anti-brigade" measures are laughable and pretty much punish everyone aside from the people who are actually "brigading").

</comment></comment></comment></comment><comment><USER6> In 2016 the US was still vulnerable to a Kardashian style PR stunt attack. Trump performed this attack over and over again and garnered an estimated $2B of free advertising from it.

Trump used Twitter to do this, but he could have used other social media. Trump's tweets were not newsworthy because Twitter routed them to millions of people but because large media firms wanted to monetize the hysteria created by the tweets so they had their newsrooms run coverage of each and every tweet.

<comment><USER7> _> In 2016 the US was still vulnerable to a Kardashian style PR stunt attack. Trump performed this attack over and over again and garnered an estimated $2B of free advertising from it._

This hits the nail on the head. Late stage capitalism has completely fused media, news, and entertainment. This means that any person or organization who manages to "hack" the news cycle (i.e. finds a way to be in the spotlight on a very regular basis) can reap great profits. Like a presidency.

I don't agree that he could have used any other social media to the same effect. Information propagates and decays on Twitter much, much faster than on other mainstream platforms: if I post something, everyone who follows me sees it right away, and very few tweets are seen a few days after they have been posted. No other mainstream social network is like this. These properties have led to Twitter becoming the new AP stream for journalists, aka the entry point to the news cycle. If you want to dominate the news cycle, dominate Twitter - be it with racist tweets or asking for free chicken nuggets.

Twitter as a media apparatus has naturally played a great part in electing Trump. The Twitter leadership isn't composed of economists or political scientists or sociologists, so of course this kind of stuff lies completely outside of their concern (unless it brings good PR, like it does now). Same goes for Facebook, although the role it plays in the equation is different.

<comment><USER6> > I don't agree that he could have used any other social media to the same > effect. Information propagates and decays on Twitter much, much faster than > on other mainstream platforms

I certainly agree that Twitter's characteristics are unique, but I think there was also a lot of awareness of Trump going into the election and so I wonder if he could have done the same thing with a simple blog.

My biggest curiosity is that now that he's shown that the attack can work, how many candidates will enter the next election doing it and how unusual will they be...

<comment><USER7> _> how many candidates will enter the next election doing it and how unusual will they be..._

2020 is still a while away, but a few leads:

Kanye West:

"Rappers are philosophers of our now, celebrities are the influencers of our now, just look at the president. [Trump] wasn't in politics and won."

Mark Zuckerberg:

[https://www.theatlantic.com/technology/archive/2017/01/zucke...](https://www.theatlantic.com/technology/archive/2017/01/zuckerberg-2020/513689/)

</comment></comment></comment></comment><comment><USER8> If you're interested in this topic, I would highly recommend Neil Postman's book, "Amusing ourselves to death: Public discourse in the age of show business".

I agree with claims that Postman predicted Trump's rise back in 1985:

[https://www.theguardian.com/media/2017/feb/02/amusing- oursel...](https://www.theguardian.com/media/2017/feb/02/amusing-ourselves-to- death-neil-postman-trump-orwell-huxley)

The book is written about television, but the main ideas are still applicable to online newsfeeds and social media.

The book unpacks the phrase: "the ideas that are convenient to express become the content of a culture". If the most convenient form of communication is long-form writing in newspapers or pamphlets, people will get their information from (long-form writing in) newspapers or pamphlets. If it's television, they will get information from (visual, snappy, "entertaining") video. If it's Twitter, people will end up talking about ideas that can be conveniently expressed in 140 characters or less.

</comment><comment><USER7> _"I thought once everybody could speak freely and exchange information and ideas, the world is automatically going to be a better place"_

\- Ev Williams

 _" Really don't want to get in politics. I just want to help invent and develop technologies that improve lives. Feels so bizarre."_

\- Elon Musk

 _" For one week, political stories are off-topic. Please flag them. Please also flag political threads on non-political stories. For our part, we'll kill such stories and threads when we see them. Then we'll watch together to see what happens."_

\- HN Moderation team

It's okay, maybe some day Silicon Valley will realize that technology and politics aren't two concepts that you can neatly disentangle from one another, and that building tech never "automatically" makes the world a better place on its own. If you are touching human lives, you are "in politics".

<comment><USER9> this is why scientists and technologists should run for office. kind of 'if you don't want to do it, you're qualified'.

</comment></comment><comment><USER10> Somewhat concerning statements on their own.

> "I thought once everybody could speak freely and exchange information and > ideas, the world is automatically going to be a better place," Williams told > the Times. "I was wrong about that."

I'd like to see a more detailed look at why Twitter might not have been a good idea. I don't think that free, easy communication is a bad thing and I think it's powered an enormous change for good. The sentiment expressed in the quotes sounds worryingly similar to proponents of censorship.

I just think that Twitter is a bad way of communicating anything vaguely complex.

<comment><USER7> _> I'd like to see a more detailed look at why Twitter might not have been a good idea._

You've got the answer right in your post:

 _> I just think that Twitter is a bad way of communicating anything vaguely complex._

The medium is the message. Build a social network where the main mode of communication encouraged is short, eminently shareable quips, and the voices that dominate will be the ones like Donald Trump's.

<comment><USER10> I think there's more to it than that, which deserves a more thorough critique. How following and retweeting works, the difficulty of replying, search and more all play a role in this.

</comment></comment></comment><comment><USER11> Twitter is a simple technology that connects people, and the current presidency is IMO not their fault.

Twitter just brought up to the surface what was already there but hidden. I am sorry that everyone now has to go through a lot of pain with the current presidency. But I think getting there is the only effective way for society to realize that your (US) political, social and educational system (just to name a few) are completely broken. And you have got to fix it. Most people didn't know how bad it is fucked up, now it becomes obvious. You got the president you earned.

Twitter so just made it possible, that you are able to face your true challenges.

Don't blame the messenger...

<comment><USER12> > Twitter just brought up to the surface what was already there but hidden.

We "know" through pop science that Facebook makes you miserable:

[https://www.psychologytoday.com/blog/what-mentally-strong- pe...](https://www.psychologytoday.com/blog/what-mentally-strong-people-dont- do/201603/science-explains-how-facebook-makes-you-sad)

On some level that's a mechanism that's "already there" in everyone, but Facebook is clearly more than a messenger if it influences how we feel. It wouldn't be surprising to find out that Twitter has a negative impact on us as well.

But I agree that there are many systemic problems that Twitter has nothing to do with.

</comment></comment><comment><USER13> I stopped using Twitter after the election. The inability to express complex, nuanced, thorough ideas and responses, combined with its popularity (or at least, mass media influence), directly lead to Trump's election. The character limit, which I had perceived as merely an inconvenience for years, is actually a fundamental flaw which enabled a demagogue like him to succeed, and I refuse to participate in that stupidity any more. If Ev really wants to make amends, he should get Twitter to immediately expand the character limit to take away Trump's excuse for short, inflammatory posts, forcing him to try to actually put together coherent, intelligent sentences that express fully thought out ideas.

<comment><USER14> I was thinking about stopping using Twitter but then realized that I'd never begun using it.

</comment></comment><comment><USER15> Twitter is not a discussion forum. It is great as a polished RSS feeds reader & writer combined though. You can share quick messages and respond to people with Twitter, sure, but that is more like texting. Useful as it may be, it's still not the best way to discuss with someone, let alone with several people together. But brevity and repetition make Twitter an ideal medium for propaganda. No wonder some people use it as such.

</comment><comment><USER16> I wonder if he gets the irony, or he just doesn't get it?

A large part of why people lashed out and voted Trump was their impression places like Twitter censored their point of view.

</comment><comment><USER17> I'd say this is an Orwellian statement, but at this point i got so used to Twitter silencing voices they disagree with i'm shocked they didn't just ban Trump long ago, since they banned people for pettier reasons multiple times.

Hillary got more support on Twitter than Trump. The reason places like Twitter helped Trump in any signifficant fashion was that they let Trump reach people directly, and not through the media which are still lying, and slandering the president, and trying to paint a false picture of what's going on in the country.

</comment><comment><USER18> AKA:

> Twitter co-founder: I'm sorry we didn't use our platform to silence an > opposing view point.

Shame. Silencing someone else because you disagree makes you many, _many_ times worse than them. Sunlight and exposure is the best disinfectant, not this play.

<comment><USER19> Hey, if you want to legalize government propaganda go ahead. It's pretty clear sunlight is an ineffective disinfectant in that scenario.

<comment><USER20> > if you want to legalize government propaganda

Some argue that the Smith-Mundt Modernization Act of 2012 already did that:

[https://en.wikipedia.org/wiki/National_Defense_Authorization...](https://en.wikipedia.org/wiki/National_Defense_Authorization_Act_for_Fiscal_Year_2013#Smith- Mundt_Modernization_Act_of_2012)

</comment></comment></comment><comment><USER21> As much as I dislike Trump (for being an obvious Putin shill) and Twitter (for the mindless 140-character "discourse" it propagates), it is absolutely not Twitter's fault Trump got elected. It's that Democratic Party has completely dropped the ball on messaging, strategy, and choosing the right candidate for the job. And they still won't admit it, which means they'll keep on losing. Blaming Twitter or other media won't solve anything.</comment>


Show HN: Automated migration of WordPress (and other) sites to a new host or URL - <AUTHOR> https://magicmigration.com <comment><USER2> For leads, you could potentially talk to hosts, such as WPEngine etc, about getting a link or mention in their FAQ about migrations? I'm sure if it's a useful tool (haven't tested) or has good help docs, it wouldn't be a threat.

<comment><AUTHOR> That's a great idea. A lot of work has gone into this so I think it would be a very good fit for that. Though you're walked through the process I probably should add more documentation.

</comment></comment><comment><AUTHOR> I would love any feedback possible, including thoughts on pricing. Any suggestions on finding users for this tool would be great too. Thank you to everyone in advance!

<comment><USER3> I'd like to reach out via email but don't see any info in your profile. Is there another channel?

<comment><AUTHOR> You can use the 'Contact Us' form at [https://magicmigration.com/contact/](https://magicmigration.com/contact/) and I'll get it and will reply via email.</comment></comment></comment>


Show HN: (WIP) Axel = Haskell and Lisp - <AUTHOR> https://axellang.github.io <comment><AUTHOR> Axel is a programming language project I've been working on for a couple years to scratch a personal itch: namely, to help alleviate the pain of Template Haskell by integrating a Lisp-esque macro system into Haskell. Axel's syntax is Lisp-like but the semantics are those of Haskell, so (IMHO) it's a happy medium between the two.

It is still very work-in-progress (as the GitHub issues make obvious), but I can no longer resist the temptation to share :-)

Any feedback/questions are appreciated – this is both my first non-trivial PL project _and_ Haskell project, so I'm sure there are many areas for improvement.

<comment><USER2> That is amazing, well done. I think it deserves more discussion so hopefully I can start some.

I've dabbled in Haskell and Lisp but really just touched the surface.

My question is how hard was it to do macros with Haskell where I assume it needs to produce code that is strongly typed. If you write a macro that produces a typing error, does it just crash, or return a Err from a Either Program Err? But then you have something that could "crash", because what do you do with that Err. It would be probably impossible to type check a macro in general at compile time (as in the first compilation, not compilations done at runtime), since it has unlimited potential inputs.

Other question is how doe this compare to Racket? Did you use Racket to build this?

<comment><AUTHOR> Thank you (sorry for the late reply)!

The macro system is not strongly-typed in the sense that Template Haskell is: you can totally use a macro to create invalid Axel code. _However_, the resulting transpiled Haskell code will then fail to compile, so mistakes are still caught at compile-time. (There's no runtime code generation (at least not yet), since all macro expansion happens at compile-time.) I hope this makes sense; I'm not 100% sure what the right terminology is to be honest.

You called it, I'm basically just using `Either` for error-handling (well, the equivalent version in the Polysemy library). It's basically like `EitherT`, except IMHO more ergonomic. However, since I'm using the transformer version, I'm just exiting the entire program on an error and printing an error message.

Regarding Racket, I hope you don't mind if I quote myself (from [https://github.com/axellang/axel/wiki/Why- Axel%3F](https://github.com/axellang/axel/wiki/Why-Axel%3F)):

> Axel was originally inspired by the excellent Hackett project, which adds > Haskell's semantics to Racket's syntax and ecosystem. Axel is the "opposite" > of Hackett, so to speak, in that it adds Lisp's syntax to Haskell's > semantics and ecosystem. Axel tries to make the migration from Haskell as > seamless as possible: You can gradually migrate a Haskell project to Axel if > that works best for your project; Axel can (soon) auto-convert a Haskell > project or file to the corresponding Axel syntax; etc. If you really love > Racket (its libraries, hygenic macro system, etc.), however, Hackett's an > excellent choice.

</comment></comment></comment><comment><USER3> Didn't we have that before already? Liskell I think was the name. Decades ago.

<comment><AUTHOR> Good catch, you are correct. I tried to justify creating something new on [https://github.com/axellang/axel/wiki/Why- Axel%3F](https://github.com/axellang/axel/wiki/Why-Axel%3F) under "... Another Lisp?" (apologies for the "marketing" feel, and for quoting myself :-P ):

> Axel aims to be a spiritual successor to Liskell. At the time of writing, > Liskell's last commit was in 2009, so Axel tries to take over where Liskell > left off. Axel hopes to provide a production-ready Lisp on top of the > Haskell ecosystem, while emphasizing developer experience along the way.

If nothing else, I'm also hoping to just give the idea of a Lisp-like Haskell another chance, 'cause I think it's cool :-)</comment></comment>


Digg caught red handed faking ad votes? - <AUTHOR> http://catalyticnarrative.blogspot.com/2009/10/do-you-digg-fraudd.html

<comment><USER2> Are you sure this isn't just due to load balancing? You might be hitting a different node everytime, they probably don't sync too quickly, and with the amount of traffic digg gets, the numbers could easily vary by that much in a fairly short period of time.

Assuming malice seems premature.

<comment><USER3> It should be relatively easy to prove... Poll the results for ~1 hour for all (or front page only) stories. Generate proper statistics for the speed of change for each entry (stddev per article per each phase - raise, sustain, fall). If all ads jump as much as this sample, it would be quite easy to show the difference.

Even a side-by-side graph of votes for articles and for ads should show a if anything strange is going on. But showing a sample of size == 1 is more or less pointless.

</comment></comment><comment><USER4> I literally haven't been to digg ever since discovering HN oh so long ago...

The open, friendly, transparent process here is a very welcome relief from the ongoing war between users and moderators, the latter of which are constantly engaged in silently burying articles as they're submitted, blacklisting sites just because users submit their own content, and banning users for no good reason.

Thank god for HN :)

<comment><USER5> Are you sure you don't have the two sites confused? Moderators play a lot larger role on HN than they do on Digg, which is one of the reasons this site is better (though it also creates the potential for it to be a lot worse).

<comment><USER4> I'm not against moderation. Read my post again clearly: it's the _transparent_ moderation that rocks.

<comment><USER6> I often click on HN stories through RSS to find the link "[dead]" with no explanation or reason why.

</comment></comment></comment></comment><comment><USER7> Those actually have subtly different titles (except for no. 1 and no. 3, which both have the same number of diggs). Looks to me like they just have multiple ad units for any given advertiser.

</comment><comment><USER8> Does it really _matter_ if they're forging the digg count for the ads? Please forgive my ignorance as I am not a frequent user of that website, but the ads aren't things that naturally get put on the page, are they? The amount of "diggs" that an ad has is irrelevant to its placement, no?

So...who cares? This is a bit like getting angry about a diner claiming that their soup is "famous".

</comment><comment><USER9> are there anyone who cares about digg these days?

<comment><USER8> Their traffic suggests that there are quite a few people that do.

<comment><USER9> could you document that traffic?

<comment><USER8> No, sadly, I cannot. My suggestion would be to visit the website. If you do, it is pretty obvious that they're getting quite a bit of traffic.

<comment><USER9> In what sense does this prove that they are receiving quite a bit of traffic? I see one article, <http://digg.com/linux_unix/Ubuntu_9_10_Karmic_Koala_released> got 1512 users, which means we have proved that digg.com got at least 1512 unique users. Granted, that this is not a fixed voting system of course. Secondly, how do I quantify 'quite a bit'? I think we can settle to say that you got no proof nor documentation that shows us the amount of traffic that digg actually got.

</comment></comment></comment></comment></comment><comment><USER10> sssssssssssss</comment>


Ask HN: What is an ex-corp. employee, turned entrepreneur supposed to do? - <AUTHOR>

HN, I don't know what is wrong with me.-Let me give you a brief look into the past few years: -June, 2012 : graduated college - IT major -July, 2012 : got a job 2 weeks after graduation - great pay,  good benefits, GREAT people. Horrible position esp. hated the IT they were using, annoying mid-level management ... I hated not being listened to when i had something meaningful to contribute, not to mention 24/7 on-call and a meager raise (3%, but was prorated to 1.2% because i hadnt been there a year) Stayed there for 1.5 years.Nov 1 2013 : I had, had enough - voluntarily quit the position  to start my own company in a field I hadnt formally worked in before, but learned a good amount at the previous position.Today (02/18/14) : Been at it since Nov 1, and for lack of a better word: its been real tough. The results: I've lacked a huge network with people who could help me (I've spent a lot of these past months networking within 50mi of my area making more contacts) -I've reached out to endless contacts I've known in the past (for intros to people who may be applicable first customers) - with varied results:
- some have provided me some good leads to people to talk to, some just dont respond at all, some are wishy-washy saying they know the CEO at X large co and I'd be happy to make an intro (then I never hear anything back - after multiple followups)
-I've done some cold emailing (via Linkedin) - people claiming they arent the right person, I reply back with apologies, can you lead me to the right person? Thank you. Nothing back..I'm just really at a loss, I told myself Nov 1 13' that I wouldn't be going back to a corporation if I could help myself. I've probably spent anywhere from 2.5-4k so far of my own money.What is a 25 year old to do? <comment><USER2> 1) Use paragraphs.

2) I can't tell if you have a product that you are trying to sell or even what the industry is you are targeting. I doubt you will get useful advice without specifics.

Whatever it is you haven't given it long yet (4 months?), what results were you expecting by this point?

</comment><comment><USER3> You could start by telling people what exactly you are trying to do.

<comment><AUTHOR> InfoSec startup primarily focused around webapps</comment></comment>


Postatic lets you create your own Hacker News - <AUTHOR> http://www.postatic.com/main/home

<comment><USER2> I hate this. Hate, hate, hate it. This technique from the "Lean Startup" movement to gauge whether an idea might have legs by putting up a fake landing page, and then harvesting email addresses.

Hate it.

Feels actively dishonest.

<comment><AUTHOR> What I hate even more is blatantly copying from a project that already exists. Sure, the target audience is different and the focus is on people who don't know how to code.

But where's the business model? Will they be hosting the "HN clone" on their own servers? I thought Reddit already does that.</comment></comment>


Machinic Conversations I: Hacking an industrial 6axis robot - <AUTHOR> http://www.iaacblog.com/blog/2013/machinic-conversations-i-hacking-an-industrial-6axis-robot/

<comment><USER2> Amazing! This is the kind of stuff I want to see more at Hacker News!</comment>


Thought Experiment: An Introductory Compilers Class - <AUTHOR> https://semantic-domain.blogspot.com/2020/02/thought-experiment-introductory.html <comment><USER2> I disagree a bit with the premise. I feel that the most important part of a compilers course is communicating that _compilers are not magic_ , that none of this is magic. Good developers need to be able to see through their abstractions when necessary, and it's too easy to treat compilers as a black box.

As a slightly different concern, I think the curriculum above runs the risk of giving the impression that even if compilers aren't magic, they definitely need a lot of heavy duty abstract math. I'm not in favor of this either.

With that in mind, my ideal compilers course would probably take an intuituve approach to lexing, recursive decent parsing, and extremely simple tree- walking, stack-based code generation. Keep calm, it's all just data and basic algorithms.

My college education had the effect of lowering my expectations of my fellow students, so a more sophisticated course may be appropriate in some cases. YMMV.

<comment><USER3> Personally, I feel that a compilers course should actually be about learning how to build a compiler. After all, the only reason to take a compiler course is because you want to--it's not going to be on the necessary track for a degree. The attitude of "you're not going to remember anything about compilers anyways, so let's make this an advanced math class" is quite frankly insulting, most especially to people who _actually_ want to take a compilers course to learn about compilers.

<comment><USER2> I mean, I wouldn't object to having compilers be mandatory. Out of the other side of my mouth, I like to say that a compiler has great properties for teaching actual software engineering, e.g. managing complexity, dealing with changes (hey kids, we're adding a new syntax feature! Now we're adding closures!), while still teaching you that compilers aren't magic... so that's another approach I would endorse. At that level, you actually would want some formality, but you could add it gradually.

</comment></comment></comment><comment><USER4> I tried to add a comment on the source page, but that's not possible if you don't have a Google account. So I'll add it here.

There are two great resources for an introduction to compilers. First, "The Unix Programming Environment" has a chapter on programming tools which builds the equivalent of the Unix 'dc' desk calculator. This includes variables and procedures, so it's non-trivial.

The second one was first posted to USENET by (as I recall) Jack Ganssle called, "Let's Build a Compiler". This is notable because it builds a recursive-descent compiler, rather than the usual LALR ones.

Considering the intent was a course for beginners, I think much of what that page wants to cover is more suitable for a _second_ course. If you go through the UPE book first, you'll be in a much better position to slog through the Dragon book and get all those low-level things.

</comment><comment><USER5> Introductory compilers classes should drop LR parsing as a topic. It takes a huge amount of time to teach and while it is mathematically elegant, it isn't really a good approach to writing a compiler front end that produces high- quality error messages. Teach recursive descent and move on to more interesting topics.

<comment><USER6> I'd go even further. Minimize the exposure time to parsers.

We started my undergrad compilers class with several weeks on parsing. I think it's by far the hardest aspect in all of compilerdom -- and as a Lisp programmer, I didn't understand the need to be tortured that way.

I do understand on a theory level why parsers would get put first in a compiler class, but they're a tremendous barrier to entry and just make the whole subject seem inaccessible. There's lots of other ways I can think of which would make it easier for newcomers to get some traction on the subject of compilers.

<comment><USER7> I don't agree that parsing is the hardest aspect in all of compilerdom. More like parsing is the least interesting part of what makes a compiler. Perhaps as you allude to, use Lisp or S-expressions as the frontend language and then build the compiler as you don't need much of a parser. Then you can get straight to the more interesting bits.

</comment></comment></comment><comment><USER8> This is more like "Compilers for functional languages I", to be followed by about two more courses.

Non-optimizing compilers for simple imperative languages are straightforward. There's a front end, which turns

        a = b + c;

into

        b c + a =

which can be represented as a tree. Then, for each operator, you generate code. So you generate something like

        load a0,b
        add a0,c
        store a0,a

Then you show how that can be generalized to cover functions, arrays, loops, etc. That's Compilers 101, Wirth's classic book on Pascal.

This article takes a completely different approach. All functional, all the time. Not sure whether this is good or bad, but it's definitely different. Is what this guy is promoting mainstream in advanced compiler work today, or is he off in his own world?

One issue with functional everything is that naive functional compilation is very inefficient. If you write

        f(g(a))

where a is some kind of big collection, and g produces a similar collection as output, then you have an intermediate variable which is itself a big collection. Much of functional programming optimization is about trying not to generate big intermediate values, but converting the problem to a pipeline instead.

<comment><USER9> About the last paragraph, R and Pandas both have that issue. (Although I'm not sure if it's a bottleneck in typical code, since there are other problems too.)

But Julia and the newer Weld compiler apparently have loop fusion:

[https://julialang.org/blog/2017/01/moredots/](https://julialang.org/blog/2017/01/moredots/)

[https://dawn.cs.stanford.edu/2018/07/30/weldopt/](https://dawn.cs.stanford.edu/2018/07/30/weldopt/)

</comment></comment><comment><USER10> My favorite introductory compiler book is Niklaus Wirth's "Compiler Construction", which implements a compiler end-to-end with full source code, in a bit more than 100 pages: [https://inf.ethz.ch/personal/wirth/CompilerConstruction/inde...](https://inf.ethz.ch/personal/wirth/CompilerConstruction/index.html)

</comment><comment><USER11> Rather than teach compiler construction, maybe we should instead teach language design with an added implementation component. Compiler construction on its own seems like too dry of a topic for most students, and I say this as a PL PhD. Language design might attract more interest, and provides more context on why you would want to write a compiler in the first place.

<comment><USER12> That's interesting. What would you teach in the language design part of the course? By the time compilers are taught (2nd or 3rd year undergraduate), most students rarely understand advanced language concepts, whether call/cc, GADTs, higher-kinded types, or type-based lifetime tracking, message-passing vs shared memory parallelism etc, let alone the tradeoffs involved in the design space.

Note also that there is no scientific consensus on what makes for a good programming language.

</comment></comment><comment><USER13> I feel like this might still be too high level. A better approach may be to teach by the example of writing a basic FORTH environment from machine instructions, then basic helpers written in the language, and working up from there.

Various types of better things can be added in once there's something to optimize.

Edit: I was probably thinking of this version that I likely read a couple years ago:

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

Quoting their post

"" rwmj on Jan 28, 2017 [-]

This is a how-to-write-a-FORTH tutorial that I wrote a few years ago. It's particularly nice that you get to see how various control structures are implemented, like IF, CASE and even comments!

Part 1: [http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth...](http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth.S)

Part 2: [http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth...](http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth.f)

(github mirror: [https://github.com/AlexandreAbreu/jonesforth/blob/master/jon...](https://github.com/AlexandreAbreu/jonesforth/blob/master/jonesforth.S) [https://github.com/AlexandreAbreu/jonesforth/blob/master/jon...](https://github.com/AlexandreAbreu/jonesforth/blob/master/jonesforth.f) )

Previous HN comments: [https://news.ycombinator.com/item?id=10187248](https://news.ycombinator.com/item?id=10187248)

""

The immediate reply covers my feelings for how the __introductory__ class should proceed: minimal assembly and maximum programmer clarity.

"" rsaarelm on Jan 28, 2017 [-]

Working through Jones Forth got me up to speed on both understanding how Forth works and getting my hands dirty with some practical assembly coding.

Once I got a better idea of Forth, I also realized that Jones stays in assembly for rather long. He builds up the entire interpreter from raw assembly words, because you need the interpreter to start parsing textual Forth source. But you if you could somehow write Forth before the interpreter is put together, it would be quite natural to switch to Forth much earlier. And it turns out you can do that. Jones even defines the `defword` macro. But for some reason he makes very little use of it. Rewriting most of the code leading up to INTERPRET using defword was a fun exercise.

The next step would've been making the whole system bootstrapping by rewriting the assembler in Forth, but x86 machine code generation is hairy enough that I bailed out at this point. ""</comment>


Biblical-Type Floods Are Real, and They're Absolutely Enormous - <AUTHOR> http://discovermagazine.com/2012/jul-aug/06-biblical-type-floods-real-absolutely-enormous

<comment><USER2> The author is probably hating whatever editor gave it that title. In the text, "These were not global deluges as described in the Genesis story of Noah, but were more focused catastrophic floods taking place throughout the world. They likely inspired stories like Noah's in many cultures, passed down through generations."

A Biblical flood was 1) proximately caused by a long period of rain and 2) covered the world. Glacial dam breaks, like those which caused the scablands, are not.</comment>


Swift as a C Language REPL - <AUTHOR> https://medium.com/@levwalkin/swift-as-a-c-language-repl-a3cb14199c4c <comment><USER2> GDB can be used as C language REPL since at least late 90's, and lldb as well.

And if their pseudo-REPL features aren't enough, there are a couple of C interpreters to choose from.

[http://www.softintegration.com/](http://www.softintegration.com/)

[https://gitlab.com/zsaleeba/picoc](https://gitlab.com/zsaleeba/picoc)

[https://root.cern.ch/cling](https://root.cern.ch/cling)

<comment><USER3> What would I have to do to use gdb as a C repl? I'm not very familiar with gdb other than using the backtrace to debug segmentation faults.

<comment><USER2> Compile your executable with debug info, and then make use of gdb expressions.

[https://sourceware.org/gdb/current/onlinedocs/gdb/Expression...](https://sourceware.org/gdb/current/onlinedocs/gdb/Expressions.html#Expressions)

It is not fully featured REPL, don't expect to use it to create stuff on the fly, it is more to query and call existing code.

For a proper REPL, check one of the listed interpreters.

<comment><USER4> So what you are saying that it's not actually a C REPL. It's a GDB expression REPL which is very different. What was the original point of your comment?

</comment></comment></comment></comment><comment><USER5> A C REPL in ECL (Embeddable Common Lisp):

[https://www.reddit.com/r/lisp/comments/bgwtsh/fun_ecl_hack/](https://www.reddit.com/r/lisp/comments/bgwtsh/fun_ecl_hack/)

It can be as simple as:

      (defun c-repl ()
        (loop (fresh-line)
              (princ "c99> ")
              (let* ((form (read-line))
                     (func (eval `(let ((*compile-verbose* nil))
                                    (compile nil (lambda () (ffi:c-inline nil nil :void ,form)))))))
                (funcall func))))

      > (c-repl)
      c99> printf("HELLO world!\n");

      HELLO world!
      c99> { for(int i=0; i<4; i++) printf("*"); printf("\n"); }
      ****

(Though that doesn't expose all features of C. More work is required to turn it into complete REPL.)

Fun thing is, you can just paste the above defun into your ECL REPL and execute it :).

</comment><comment><USER6> Would not be my first choice. A good REPL allows you to write code quickly and off the top of your head. As article notes, Swift's C pointer/buffer semantics are absolutely horrendous, liable to melt the top of your head instead. If you understand C it just gets in your way. If you don't understand C it gets in your way even worse. Working with ObjC classes is cleaner, but even that has bridging issues.

Incidentally, the Swift REPL itself has another nasty misfeature: it always outputs the fully introspected debug representation of complex values, rather than calling `description`/`debugDescription` where available. Not really an issue when working with pointers, but for native structs and classes with complex internal state it can print screens and screens of unreadable noise, totally defeating the purpose. Conversely, the GUI-based "Swift Playgrounds" REPL prints line output right but lacks the CLI's persistency so re-evaluates _all_ lines every time a new line is entered, making it useless for stateful work.

TL;DR: Swift's a hairy mess. _[paraphrased jwz aphorism goes here]_

<comment><USER7> > _As article notes, Swift's C pointer /buffer semantics are absolutely > horrendous, liable to melt the top of your head instead_

They look perfectly fine to me. What did you find troubling?

> _TL;DR: Swift's a hairy mess. [paraphrased jwz aphorism goes here]_

The only mess described thus far is in the REPL/Playgrounds for the language, which are not themselves "Swift".

<comment><USER6> There are _ten_ different pointer types, all with different and not easily memorized APIs.

<comment><USER7> Well, it's all in the name, no? And the use is rather obvious, mutable vs not, typed vs not, and buffer types (contiguous memory with count of items) or not.

If only C had those how safer it would be!

<comment><USER6> "If only C had those how safer it would be!"

Indeed it would be, because then no-one would want to use C.

All languages are abstractions, but there are good abstractions and there are bad abstractions, and a truly depressing number of Swift abstractions fall firmly in the "not good" camp.

A well-designed type system abstraction would support and encourage free and open-ended composition of clearly-defined individual orthogonal concerns. Thus mutability would be a composable trait, `Mutable<Pointer<…>>`, untyped would just be `Pointer` without a constaint (Void being the default), and buffers would likewise be expressed via constraint, `Pointer<Buffer<TYPE,COUNT>>`. But Swift's type system was designed by amateurs; its inconsistencies and lack of expressivity resulting in a stdlib that's a bloated convoluted mess as it struggles around those limitations. (Makes even Ruby's stdlib APIs look clean, consistent, and concise!)

<comment><USER8> > But Swift's type system was designed by amateurs

LOL. The amateurish type system design is the one you've described. Mutable<Pointer<...>> either makes the wrong thing mutable, or makes too much stuff mutable. Pointer<Buffer<Type, Count>> would make the whole language more complicated, and it doesn't solve any of the problems Swift's pointers solve. The Swift devs in fact are _not_ amateurs, and it shows in how they managed to keep things simple, instead of convoluting the problem with total I-am-a-very- smart-Haskell-programmer complexity.

> Thus mutability would be a composable trait

I mean, this is a major tell. You don't just hand-wave mutability being a composable trait.

<comment><USER6> "Mutable<Pointer<...>> either makes the wrong thing mutable, or makes too much stuff mutable."

You may be reading `Mutable<>` overly literally. I just used generic notation for familiarity; that doesn't mean it'd map directly to a struct. Have it be a `mut[able]` keyword if you prefer. The point is, it can be applied to any type, and eliminates the need for let _and_ var definitions.

"Pointer<Buffer<Type, Count>> would make the whole language more complicated"

Why? We've gone from ten single-purpose types to three general-purpose ones: Mutable<>, Pointer<>, and Buffer<>. (And, in practice, Buffer would merge with Data, so really it's two.)

"The Swift devs in fact are not amateurs, and it shows in how they managed to keep things simple"

Oh really. There is nothing simple about Swift, a language designed by C++ programmers to be a "better C++". Just the fact it implements every collection type (String, Array, Dictionary, Set) twice—once as a class and then again as a struct—puts the lie to that.

And then, of course, adopted by Apple and bodged into a "better ObjC++". Which has even more hair on. See also:

[https://www.quora.com/Which-features-overcomplicate-Swift- Wh...](https://www.quora.com/Which-features-overcomplicate-Swift-What-should- be-removed/answer/Rob-Rix)

"You don't just hand-wave mutability being a composable trait."

And yet, C's `const` is composable. (Albeit not as a trait of the type itself, but I can't think of a reason it couldn't be.) Plus, with [im]mutability disentangled from collection implementation and a general purpose "pointer" for referring specifically to variables, the class+struct duplication can be eliminated. Let the user describe the behavioral constraints for their code, and leave the machine to decide when to allocate on heap vs stack and when to reference-count, single-owner/borrow, or pass-by-value.

I may not know much about compiler engineering, but I do have a bit of experience in (Lisp-y) language design. Whereas the Swift team are compiler engineering wizards (no contest), but compiler engineers do not necessarily make good language designers (since they're liable to design it to suit the language's compiler engineers rather than its end users).

<comment><USER8> Your idea of complexity is totally backwards. Swift has some types that do different things. Maybe you could add features, thought out to a vague level, that infect every part of the type system, and require redesigning major parts of how the language works, so you can define a few less types! C/C++ have const [which doesn't work well], so _surely_ you can just throw such a notion into Swift's type system! Well that's not gonna make the language simpler.

Go make a statically typed language with Mutable<>, in some form. Then talk.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> There is the germ of an idea here, for sure. It is very easy to map C libraries to Swift. Binding LibPQ, for example, requires just a five line "module map" file:

[https://github.com/solidsnack/CLibPQ/blob/master/module.modu...](https://github.com/solidsnack/CLibPQ/blob/master/module.modulemap)

Once you've mapped in the library, trying it out interactively in Swift is easy and fun because of Swift's high-level features.

</comment><comment><USER10> Maybe if you had some super-short typealiases it would work, e.g. 'typealias UnsafeRawPointer = URP'. Otherwise, you get bogged down with all the casting and other FFI stuff. One alternative besides gdb is cling: [https://root.cern.ch/cling](https://root.cern.ch/cling)

</comment><comment><USER11> So `let` is being used to define a var that is lexically scoped to... the global environment?! I've noticed you can do this in Javascript as well. As a Lisp programmer, its very jarring and seems like a bad practice. Is there a reason you would do this?

<comment><USER12> In Swift, IIRC, `let` defines a constant reference to a value within the current scope.

<comment><USER6> Correct. `let` = constant binding, `var` = variable binding, and except for top-level (global) declarations they are always block scoped.

BUT, there is a gotcha: this "constantness" only applies to the name-value binding, not to the value itself. Thus you can still mutate the content of a let-bound value when that value is a class or class instance. Which kinda defeats the point of having the let/var distinction in the first place. C's `const` may have its priorities backwards, but least it does what it says on the tin.

(And let's not mention what a PITA Swift gets when you want to work with the contents of complex nested struct-based collections in a language that doesn't have native pointers/references. Again, it makes C look good.)</comment></comment></comment>