Save your Cleverness - <AUTHOR> http://tirania.org/blog/archive/2011/Mar-29.html

<comment><USER2> I tend to agree with the sentiment here; I like to play around with new ideas/stuff/software/architecture, and constantly look for way to make use of it day-to-day.

But if I've decided to take on a new project it's best to default to my usual stack (PHP (Kohana), MySQL Nginx) and rattle out the basics. It makes a lot of sense to solve a "hard problem" in an environment that is second nature to you; too many projects flounder because as well as the project you're also dealing with a new architecture.

(this is why I always dislike this idea of using a project to learn an language... it never works out)

Actually, as an example of this, I've been working on a new project at work recently which uses PHP/MySQL - but I've been looking into packaging it as a VM appliance, and the considerations/work related to that has put me about a week behind getting the actual project done.

<comment><USER3> >(this is why I always dislike this idea of using a project to learn an language... it never works out)

How than do you learn a language?

<comment><USER2> Small tasks, the tutorials. All sorts of ways.

But if you're learning Ruby, writing a Rails app is not necessarily a good way to start. And if you are learning Rails writing a full on project as you're introduction is going to flounder.

<comment><USER4> It depends - Rails has so many conventions used (magic behavior) that, while useful, you have to learn them all and even how to override that behavior, before being able to tackle anything else other than simple blogging software; although the learning experience is enjoyable.

On the other hand Django is an (arguably) thin layer on top of Python. You can start from the URLs specifications and how to construct a simple HttpResponse object. And that's all you need to know and how tutorials teach it -- for everything else you can rely on your previously learned skills, while learning shortcuts on the way.

For another perspective -- Rails learning is top-down, while Django is bottom- up.

</comment></comment></comment></comment><comment><USER5> Telling people to take shortcuts and write spaghetti code is a terrible idea. I'd venture to say the people nodding their heads have never had to deal with a million line code base with spaghetti code, duplication (50%), terrible architecture and no unit tests. How do you think it got that way? "We got a new client! We need X functionality right now! You want to re-architect? We don't have the time!" etc... etc... If your product is never successful its a moot point either way. If it is, you better damn well hope you have free time to both expand your product and re-architect it.

I'd much rather see a sentiment of "never sacrifice architecture for functionality but never let architecture drive your features."

<comment><USER6> The more I learn about entrepreneurship, the more I come to realize that writing the spaghetti is the way to go. Writing software quickly is much more important than writing it well. Of course, when you have a product that makes money you'll have to rewrite it, but by then you will have money to pay for developers... How do you think Facebook was created?

<comment><USER7> _> Writing software quickly is much more important than writing it well._

I would say that _releasing_ software is more important than continually delaying for amorphous "quality" concerns, but this is backwards. You want to write quality software. I've been on several teams that valued speed over quality, and in the end we always end up with a sad, fragile bit of software that's hell to maintain or add features to.

 _> Of course, when you have a product that makes money you'll have to rewrite it, but by then you will have money to pay for developers..._

Again, having been part of teams that operated this way: _later never comes._ Paying customers means people relying on your software. You can't just stop working on it to rewrite from scratch, and their bugs/issues/feature requests are _far_ more important than _refactoring_ (which they'll never notice.)

If you ever want good software, make it good from the start.

<comment><USER6> I really hate spaghetti code, but that is because I'm a developer. The sad truth is that the reason a lot of developers like you are hired to work on this kind of team is that somebody was smart enough to release software quickly and make a business out of it...

</comment></comment></comment></comment><comment><USER4> I totally agree with the sentiment, and I have always valued Miguel's work and opinions.

But this man started to work on a .NET clone as he was fed up with working in C for Evolution -- if building your own compiler when nothing else matches your needs and desires is not the ultimate form of yak-shaving, I don't know what is :-)

<comment><USER8> That's a yak-null; a first-order yak-shave.

Building your own hardware to build your own assembler to create your compiler to build your own OS to allow you to build your own CAD system to create your own board layout and test tools to build your own processor to create an assembler to...

There's always room for a higher-order yak.

<comment><USER9> _Building your own hardware to build your own assembler to create your compiler to build your own OS to allow you to build your own CAD system to create your own board layout and test tools to build your own processor to create an assembler to..._

You mean like Chuck Moore, the Chuck Norris of computing?

<comment><USER10> You may have it backwards: Chuck Moore doesn't compute. He tells electrons where to go, and they take orders. Inside every computer built by Chuck Moore, there is only another computer built by Chuck Moore. Chuck Moore once built a zero-instruction chip that always produced the correct answer. According to a doctor that wished to remain anonymous, Chuck Moore has only two internal organs: a whiskey processing unit, and a NAND gate. Chuck Moore once traveled back in time just to convince Alan Turing that his computer didn't need any I/O devices besides a tape reader.

SCNR

</comment></comment></comment></comment><comment><USER11> Author is right on. Reminded me of <http://news.ycombinator.com/item?id=2329105> \- drawing the line between work, play and deliberate learning.

</comment><comment><USER12> How do people deal with staff who are quite clever, but write very complex code? I know a person who is a very good engineer in that he understands the underlying principles, but writes horribly complicated code. I'm trying to get him to write simpler code, but haven't succeeded so far.

<comment><USER13> Start by talking to them about how you think they are really good at solving problems -- and how one of the challenges you hope they can solve is producing work that others on the team can understand and extend. They may need to first hear you acknowledge that they are talented and that you admire their work -- and then that you wish their work was more accessible to the rest of the team. The idea is that most good engineers will want to produce work that others can understand and appreciate. You just need to make it clear that you consider that part of the domain of problems they should be keeping in mind.

If this goes well, you might also want to acknowledge that this may mean taking less sophisticated, less forward-looking approaches. A lot of over- engineering is like over-training a model to historical data, assuming the future will be exactly like the past. Anyone who's worked on software for very long will be acutely aware that needs change over time.

<comment><USER12> Thanks all for the comments. I've tried all those approaches, but failed so far. I'll keep trying.

</comment></comment></comment><comment><USER14> Miguel plugs "Why Programs Fail." Does anyone here second that recommendation or have an alternative? I'm about to buy it, I think.

</comment><comment><USER15> Okay, I agree with the basic principle.

But why is it every time somebody writes a piece about focusing on the "stuff that really matters", whether it's the user experience, or actually shipping stuff, it always sounds to me like an excuse for taking unnecessary shortcuts? Since when is dependency injection a "fad"? What the f __* is wrong with writing unit tests?

Or in other words, what's wrong with building half-decent code the first time around? It doesn't take much more time and it makes refactoring afterwards so much easier. Using very common basic best practices when coding has nothing to do with over-architecting or trying to be clever.

<comment><USER6> I believe all of that is fine, the problem is spending too much time on it. For example, writing comprehensive unit test may be not much better than having just a few, because there is no way to test for every possible bug. Also, in some situations it is better to have code with a few bugs than no code at all.

<comment><USER16> Unit testing is more about documenting the expected behavior of software, not necessarily to test every possible contingency.

If you want to write dirty code on an initial run, and refactor later unit tests will help out a whole lot.

</comment></comment></comment><comment><USER17> _Take the shortcut. Build the product. And if later, it turns out you made a design mistake, refactor the code. But at least you will have a product that your users love._

This doesn't seem to be working with me. When you re-factor a part of your code, you are probably doing it for optimization. When your architecture is broken and you are going dark, I don't think you can still re-factor your whole code base and keep your customers happy. (Deadlines, bugs, downtimes, costs...).</comment>


Hand-Shaped iPhone Case, for Humans Who Prefer to Hold Hands With Their Phone - <AUTHOR> http://betabeat.com/2013/03/hand-shaped-iphone-case-for-humans-who-prefer-to-hold-hands-with-their-phone/ <comment><USER2> creepy</comment>


Helidon: Cloud native framework for developing Java microservices - <AUTHOR> https://helidon.io/ <comment><USER2> > a familiar, declarative approach with heavy use of annotations.

More mysterious decorator garbage. Run away.</comment>


Ask HN: Rate my startup - Simple security risk assessment - <AUTHOR>

The problem The security professional:  I need to do a security risk assessment to comply with policy or regulation (e.g. FFIEC). The organization has no risk assessment methodology and I am going to get buried in Excel. The pen tester: I need to explain the business impact of the technical vulnerabilities I have found. The cloud vendor: I need to pass a customer security review to get their business. The small business: I need a risk assessment process to comply with PCI-DSS: Includes an annual process: "12.1.2 identifies threats, and vulnerabilities, and results in a formal risk assessment".
How are customers solving the problem today? The security professional:  Write a new methodology based on OCTAVE, OWASP, ISO27005 etc. Develop a complicated set of spreadsheets. The pen tester: Use a simple high, medium, low risk rating or let the customer security department explain the risk to the business. The cloud vendor: Complete a spreadsheet and provide the same information in so many slightly different forms for every customer.
The small business: hire a contractor or consultant.
How are the current solutions deficient?
The security professional:  Re-inventing the wheel in every company. Spreadsheets are hard to manage, have no version control and are hard to collaborate on.  Current security risk assessment tools are difficult to use and tailored for operational or enterprise risk rather than security risk. The pen tester: Not actually rating the risk to the. business, passes the buck to the internal security team and reduces the chance of getting more business. The cloud vendor: Takes time and man power, treated as a compliance exercise, does not convince the customer their risks are mitigated and therefore loses the business. The small business: expensive.
Can you provide a solution to this problem that is a 'need to have' vs a nice to have? The security professional:  Software as a service, no need to re-invent a methodology, easy to use, share and report on The pen tester: Simple web or mobile based way to turn technical security vulnerabilities to business risks. Enables focus on core competency (breaking things) while speaking the business language and winning more work. The cloud vendor: Assess the risks once. Easily adjust for each customer. Shows the customer how their risks are mitigated rather than filling in a compliance list. Saves time and money. The small business: Simple process that can cut down consulting costs eventually eliminating them while still meeting the regulatory requirement.
Application in beta: link in first comment
Would really appreciate any thoughts and feedback <comment><AUTHOR> Link: <http://www.simplesecurityra.com></comment>


Simple to-do list without bullshit with execution control - <AUTHOR> https://dothis.link <comment><USER2> I tried it on my wife's phone. That's not bad at all.Minimal design is just a plus. I will try tomorrow in real life with a shopping list in the store.

</comment><comment><USER2> ios version?

<comment><AUTHOR> I do not know. I am not a developer.

<comment><USER2> Sorry</comment></comment></comment>


Tell HN: Finally made it on to Product Hunt - <AUTHOR> http://www.producthunt.com/posts/campus-bubble

<comment><USER2> Thinking that getting onto PH is a such a big deal is more of an indication that PH is horribly broken.

<comment><AUTHOR> Why do you say that? For us, it was an effort and it's already helping us generate leads. [https://startuplister.com/product-hunt- tips/](https://startuplister.com/product-hunt-tips/)</comment></comment>


Sugru is available for pre order now - <AUTHOR> https://sugru.com/buy/

<comment><USER2> really poor site, i have no idea what it is, despite looking through images.

<comment><USER3> It's quite nicely explain in their about page:

<http://sugru.com/about/>

"sugru is like modeling clay when you take it from its pack. Once it's exposed to air, it cures to a tough flexible silicone overnight using the moisture in the air. [It] is designed to stick to as many other materials as possible. It forms a strong bond to aluminium, steel, ceramics, glass and other materials including plastics like perspex. When sugru cures, it's flexible rather than rigid. Which means that you can repair things that need to be able to move like textiles, cables, or shoes."

<comment><USER4> They should put a description on the front page. I though it was one of those sugar gels marketed to triathletes.

</comment></comment></comment><comment><USER5> For everyone who's wondering what it is, I found a link on their site to the chemical information: <http://sugru.com/pdfs/FORMEROLsugru_MSDS_Oct09.pdf>

</comment><comment><USER6> Is this just plumber's epoxy? I've been using that stuff to fix things since I was like 12 years old.

<comment><USER7> If I understood things correctly, it's made of Silicon, not epoxy.

<comment><USER8> What benefit does that give? What makes this any better than existing products like milliput, green stuff, fremo or JB Weld, other than the fact it is marketed online to "hackers"?

I cant find any information that would tell me why I want this product, so I can only assume the market is people who don't know of existing cheap products to get the same effect.

<comment><USER9> I had a chance to examine some at Maker Faire and it has a rubber feel. Do any of these other materials? I'd be interested in alternatives because Sugru isn't cheap.

<comment><USER8> The products I mentioned are all hard once cured, with various surface textures.

Depending what you want silicone sealent (the kind you can buy in a hardware store for a few dollars for a large tube) may do what you want.

I just object strongly to buying a product whose main strength appears to be their marketing campaign, with no real information on the actual product being given out beyond how awesome it is.

</comment></comment></comment></comment></comment><comment><USER10> Old/Repost, Flagged: <http://news.ycombinator.com/item?id=1174181>

Additionally, it's nothing "new".

<comment><USER11> Except that it's now available for pre-order, which your other link distinctly does not mention.</comment></comment>


Australia Is Drifting So Fast GPS Can't Keep Up - <AUTHOR> http://news.nationalgeographic.com/2016/09/australia-moves-gps-coordinates-adjusted-continental-drift/ <comment><USER2> Try the previous discussion for more details - [https://news.ycombinator.com/item?id=12188144](https://news.ycombinator.com/item?id=12188144)

</comment><comment><USER3> >Corrections have been made to its latitude and longitude four times over the past 50 years, the Times reports. The last adjustment there, in 1994, was about 656 feet.

>The next adjustment is said to be due by the end of this year, on the order of 4.9 feet.

I don't understand. It moved 4.9 ft since 1994, but was moving more quickly before then? The NYTimes article doesn't seem to clarify this either. Were pre-1994 commercially available maps not based on satellite readings of lat/long?

<comment><USER4> Both the National Geographic article (linked above) and the NYT articles (linked in the Nat Geo) article are fairly low quality. No references or citations. Not up to HN's usual front page quality standard.

<comment><USER5> Also, the animation over-dramatises what is happening and makes it look like Australia is going to slam into Papua New Guinea soon. That's just.. bizarre.

<comment><USER6> Why? I think you'd see some earthquake or cresting of terrain when/if it two landmasses slowly but violently merge over years, but I wouldn't know.

<comment><USER7> First the plate is what's moving not just the landmass. Second it's moving really slowly. They are showing something like a million years of motion, and it's in the wrong direction. [https://en.m.wikipedia.org/wiki/Australian_Plate](https://en.m.wikipedia.org/wiki/Australian_Plate)

</comment></comment></comment></comment></comment><comment><USER8> Reading this article is quite painful due to all the measurements given only in feet & inches, why not give the data in both systems of measurement? Only 3 countries in the world have not adopted the metric system (Australia did) and this is about GPS and worldwide measurements. Not even NASA uses the imperial units anymore.</comment>


Ask HN: How do you control consulting work and concentrate on startup work? - <AUTHOR> I'm doing consulting to bootstrap my startup. Business has been great these past years. My problem is it's taking me so long to release my product. I also have a couple of other ideas that I can't find time to work on. The immediate income gained from consulting is very tempting for someone with a wife, a kid, monthly expenses, and mortgages. Consulting became the priority and startup work moved back. For those who experienced something like this, how did you handle it? How did you break free from consulting? <comment><USER2> Paul was right when he said not to do side consulting work.

For me it was simple; a 3-month consulting gig will give me a financial runway for the next year. So I am doing it, and nothing else. Come December 1st I will have enough to live comfortably for the next year, probably 2 years if I move to somewhere cheaper and bring my fiancee over.

<comment><USER3> Are you sure Paul was right? If you can pay for a years expenses in 3 months, it sure sounds like you're in a good position to hire; pay someone to reduce consulting workload, and pay someone to work product.

'mahmud, this isn't particle surgery. This is every real consultancy. Ever.

<comment><USER4> Presumably you're charging the rate you charge because you're you. You can't simply drop Junior Dev Jimmy onto the project and keep billing away at the same rate.

It doesn't take a very savvy client to notice when throughput drops by a factor of 10. So unless you're a body shop that's already sending out mystery devs, or you're very good at explaining away a huge drop in productivity, hiring is not going to help this situation at all.

<comment><USER3> Nothing in life is free. If you hire Jr. Mahmud to take over 80% of your job, and your aggregate productivity drops by 1000%, you will probably lose your client and be forced out of business.

So don't do that.

A steady $200/hr consulting gig offers an _awful lot_ of wiggle room to figure this stuff out. When we hire a new consultant, (a) we're very picky and (b) they tag-team with us on projects, often for months, without being billable. That costs money in the short term, but pays for itself in the long term.

Also, it's wrong to assume that a consulting gig has to be performed by one person. Time and again friends of mine have found that they could hire cheap for 20-40% of their project work (documentation, test harness coding, automation, etc) and then had that person grow quickly into a full-on replacement. And all due respect to 'mahmud's domain knowledge, but the examples I'm thinking of are pretty high end.

At the end of the day, this problem is a fundamental challenge of _running a business_ , and I have to respectfully/tentatively suggest that if you can't figure out how to hire and train a replacement for _your own work_ , you stand very little chance of running a successful software company, where you'll also have to hire QA, ops, marketing, and sales.

Think of this current challenge like a warmup.

<comment><USER5> Can you explain this? I don't understand it.

"they tag-team with us on projects, often for months, without being billable"

<comment><USER3> I hire Joe the Up-And-Coming Vulnerability Researcher (or rather, Cory does, since we hired someone to replace me 2 years ago so I could do more product work; see how this works?)

Joe and I work on projects together for 2 months.

I'm the billable resource on those projects. Joe doesn't bill.

I start out working _harder_ (I have to deliver for clients and ramp Joe up). Pretty soon Joe ramps up and we start delivering the same work a lot faster. Eventually, Joe's so demonstrably capable (in our case, he's finding the same number or more security vulnerabilities in code that I am) that he becomes a billable resource, scheduled just like anyone else.

Depending on who you hire, this process can take months, or it can take weeks. If you hire someone with experience in your field, it may not take more than a week or two. If you hire out of University, it might take 2 months. It's almost always worth it.

I actually think Matasano has a _harder_ time doing this than many other companies would. Our clients are extremely discriminating (we're a high-end firm) and we have to be very careful about hiring. We have clients that pick researchers from our firm by name. Staff bios go on every proposal. I can't imagine that this is the case for, say, iPhone development; most consulting companies are paying for an outcome, while security research contracts are paid in part for the process.

</comment></comment></comment></comment></comment></comment><comment><USER6> I'm not free from consulting (and want to continue doing it as well actually!), but a few points:

* I treat each of my own projects just like a regular client

* I consider all the projects like a 'scrum' of 'scrums' (ie: I get to prioritize between projects just like I prioritize inside a given project)

* for billable and non-billable projects, I take great care to ensure I keep a sustainable rhythm (I work a lot periodically when required, but not on the long run)

* I keep track of my 'pulse' with Freckle, very helpful

* for each project (home-made or not) I try hard to limit the amount of time I dedicate to it

* I keep high rates

* we've lowered our expenses quite far (including moving to a very cheap area in France, considering buying a house without a mortgage as a result etc)

In my case and when it's in control, consulting is both a risk-splitter and a great way to keep up to date and financially 'confident'.

As well I get to work in various, real-world situations that give me ideas for my own projects.

Last point: as I consider myself an investor investing in ourselves, where my resources (time/money/energy) are scarce, I find it great and sustainable to work this way, slowly building what I like.

<comment><USER6> Cross posting but relevant I believe:

<http://news.ycombinator.com/item?id=1604820> (techniques to prioritize between projects and inside a project)

</comment></comment><comment><USER7> I've been doing exactly this transition for the last couple of months -- transitioning from consulting to running a business and working on services (basically, a startup, just under my company's brand).

For me, trying to schedule "startup time" didn't work. There was always too much immediate consulting-type work to take care of.

So about a year ago I ran a Craigslist ad, spent a day wading through applications and making phone calls, and found someone that was willing to work on a part-time, on-call basis, for good wages but less than my consulting fees.

A year later, I've got a couple of people that I work with now -- sort-of employees-on-call -- and I was just able to take my first real vacation in 2.5 years. Everything was handled fine while I was unreachable. So now I've got plenty of time to work on software.

So, one solution is to run your consulting like a business for a while, grow it, get some contract help, stabilize it, and then manage it part-time.

<comment><USER8> I don't understand... sounds like you still have to schedule startup time around a job. Is it that you're working fewer hours than you were before? Wouldn't it have been easier just to take on fewer consulting hours?

<comment><USER9> Maybe he has a lot of pre-existing repeat-clients who always come to him for their tech stuff that he doesn't want to send away permanently.

<comment><USER7> Yes, exactly. And, both the consulting and the startup stuff are part of the same business, just different aspects of it.

I know it depends on the individual, but I find it a lot easier to concentrate on startup work when I'm not developing an ulcer over finances. (And I can't wait to stop developing ulcers over finances. ;-)

</comment></comment></comment></comment><comment><USER10> Treat the startup like a client. Juggle it into your schedule with the same priority as your other clients.

<comment><USER11> doesn't work. It fails for almost anyone that tried it. The only solution I can think (and trying now) is to pay someone to do it for you ;)

</comment></comment><comment><USER12> For me, it's been very important to just "keep moving forward" on my startup. At the end of every day if I'm at least one step closer to my destination, it's a win. Some days I get a huge surge of startup movement, some days my "money maker" zaps all of my energy and maybe I only answer one FAQ in my knowledgebase.

The bottom line is keep moving forward, and eventually you'll exit the workload brackish and emerge on the other end full-time on your startup.

I'm 100% bootstrapped and I'm going full-time on my startup November 1st - until then, babysteps shall continue!

</comment><comment><USER13> Charge more.

<comment><USER14> Not sure why someone down voted this, I think it's a good solution. Each time I had more consulting work than I knew what to do with, I'd raise my rates. Its a good way to throttle incomming work and either earn more money -or- what youre looking for: have more time for your startup.

<comment><USER13> I think I was too succinct. I'd disagree with "a good way" - it's "the way." Though you don't necessarily raise rates across the board, for every customer or every job. You do marketing. MARKETING.

Good customers, you explain your situation, raise your rates, but offer grandfather clauses if they're willing to guarantee some level of minimum work or pay upfront or with better terms. Bad customers, you double your rates overnight (and then do it again 3 months later). In between customers, you offer different packages that trade off them paying you more with them paying you more reliably, and/or offering you things that help you market your offerings better (referrals, testimonials, etc).

Additionally you specialize. If its something you don't like doing, you charge more. If its something that teaches you a skill that you can use for your nascent startup, you charge less.

Eventually if you're good, your "startup" becomes the R&D department to your burgeoning consulting business, and you've got something that feeds good things back and forth. The startup makes consulting more viable, and the consulting makes the startup more viable. Somewhere along the way you hire people.

</comment></comment></comment><comment><USER15> Have you tried prioritizing your startup like you do your consulting? I'm sure you meet all your consulting deadlines and requirements. I'm addicted to consulting right now and I've been using it to help bootstrap my startup ideas as well. I don't think I'll be backing off consulting until my startup ventures actually make as much money as my consulting and even then the consulting dollars will give me more options in promoting my startups!

I love the variety of consulting so much that even after my ventures bring success I will still want to do consulting because it gives me that instant achievement satisfaction.

Don't focus on breaking free from consulting and before working on any other ideas get that first product released. Set milestones and treat it like your other work.

I'm still consulting until I get my own projects off the ground, my first launch took 1.5 years to finish, my next launch will be in a fraction of the time.

</comment><comment><USER16> I can only do one large thing at work at a time, probably because I refuse to give up my leisure activities: I enjoy them and they keep me sane.

So I did a substantial 7-month consulting gig last year, collected the cash and have been working on my startup since.

Incidental details: 1\. I blew two months on a startup idea that was going nowhere. 2\. I live cheaply.

</comment><comment><USER17> Launch. Maybe see if you can postpone some of your features until v2 and just get something out there ASAP that people can use and ultimately pay you for. Easier said than done of course, but that's your real answer I think.

</comment><comment><USER18> 1\. Can you contract out any elements of consulting work to others to free up time? Perhaps some of the lower-value work? You'll make the spread b/w the rate you get and what you pay them. You'll profit less but gain incremental hours for your venture.

2\. Pick or find consulting work that "scales well" meaning it allows you to leverage (sorry for jargon) knowledge/things you've already done or built. This type of work will be more efficient for you, more profitable and you can reinvest saved time into your startup.

3\. Regarding multiple startup ideas, I'd pick one to focus on. Diversifying amongst startup ideas esp if unrelated doesn't work in my experience. It leads to doing them all half-baked which ultimately won't get you further from consulting which is where you want to be.

4\. As mentioned below, we treated our own company as a client which meant we acted with same sense of urgency as we would with other clients. It is a good way to make your own venture a priority else it always gets back burnered.

5\. This one is a bit drastic but exit the mortgage if you can by selling your home and renting. Fixed costs like mortgages can be like anchors for an entrepreneur. Take the money you may make and put some away for a rainy day fund for the wife/kids/you and a portion can be used to give your own venture some additional fuel or runway.

In same boat as you my friend so "feel your pain" although sounds like you have too much consulting biz which is a high class problem IMO.

Good luck. And if you figure out a "solution", pls let me know.

<comment><USER19> Don't sell your house though. Rent costs money too.

<comment><USER18> True. Perhaps it's me being in NYC where you can rent for significantly less than carrying cost of mortgage/maintenance on your own condo.

Plus why invest in real estate (highly uncertain and perhaps going nowhere in near future) vs. invest in oneself?

<comment><USER20> Selling for most people now is not a great idea for a couple reasons.

A) as the other person pointed out, you'll still likely have rent. As for bouncing around looking for cheaper rent, you typically get locked in to a rental agreement for at least 6 months, if not a year. You can't just move every month to save a few bucks.

B) Moving costs money (and time) in and of itself.

C) Selling costs. At least in the US, most housing sales are going to eat up 5-6% of the house price in commissions. On a $150k house sale, it's going to cost you $9k (plus, again, the time and expense of moving).

Unless moving is going to save you _significant_ expenses vs renting, it's probably not that wise to blindly sell and move. Assuming, that is, you even _could_ sell to someone in this market. It's not great in many areas for sellers right now.

If I could rent someplace $800-$1000 less than where I'm at now, I'd consider it, because the cost/expense would be recouped in probably a year, but I wouldn't go through all that hassle/cost/expense to save a couple hundred per month.

YMMV.

</comment></comment></comment></comment><comment><USER21> In his book The Innovators Dilemma ([http://astore.amazon.com/hypernumbersc-20/detail/B001I05ZVK)...](http://astore.amazon.com/hypernumbersc-20/detail/B001I05ZVK\)Christensen) makes a throw-away line that rocked me back on my heels.

He said something like "resources are allocated by customers not managers, so choose your first customers carefully".

The point is if your customers are for your consulting business they will allocate your resources in that direction.

</comment><comment><USER22> As soon as your startup brings in money this is no longer a problem.

Thus the solution is simple, at least in theory: make money. Now.

</comment><comment><USER23> To break fre, the way i would recommend is to save up enough money that you have a reasonable runway to pick one startup idea and pursue/iterate it intensely. Set a goal for how much money that is and save as rigorously as you can. During this time of earning money, you can at least do some customer development around your ideas. And my advice is that unless your consulting and your product are really tightly tied together, you are better off keeping them entirely separate from a legal perspective. If one or both start growing, keeping them together can get really messy. Obviously there are are exceptions to that.

</comment><comment><USER8> I'm still struggling with this myself, but these things are the ones I've tried that seem to be working:

1) Confine your contract time. I try to basically do contract work between 8am and 1pm. Other people only work on certain days.

2) Work with your clients to set priorities. Know what are the most important things to them, and tackle those first. This helps with....

3) Work a fixed number of hours. Don't do overtime. If you stay organized, estimate well, and stay on task, you can do your job and then stop.

4) Whoever else said to launch, I second this. You need someone yelling at you to get your startup shit done. Customers are very good at this job.

</comment><comment><AUTHOR> Thank you for all your replies. I'm learning a lot from them. I think I'd move towards hiring a promising junior dev to help me with my tasks. But I'm not yet sure if I'll have the dev work fully on the consulting side or the startup side. It might depend on the type of consulting work needed.

I guess my problem is also really because I'm a one-man startup. So finding a co-founder or startup team to help me on the startup side could solve my problem. Or it might be another problem too...

</comment><comment><USER24> Just curious as an outsider: what kind of consulting do you do? How did you get into it?

... guess this might be an "Ask HN"

<comment><AUTHOR> I do Java consulting (anything Java-related). When I was still an employee, I was freelancing on the side. When I resigned, I continued freelancing. An old client (from my freelancing days) hired me as a full-time consultant during that time and I've been working with them on different projects ever since. The client is aware of and fully supports my startup activities.

</comment></comment><comment><USER25> If there are at least two people in the company and one consulting can cover their expenses I think that's the way to go. MSFT (Paul Allen and Bill Gates) did consulting in Microsoft.

</comment><comment><USER26> Hire a junior programmer with potential. Go for cheap and good, not fast. Cash expense should exceed any opportunity cost of waiting if idea is good.

</comment><comment><USER27> I used to restrict to 4hr/day max and stick to it.

</comment><comment><USER3> Hire.</comment>


Rate my startup: Pixability.com - <AUTHOR> http://www.pixability.com/

<comment><AUTHOR> It allows for standardization across the board. By using only pre-selected cameras, we control for video quality, bitrate, audio format, etc. Essentially, it simplifies the entire process.

</comment><comment><USER2> why do u need to send me a camera? why can't I use my camera and send you the footage?</comment>


Ask HN: What online services are worth subscribing to? - <AUTHOR> <comment><USER2> Spotify Premium all the way.

It's not just the music. The algorithm for "Discover Weekly" is amazing.

The Spotify playlists are also good. They have everything and you can go crazy if you want to.

While you can get all this for free, no ads, unlimited skips, and offline music make subscribing worth it.

</comment><comment><USER3> VPN - ([https://www.ivpn.net/](https://www.ivpn.net/)) Music - ([https://www.deezer.com](https://www.deezer.com)) Cloud Service - ([https://chunkhost.com/](https://chunkhost.com/)) Lastpass</comment>


Haxe 2.10 - Now with Java and C# targets - <AUTHOR> http://haxe.org/doc/release/2.10 <comment><USER2> The documentation looks absolutely horrible. I can find in many ways how it can compile to multiple targets, but no easy way to find out how it actually looks like. Any "hello world" example that does not contain language reference? Maybe "a gentle introduction to haxe" before "compiler metadata"?

<comment><USER3> <http://haxe.org/doc/snip>

<http://haxe.org/doc/snip/hello>

<comment><USER2> I didn't say it does not contain a hello world example. However it really misses (or at least misses in some obvious place, like the first link) "a gentle introduction to haxe". For example if you go to python.org -> documentation -> there is a clear link "tutorial" with subtitle "start here". Hell, even php has a relatively easy to find "tutorial" as a first part of docs. You guys should really reorganize this in a bit more friendly way, especially that haxe is not (at least yet) an incredibly popular language with tons of tutorials all over the net.

</comment></comment></comment><comment><USER4> Why not JVM and CLR targets?

<comment><USER5> Most Haxe targets are source-to-source, with the exception of SWF. It bootstraps on existing toolchains a bit better(this can make a big difference for debugging), and it affords more flexibility in the build process in those situations where you really need to mix in code native to the target. The extra step of compilation to reach the runtime is treated as a UI issue. NME, for example, already has its own build system in order to deal with asset packaging, and it integrates the cpp target compilation alongside that.

This doesn't preclude the possibility of bytecode, but from the Haxe perspective it's seen as an optimization, not a must-have for practical use.

<comment><USER4> As a student of compilers myself, it's my understanding that producing bytecode is as easy as--if not vastly easier than--producing code in another language, and that this is particularly true when the target language is high- level. The only exception to this I can envision is when the source language maps easily and completely to every single target language, in which case the source language must be the least common denominator, and the compiler may be a glorified awk script.

Significantly, a major feature of the JVM and CLR bytecodes is that targeting them makes it extremely easy to permit interoperation with other code native to the same VM. I'm not sure generating source would be any improvement on this whatsoever. I also question the value of being able to debug generated code; assuming that HaXe is indeed more than a glorified awk script, the process might be compared to using an assembly debugger on C++-generated code. Not entirely useless, certainly, but neither is it precisely desirable.

<comment><USER6> > it's my understanding that producing bytecode is as easy as--if not vastly > easier than--producing code in another language

Maybe true for unoptimized code. However, Java and C# compilers have received years of work to make efficient use of their respective VMs; standing on their shoulders makes some sense.

<comment><USER7> Really? What kind of optimizations does the C# compiler do when emitting IL? As far as I know, they are fairly straightfoward optimizations - there's nothing really that complex going on there. The C# team has said they aim for a straightfoward mapping to IL.

You won't see the C# compiler inlining functions (even though the CLR does _way_ better with large functions and doesn't handle inlining well). It won't propagate constant expressions. You won't see it transforming recursive functions into loops. Does it even remove unused variables?

All the optimizations that C# really relies on for performance are handled by the JIT, and any compiler following the same patterns will get the same enhancements, plus the ability to emit better IL than C#.

That said, I'm still unconvinced it's easier to emit MSIL than C#, and I'm rather well versed with MSIL.

</comment></comment></comment></comment></comment><comment><USER8> Cross-platform tools often have a single user interface that tends to look foreign on every platform (sencha touch), or they force you to code a different ui for every targeted platform (titanium?).

How is the ui problem is usually tackled with haxe? I tried googling a bit, but didn't come up with a conclusive answer.

<comment><USER9> The short answer is that Haxe isn't very good here yet.

Many of the companies using Haxe are game studios, and so they just invent their own UI and it doesn't matter if it doesn't feel "native".

In terms of the two approaches you mentioned: both can be used. There are various projects to "reinvent" a basic UI toolkit that works on NME, the cross platform graphics layer. These libraries would do what you mentioned first - have a consistent experience across platforms, but one that is foreign and probably not as polished. No libraries have really gained a huge amount of support for this yet, though it seems there are a few trying.

The other approach - integrating with native UI - is also possible using Externs, which link in with an underlying system. I'm not sure how much use this has had. Some iOS features have externs, and on the desktop wxWidgets externs are around so this approach is possible. If you were to do this I guess you'd try to abstract away as many differences as you can, so that you need as little conditional compilation as possible. Not sure who is trying this at the moment.

As I said though, UI toolkits is definitely not a strong point. My main development with Haxe is for JS / HTML, so I just use standard bootstrap / jQuery elements, which feel "web native" I suppose.

<comment><USER10> then why dont you use plain html/js instead? skip extra 'translation' step.

</comment></comment></comment><comment><USER11> Will updating haxenme update the version of haxe I am running? Or should haxe be updated separately? Thanks.

<comment><USER12> If you are already on NME 3.3.3 (latest release), no. It comes with Haxe 2.09. But I am guessing it will not be long before another NME release and it will probably come with Haxe 2.10. Don't know if something would brake if you updated to 2.10 per Haxe installer but am not going to find out. Joshua is probably working at it as we type.

<comment><USER13> Yes, actually ;)

We're about a half hour away from NME 3.4

</comment></comment></comment><comment><USER14> Haxe is interesting only because of its targets. No advanced type features at all.

<comment><USER15> Why does a language have to have advanced whatever features if it does the job, i.e. if it's good enough to write most of a cross-platform app in a maintainable manner while producing efficient code?

Note: I am not a haxe user and would be interested in comments of actual users with respect to the compiler's reliability. My personal conception is that it is quite difficult to define a stable language that defines exactly the same on all targets.

<comment><USER9> I'm a haxe user. What exactly are you wanting to know?

If by reliability you are talking about it consistently not breaking between versions, then it's fine. Between versions the compiler does add new features but for the most part backwards compatibility has been kept between major versions.

If you're talking about does it consistently produce similar code across platforms, then it depends. Plenty of people are using it for 2D games (targetting flash, Android and iOS) and it seems suitable for this. Outside of that, it basically comes down to this: if you want your code to work cross platform, stick to the standard library or to known cross-platform libraries.

As an example, I had a piece of code which took markdown text input, converted it to HTML, and then manipulated the resulting HTML. The code worked on Javascript, Neko and CPP without modifications, because I stuck to existing cross platform libraries.</comment></comment></comment>


Problem of why there is anything at all - <AUTHOR> https://en.wikipedia.org/wiki/Problem_of_why_there_is_anything_at_all <comment><USER2> "The map of ideas how the universe appeared from nothing"

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

I prefer 1.6:

"There is no laws in nothingness so there is no causal law in nothingness, so something could appear from nothingness without breaking causal law"</comment>


Project Megaphone: Fight Surveillance With 9 Lines of Code - <AUTHOR> https://rally.stopwatching.us/fight-surveillance-with-9-lines-of-code/ <comment><USER2> Are the Facebook and G+ buttons some form of satire?

EDIT: Mass surveillance by any government is bad. Surveillance by NSA or GCHQ is bad. But the abuse of privacy coming from spammers and marketers and the walled garden of whatever social network are all far more harmful to the Internet than whatever GCHQ or NSA are doing.

<comment><USER3> Different people have different philosophies. Some people have stopped using FB and G+ because they know their actions will be monitored. I choose to share these links because I don't want to censor myself out of fear of surveillance. Both approaches are totally valid, and everyone can choose to share on social media, or not.

<comment><USER4> And the site uses [https://github.com/tfrce/share- server](https://github.com/tfrce/share-server) so no user information/IP address/browser headers are shared with any third parties unless you click the buttons.

<comment><USER5> There's also "two clicks for better privacy" like Heise.de started and that Scheiner also uses on his blog. [http://www.heise.de/extras/socialshareprivacy/](http://www.heise.de/extras/socialshareprivacy/) & [https://github.com/panzi/SocialSharePrivacy](https://github.com/panzi/SocialSharePrivacy)

</comment></comment></comment></comment><comment><USER6> At least the government is open again so they can see the rally.

</comment><comment><USER7> I feel like the people who would want to go to this rally would already have loc services disabled..

<comment><USER4> It's geoip, so you don't need to have location services enabled to take part. And it's disabled on mobile.

</comment></comment><comment><USER8> and if someone cracks into the cloudfront account and modifies the js... not good...

<comment><USER4> Same applies anytime you use external javascript, no? Or in fact, anytime you use AWS to host your site?

<comment><USER4> That being said, I can totally understand why you might not want to add third party code to your site.

In that case, I think the best route is to take the html and add it to your site yourself. You can actually even host the js locally if you want. The call to our geoip server just returns json, so shouldn't be a threat: [http://geoip.taskforce.is/](http://geoip.taskforce.is/)

But if you want to host that part as well, it's open source too: [https://github.com/tfrce/node-geoip-web](https://github.com/tfrce/node-geoip- web)

</comment></comment></comment><comment><USER9> "...sound and fury. Signifying nothing."

<comment><USER3> What're you getting at? The full quote is "It is a tale Told by an idiot, full of sound and fury Signifying nothing."

<comment><USER10> I'm assuming something akin to what I posted some months ago:

[http://news.ycombinator.com/item?id=5921688](http://news.ycombinator.com/item?id=5921688)

<comment><USER3> Is there an alternative you'd recommend?

<comment><USER10> Not particularly. In this case it was more of a clarification of somebody else's words than my own opinion.

Public pressure works to an extent, but it's dangerous to use it, because if you can't get a sizable number of people to show up it signals weakness.

<comment><USER9> There's also the much more substantive consideration that "public pressure", in the shape of a rally like this one, only works at all if there's a credible threat of meaningful action if the presented demands aren't fulfilled. There being no chance of that here, the upcoming rally is little more than a chance for the _soi-disant_ protesters to get out in the fresh air and reassure themselves that they're Doing Something Meaningful.

<comment><USER4> It's not just a rally, we're also arranging a citizen lobby day for constituents to meet with their representatives and talk to them about why this is important: [https://rally.stopwatching.us/lobbyday.html](https://rally.stopwatching.us/lobbyday.html)

<comment><USER9> Oh, well, that's totally different, of course!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> hells yeah.

<comment><USER6> nuff said.</comment></comment>


Ask YC: Reading from RSS, keeping track of conversations? - <AUTHOR>

I read all of my Hacker News, Reddit, etc from Google Reader, like many people. Lately I've become more interested in the actual discussions going on within the actual news as they are usually pretty interesting
The problem I encountered though is that I can view comments, submit my own, but then going back to dicussions is kind of a hassle since the stories are gone from my feed, unless I explicitly mark them as unread, but that's kind of redundant
What do you guys do in this kind of situation to keep track of discussion? Almost would be sweet if Google Reader had a seperate active discussions/threads kind of deal :) <comment><USER2> I use the star feature in google reader as a "watch" marker for developing discussions / topics of interest.

</comment><comment> t-dub I often subscribe to the comments feed for the article (if one is available). That results in _a lot_ of comment feeds, but they usually peter out after a few days (and I clean house in terms of RSS subscriptions every once in awhile anyway).

<comment><AUTHOR> That's a good idea but the maintenance on that seems deadly. I may try that out though

Edit: Incidentally, Hacker News doesn't have RSS feed on comments, heh

</comment></comment><comment><USER3> "What do you guys do in this kind of situation to keep track of discussion?"

Actually visit the site.

<comment><AUTHOR> For a forum, I would see how this would work but in a case like YC, the issue is still there, somewhat :)

</comment></comment><comment><USER4> co.mments works the least worst of cooment tracking systems I've tried. Co- comment just stopped picking up threads in my experience. Dave Winer uses Disqus on his site, and it seems to wotk well fot what it does, but I don't see the mass adoption it requires to become more than a niche product. Tracking convervasions is -- to my eyes -- a big deed not yet met. More people would have better conversations if commenting were easier to join, track, merge and/or link with other comments and conversations.

</comment><comment><USER5> Maybe use <http://friendfeed.com/> Aggregate all you activity - flickr, youtube, blog etc. and ask you friends to comment there. They'll keep all your entries, not only the onces currently in the RSS feed.

<comment><AUTHOR> Yup, I use Friendfeed. Funny, I was about to see if I could somehow add the YC RSS Feed to FriendFeed with the ability to display comments within but it's just not there yet. Soon, I bet :)

</comment></comment><comment><USER6> I sometimes use co.mments.com for blog post conversations. It does not work very well though.

<comment><USER7> Interesting. Does anybody know of a site (or app) that offers similar functionality but does work well?

</comment></comment><comment><USER8> Co.comments and Disqus where applicable are good</comment>


An interesting approach on checking if a tree is a sub tree of another - <AUTHOR> https://mohit.athwani.net/blog/check-subtree <comment><USER2> If you can spare some computation time when creating the trees you can simply generate recursive hashes (like git does), then you can immediately see if a given tree exists anywhere as a subtree of a larger tree in O(1). Of course you will pay for this with O(n) time complexity and storage for creating and storing the hashes.

<comment><USER3> Not really O(1), you still need to go through the big tree to find the node with teh deisred hash. You also have to check if the trees are truly identical to handle the case of hash collision.

<comment><USER2> The idea is that you create a hash map where the key is a tree hash and the value points to the tree in memory, so it should be O(1). Hash collision can of course happen but is extremely unlikely if you use a robust scheme like SHA256.

</comment></comment></comment><comment><USER4> Uhh. Only checking for pre-order is incorrect. You need to check both in-order AND pre-order strings.

       2      1
      / \      \
     1   3      3

The pre-order strings match (213 & 13) but the second tree is not a subtree of the first.

The in-order strings (123 & 13) don't match.

</comment><comment><USER5> What if the string representation of a node can look like a sequence of other nodes? Doesn't this approach need a node separator string that doesn't appear in the data?</comment>


Ask HN: Value of a second MS? - <AUTHOR>

As is the case with many students, I am currently approaching the end of my undergraduate education and I am faced with a decision about what to do next. I am in the unusual position, however, of having blown through my coursework quickly enough to finish a 5 year combined BS/MS program in Electrical Engineering in my first 4 years of college meaning my undergraduate scholarships pay for my master's degree and make it, essentially, free.
I am interested in applying to a different graduate school when I graduate - I think there's still a lot of really interesting things for me to learn and a lot of really exciting programs out there. However, I don't feel like I necessarily want to get a PhD, and I am unsure what my other options are.
How much utility is there in getting a second MS in a related technical field, given that I'll already have earned one? Is this done often or at all? <comment><USER2> A BS+MS in four years, congratulations,you're already ahead of the game. A second masters wouldn't hurt,especially if you have an interest in a multidisciplinary field where you can use both degrees (robotics, biotech, space). Is there a reason why you don't want to start your career in EE at this time? Depending on your program, a EE MS on its own might be strong enough to get a job doing somethig you really enjoy. So what is it that you enjoy doing?

The previous NASA administrator, Mike Griffin, managed to collect 7 masters degrees along his career, so if you just like to learn stuff and earn recognition for it, it's possible to do so while working as well.

</comment><comment><USER3> I'd go with a PhD program that has a Master's exist. (You will still apply and get admitted as a PhD student with full funding.) This helps if you're bored with the faculty, dept. etc. or a company wouldn't mind converting your internship to a permanent position.</comment>


"Not invented here" syndrome is not unique to the IT world (2013) - <AUTHOR> https://queue.acm.org/detail.cfm?id=2559901

<comment><USER2> Chinese wheelbarrow optimized for different operations than European one.

First, you have to lift load higher for Chinese wheelbarrow. Second, you have to be more careful with Chinese one, because overloading of wrong end will dump all load to ground. Probably, one man loads it while another man carries.

It looks like Chinese wheelbarrow is optimized for one scenario (separate loader and operator) and European one for another (same loader and operator).

Also, you can drag European wheelbarrow instead of pushing it. This way you get rid of many difficulties in operation. We did that when I was young and had less power and worked in gardens and/or construction.

To conclude, author does not distinguish between different use cases for seemingly same instrument (e.g. BerkeleyDB and SQLite) and he does not apply enough reasoning against his own argument, just to be fair.

What many consider NIH is often deliberately optimized choice for some specific and important use case.

</comment><comment><USER3> Great story and great article touching on many of the problems affecting the healthcare.gov website. I don't disagree with any of the details, but I can't really get behind the idea that NIH plays a significant role in the failures.

You can probably dig into the project and pick out thousands or tens of thousands of objective mistakes that someone somewhere is capable of diagnosing and proposing a better solution. And on the same token you can probably do that same for good decisions which someone somewhere _thinks_ would have thought they knew better and attempted to fix what wasn't broken.

This is just the nature of large projects, and well understood in such literature as The Mythical Man Month. And I would submit that it's not technology projects per se, but rather the unforgiving literalness of computer systems that throws the overall systemic failure into stark relief.

As the scope and required knowledge of a project increases, the communication overhead increases non-linearly. Not only must thousands of leaders at every level have access to the right information and make good decisions, they in effect act as a distributed system to specify the technical implementation. It will be extremely difficult, if not impossible for all the subordinates to filter the information correctly such that the people at the very top have exactly the right information to make the best decisions.

The reason a couple college kids end up creating something more impressive is because they have the freedom to ignore intractable problems. If you threw Larry and Sergey at this type of problem they would be nobodies today because there's nothing you can do against that wall of legislation. The legal code is like computer code that is never subject to performance benchmarks, the people who touch it (legislators, judges, lawyers) are all well paid and have exactly zero incentive to make it efficient. It's tragic because there are no doubt places where 8-figures could be shaved off the budget if the implementers had channels to the legislators to raise issues that make the system intractable, but unfortunately the legal requirements are done in a too-big-to-fail waterfall fashion where the hopes of ever simplifying the system are slim to none.

<comment><USER4> I actually think its a really good reason why it often goes wrong in the sense that most governmental agencies always think they need to somehow customize to their unique needs.

I have seen this many many times when dealing with governmental contracts.

Another issue is the way these procurement offers are made. They are basically forcing the bidders to define their way out of every issue they might encounter just to make sure they don't suddenly get caught with having to do the work after some huge issue and no budget to do it with.

So instead a lot of the proposal is about defining the scope of the projects but in such a way that most of the budget is a buffer for when the project go wrong.

In most cases these systems already exist and could be much easier build with off the shelf based software. But because government think their needs are unique they end up building themselves.

In Sweden the police were able to implement a new system without many issues exactly because they used existing system rather than trying to invent their own.

In Denmark they thought they needed their own and are paying the price with a version they had to scrape.

<comment><USER5> "I actually think its a really good reason why it often goes wrong in the sense that most governmental agencies always think they need to somehow customize to their unique needs."

yup! and it's the agency needs, not the needs of the actual user that are unique and special and require customization.

a big reason that GDS in the UK is having success is that the user need always comes first.

</comment></comment></comment><comment><USER6> I know that this is an unpopular opinion but I've seen numerous cases where NIH _is_ the optimal approach. I worked in a large company that insisted on using open source everywhere they could. Except that making all of that zoo work with a a single {build,logging,monitoring} system was a major PITA and so folks often cut corners turning large parts of crucial systems into black boxes. Also, some of the open-source stuff used was of suboptimal quality to say the least and so the company was forced to start maintaining a whole bunch of projects that no one else cared about. And if something stopped working there was hardly anyone who understood how exactly a FOSS project X or Y works and so countless hours were spent on digging through proverbial mud.

<comment><USER7> I don't think I'd ever use "nih" to describe making wise decisions to go build a better version of something that exists in the community already. But "NIH Syndrome", the one where every little thing requires a custom built library or framework, is almost never wise or appropriate.

<comment><USER6> For my immediate team I required that a FOSS project be:

1) alive and well - judging by the number and recency of contributions; 2) modular - monolithic binaries are a no-no but libraries are generally fine; 3) use one of the few languages well supported by the existing build system;

Once we started using those guidelines most FOSS projects we considered were dead in the water. (so were most commercial products BTW).

The only thing is that even though my immediate team saw the benefit of this approach once I started talking about it in a wider circle my approach was considered an extreme case of NIH.

</comment></comment></comment><comment><USER8> This is good, and perhaps less about "not invented here" then about trying to solve social/organizational/human problems with blind application of technology:

> mindlessly replacing human labor with technology instead of solving the > actual problem.

</comment><comment><USER9> About wheelbarrows: the Western wheelbarrow isn't unoptimized, it's just optimized for a different purpose: loading instead of moving. Having the wheel at the front allows for a deep body with low sides, which makes it easier to fill (and empty) the wheelbarrow with a shovel.

</comment><comment><USER10> Incredible read and a great analysis of the problems with the IT side of the Affordable Healthcare act. Unfortunately, the IT problems with the AHA were just the beginning. The terms are non-negotiable since they carry the weight of law. Agile boils down to having negotiable, discoverable requirements during the engineering process, which is basically the complete opposite.

The AHA was intentionally "overengineered" and unfortunately we're going to be stuck with the damage for a long time :/ The few good things that did come out of the AHA could have been passed in smaller separate bills, for instance, state health exchanges (Why hasn't this been done before?) ...But the point it seems was to drill something down our throats and serve special interests. In the end, not much has changed, yet somehow an incredible tax burden has been levied on the people of the USA :/

</comment><comment><USER11> European wheelbarrow has lower center of gravity, it is easier to balance and handles rougher terrain, it is mainly used on construction sites. To transport cargo we use 2 or 4 wheels :-)

And I think HealthCare.gov was very successful. Its purpose is not to build website, but employ large number of people and make a few people rich.

<comment><USER12> Hey! Profit is the point of every free-market enterprise. You make that sound like a bad thing.

The congressional budget office says 12 million newly insured benefitted through this effort. Not peanuts. And remember it was coincident with changes in Medicaid, and changes allowing young people to stay on their parents' insurance. All combined it might have benefitted 18 million!

<comment><USER11> I am talking about software project, not health insurance.

</comment></comment></comment><comment><USER13> This is a great article, not just about the Not Invented Here syndrome, but the efficacy of replacing humans with automation.

I'm very involved with educational technology, where there is indeed a lot of work to replace the "person at the front of the handbarrow" (the teacher) with "a wheel" (a computer). The proposed answer to that includes Khan Academy or other videos, and a variety of online and "app" education sources. It's an interesting effort, but this article is great at bringing back the metaphorical reflections about which you'd rather have when the cargo is a human (especially your child) in a stretcher vs. a load of rocks in a wheelbarrow.

Then again, just to play the other side of wheelbarrow scenario, replacing the other person at the front of the handbarrow with a gps-guided, obstacle- avoiding, all-terrain, path-to-destination optimized robotic motive unit, then we can just replace the human at the back with a wheel.

</comment><comment><USER14> _"...where the Next Big Thing has been a seemingly infinite sequence of concepts such as high-level languages, structured programming, relational databases, SQL, fourth-generation languages, object-oriented programming, agile methodologies, and so on ad nauseam. I think it is fair to say that none of these technologies has made any significant difference in the success/failure ratio of IT projects"_

Those are amazing tools when used correctly, but they don't work on their own. They need people that knows how to use them.

In a big project you need a good design or all the structure falls down.

Nothing to do with NIH. More to do with how bad politicians are at choosing who is best suited to carry a project.

They are mostly lawyers that prefer someone who gives a great presentation than an expert on the field. Smooth talkers who say yes to design by committee, mostly because they are not the ones who work on it, get the projects.

Imagine you were to judge Donald Knuth by their presentation skills(he stutters and use handwritten transparencies). That is what politicians do, because they don't know better.

Also politicians have a vested interest in expending as much as they can. Basically the more they spend, the more important they are, the more they earn, the more influence they have.

Chinese wheelbarrow is better suited for some things, but is worse for others. It is bigger and less stable, and splits the space in two, making harder to transport some objects.

</comment><comment><USER15> Good article, but I feel he overlooked another problem; in any large organization (corporation as well as government) it's quite hard to deploy a minimal product and let it gain traction through organic growth. Small apps from startups can take off in the marketplace because early adopters are often willing to compromise on security or functionality or interoperability if a new toy or tool does one thing really well, and if the popularity of the new thing reaches critical mass then those other considerations get taken care of, thanks to a combination of the early revenue and the foreseeable future revenue.

But it's very hard to do that within an organization, whether governmental or private. Most organizations are hierarchical, so ground-up IT innovations tend to be politically unpopular to start with. But even if a company or agency has an open internal culture, letting part of the organization use some new tool risks sacrificing efficiency, by taking away resources from the existing platform in the short term, or security, by making informational resources available via the new platform without the existing access or audit protections.

</comment><comment><USER16> It's a good read. One of the points I repeatedly make is that technology should support people, not the other way around. In other words, you start with how people work and you build technological solutions to the problems they face.

Now, Chinese and European wheelbarrows are very different. I would usually choose the European one if I am working by myself because the Chinese one looks like it is a pain to load, but one wonders if the differences are caused by fitting into different workflows The same goes for a lot of IT tools.

The difficulty of course is always "how much needs to be invented here?" That's a big question.

</comment><comment><USER17> I just want to add another factor that I don't see discussed here yet. That is an object like healthcare.gov is not just a website. It is a system. It influences the work of thousands of people, institutions, dozens of local governments, vastly different companies and people. All that doesn't mean it would be efficient, successful, or reasonable all together, but just that it's more than a website and organizing something of that size will cost a lot more money than a website of equal quality and end user value will cost for a new 5 people start-up without customers.</comment>


2D N-Body Simulation via RK4 with MFC , Brute Force Method - <AUTHOR> https://github.com/marz233/N-Body_2D_MFC <comment><AUTHOR> This project established a particle model of the 2D N-Body motion.After the reasonable simplification and approximation,an equation that meeting the requirement of the model is genrated.By Runge-Kutta method which is properly numerical computing method to solve this equation. Based on the computing method,the project build an MFC(Microsoft Foundation Classes) project in the Microsoft Visual Studio 2013 Community(usually known as VS 2013).In order to update the state in real time,the project storage bodies state in the structs and then trigger the Timer to call the CDC classes which could draw object on the screen.This project use computing method called All-pairs which is more simple and basic one.The simulating of chaos of the three body movement in classical mechanics showed that the model is reasonable partly.

<comment><AUTHOR> Frankly speaking,this project is just for fun and really rough simulation. Really hope you can give me good advice.</comment></comment>


Benchmarking Apache Samza: 1.2M messages per second on a single node - <AUTHOR> https://engineering.linkedin.com/performance/benchmarking-apache-samza-12-million-messages-second-single-node

<comment><USER2> I am getting lost between Flink, Samza, and Spark Streaming. The only one I have used in production is Spark streaming (using Kafka) and it worked well for our use case, and these are the types of processes I just don't refine that often (essentially new-school ETL's).

Any reason why I should switch over to Flink/Samza that appear to be more streaming-first oriented? Especially if my goal is that it might need long- term support?</comment>


Anglo-Zanzibar War - <AUTHOR> https://en.wikipedia.org/wiki/Anglo-Zanzibar_War <comment><USER2> The greatest luxury we live in today is a freedom from violence so total we barely even register it. In antiquity, violence was so common, so total and such a fact of life that we can't even imagine it.

<comment><USER3> I can't really imagine violence in everyday life, but if you live in Northern Nigeria, or in certain parts of Mexico, or in all of Syria or Iraq the people there definitely can imagine it. That said, I consider myself exceptionally lucky to live in a hemisphere that is mostly free from war, religious persecution, and slavery.

[https://en.wikipedia.org/wiki/Outline_of_war#/media/File:Ong...](https://en.wikipedia.org/wiki/Outline_of_war#/media/File:Ongoing_conflicts_around_the_world.svg)

<comment><USER2> I was implying the Western First World. Large swathes of the world still teem with violence as common and inescapable as daybreak.

<comment><USER4> I grew up on the South Side of Chicago dodging bullets and torture cops to get back and forth from my segregated grade school. 30 years later it's the same but the school is worse.

<comment><USER5> I thank Oppenheimer Atomic bomb every day for this. Also the violence in those 3rd world factories and resource operations - and the self destructive violence of religion harasses a little more then two thirds of humanity.

</comment></comment></comment></comment></comment><comment><USER6> It's always curious to come across Wikipedia articles of military actions of which I wasn't aware. It reminds me how low the historical bar has been for physical violence in pursuit of geopolitical goals.

<comment><USER7> As opposed to today, when that is unheard of, I guess.

<comment><USER8> At least two wars right now: in Ukraine (Russia occupied Crimea and part of east of Ukraine), and in Syria.

<comment><USER6> [https://en.wikipedia.org/wiki/List_of_ongoing_armed_conflict...](https://en.wikipedia.org/wiki/List_of_ongoing_armed_conflicts)

Maybe I would more accurately say "... reminds me how low the historical bar has been for physical violence _by first world countries_ in pursuit of _their own_ geopolitical goals."

Syria, Afghanistan, and Iraq are absolutely attributable to same, but I'd say there probably hasn't been a solid decade where the Lebanon-Pakistan corridor of countries hasn't had some kind of armed conflict (setting Israel aside even). Other than that, most of what I see seems to be civil war.</comment></comment></comment></comment>


Clustering CoreOS with Vagrant, core-1 boot failure - <AUTHOR>

I am following the guide at https://coreos.com/docs/running-coreos/platforms/vagrant/
But I am having problem to start the coreOS instances, with the following error:
Result Code: E_FAIL (0x80004005) Component: Machine Interface: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}
My configuration is windows 8.1 with virtualbox, vagrant and git all installed as described in the guide.
I'd appreciate if anyone can help.
==> core-01: Checking if box 'coreos-alpha' is up to date... ==> core-01: Clearing any previously set forwarded ports... ==> core-01: Clearing any previously set network interfaces... ==> core-01: Preparing network interfaces based on configuration...
    core-01: Adapter 1: nat
    core-01: Adapter 2: hostonly ==> core-01: Forwarding ports...
    core-01: 22 => 2222 (adapter 1) ==> core-01: Running 'pre-boot' VM customizations... ==> core-01: Booting VM... ==> core-01: Waiting for machine to boot. This may take a few minutes... The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state. Please verify everything is configured properly and try again.
If the provider you're using has a GUI that comes with it, it is often helpful to open that and watch the machine, since the GUI often has more helpful error messages than Vagrant can retrieve. For example, if you're using VirtualBox, run `vagrant up` while the VirtualBox GUI is open.
Failed to open a session for the virtual machine coreos-vagrant_core-01_1408322570242_93586.
The virtual machine 'coreos-vagrant_core-01_1408322570242_93586' has terminated unexpectedly during startup with exit code 1.
Result Code: E_FAIL (0x80004005) Component: Machine Interface: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048} <comment><USER2> This doesn't sound like a CoreOS issue, but rather a problem with Virtualbox:

[http://superuser.com/questions/785072/e-fail-0x80004005-when...](http://superuser.com/questions/785072/e-fail-0x80004005-when- running-linux-through-windows-8-virtualbox)

[https://forums.virtualbox.org/viewtopic.php?f=6&t=33196](https://forums.virtualbox.org/viewtopic.php?f=6&t=33196)

</comment><comment><AUTHOR> Yes,it is related to virtual box. Seems a regression for vbox 4.3.14, I downgraded to 4.3.12 and rerun the whole process.</comment>


Arduino gets CLI support - <AUTHOR> https://hackaday.com/2018/08/26/arduino-gets-command-line-interface-tools-that-let-you-skip-the-ide/ <comment><AUTHOR> Link to the github repo: [https://github.com/arduino/arduino- cli](https://github.com/arduino/arduino-cli)</comment>


MIT adopts a university-wide Open Access mandate - <AUTHOR> http://www.earlham.edu/~peters/fos/2009/03/mit-adopts-university-wide-oa-mandate.html

<comment><USER2> Words cannot describe how happy this makes me. My pet peeve is being addressed!

I dream of the day when I can learn science, as a non-university-affiliated citizen, by simply surfing from primary reference to primary reference via inline links.

<comment><USER3> I'm also extremely happy, especially since just today I watched a Walter Lewin physics lecture from MIT's OpenCourseWare, and a History lecture from Yale via Academic Earth.

The more people can read primary sources for free, watch lectures online, etc, the better off this civilization will be.

</comment></comment><comment><USER4> I think this is great. During orientation they discuss how to amend copyright agreements so that you retain the rights to publish your papers on your website etc. I'm glad they are making it official.

</comment><comment><USER5> It's great that they're doing this, but I wonder: what is causing this sudden swing toward openness? Have they always wanted to open their research, but just never been able to do so economically until the Internet came along?

<comment><USER6> I think it might be in part due to the frustration caused by now ubiquitous availability of articles, but large barriers to actually access those articles. Google lets you see tons of articles online as search results, but even institutional access generally will not allow you to see everything out there due to subscription budget constraints. I'm sure even a place like Harvard doesn't subscribe to every issue of every online journal.

<comment><USER7> At Pitt I can go to the library's website and request journals they don't have access to, I get an email the next day with a .pdf of the journal article requested.

<comment><USER5> That sounds like a lot of rigamarole for a paper that might not even be worth reading.

<comment><USER7> It's not that much harder than having to VPN into the university in the first place.

<comment><USER5> You can automate the VPN'ing. Or, in my case, I just use an on-campus computer which doesn't need to VPN. What you can't automate away into instantaneousness is the delay of waiting a day for a paper to get there.</comment></comment></comment></comment></comment></comment>


A bet against Supersymmetry may soon pay out - <AUTHOR> http://www.economist.com/news/science-and-technology/21709946-supersymmetry-beautiful-idea-there-still-no-evidence-support-it <comment><USER2> I wouldn't call Supersymmetry beautiful.

In the context of string theory it is beautiful and pretty simple.

When you bolt it onto a particle theory it is a godawful mess.</comment>


An Experimental Port of Clojure to Common Lisp - <AUTHOR> https://github.com/joinr/clclojure <comment><USER2> This approach being even viable is a testament to the host platform portability of Clojure, but even more to Common Lisp's ability to read other language's token-level syntax via reader macros (unless I've misunderstood how this projects ports Clojure to CL).

Reader macros in CL allow it to implement much of Clojure, but Clojure's lack of them means it could never implement CL unless it implemented built-in readers to handle every possible reader macro that a CL implementation loaded in.

As arbitrary library code can access the reader in CL, this would apparently be impossible.

I suppose it comes down to whether a Lisp dialect wants to support arbitrarily-powerful metalinguistic abstractions in its own Lisp syntax or provide the ability to create whole new languages with different fundamental tokens.

If a dialect only wants to achieve the former but has no interest in the latter, AST macros would suffice and custom reader macros would be of little interest, which is presumably the reasoning behind Clojure's lack of them.

Anyway, kudos for a great project.

<comment><USER3> I'm not sure it is a good idea to use reader macros to implement the syntax. Probably better to implement a new parser for it.

The Clojure syntax is sufficiently different from Common Lisp, so that it might be a pain to implement that syntax as reader macros.

Generally I would think that reader macros are not a general mechanism to implement Lisp-like syntax, but specifically Common Lisp lexical syntax and extending/modifying it.

<comment> dan-robertson Well most closure syntax is pretty similar: change commas to whitespace, add delimited readers for [ and {. The hard parts are I think:

1\. Package/namespace differences as CL has top level packages and clojure has nested packages. In CL keywords are symbols in the keyword package but in clojure they are symbols starting with a colon in any package.

2\. Using e.g. {} or :for as a function

3\. Different object systems.

<comment><USER3> If you want to parse pure Clojure lexical syntax with read tables, one has to get rid of all CL lexical syntax, otherwise it would parse a mix of Common Lisp and Clojure syntax.

Symbols in CL are totally different. There are escape characters and symbols can have different characters in their names. Symbols can start with numeric characters. / and . have no special meaning in CL. Keywords in CL don't need to start with : . If we want to read a Clojure keyword, one probably don't want to read a CL keyword, but a different data type.

Lists in CL don't exist. Instead we have cons cells with dot notation and list-like notation optimization. ( a b . nil) = (a b) = (a . (b . nil)), (a b . c). In Clojure there are no cons cells in the syntax. If you read (a . b) with the CL reader, then it is a cons cell, in Clojure it would be some kind of list with three elements. If you read (a b .) in CL, then one gets a reader error. Clojure does not care. (a . (b . nil)) in CL are two cons cells which form a single list, in Clojure it would be two nested lists.

CL has different numeric syntax. CL has various other notation for arrays, structures, bitvectors, ...

CL has no metadata. CL has different backquote syntax.

If one implements the Clojure reader stuff in

[https://clojure.org/reference/reader#_reader_forms](https://clojure.org/reference/reader#_reader_forms)

one might as well implement the reader from scratch.

</comment></comment></comment></comment><comment><USER4> Now somebody port it to [https://github.com/vygr/ChrysaLisp](https://github.com/vygr/ChrysaLisp)

</comment><comment><USER5> Why not just use common lisp instead? Has Clojure innovated that much over current common lisp capabilities?

Porting existing Clojure code probably isn't a motivation since much of it probably relies on Java libraries.

<comment><USER6> There is a huge difference in the Clojure experience vs. CL. They might both be lisps, but there is where the similarity ends. The paradigms are often quite different in working between them.

Clojure is an immutable-first, and concurrency as a first-class citizen, approach to programming.

</comment></comment><comment><USER7> Interesting! With this we would cut off the JVM unecessary parts of CLJS development???

<comment><AUTHOR> afaik you can already use ClojureScript without depending on the JVM

lumo: [https://anmonteiro.com/2017/02/compiling-clojurescript- proje...](https://anmonteiro.com/2017/02/compiling-clojurescript-projects- without-the-jvm/)

calvin: [https://github.com/eginez/calvin](https://github.com/eginez/calvin)

<comment><USER8> its really slow tho

<comment><USER9> Its about as fast as JS

</comment></comment></comment></comment><comment><USER10> Julia is good at data analysis, visualization, high performance, its core is lisp.

Clojure is good at data manipulation, and porting clojure to Julia is more practical.

</comment><comment><USER11> There is a similar project to provide modern Clojure-like abstractions for Lisp: [http://cl21.org/](http://cl21.org/), which includes vectors, hashes, string interpolation, etc. It doesn't look very popular for some reason.

</comment><comment><USER12> Although this is a cool project, I can't see myself using it. A big part of the appeal of clojure, for me, is that it _does_ run on the jvm.

</comment><comment><USER13> Now this is a project worth throwing some time and resources into. Kudos to the author for getting the ball rolling!</comment>


(I-=-1) - <AUTHOR> https://twitter.com/codepo8/status/1186581782864564224 <comment><USER2> Earlier post: [https://twitter.com/raymondh/status/1131103570856632321](https://twitter.com/raymondh/status/1131103570856632321)

<comment><USER3> I just learned that Python allows overriding __isub__ separately from __sub__ and the same for __iadd__ [0].

Really interesting!

[0] [https://docs.python.org/3/reference/datamodel.html#object.__...](https://docs.python.org/3/reference/datamodel.html#object.__isub__)

<comment><USER4> Thank you. I never thought to consider the possibility of making these be separate. Interesting.

</comment></comment></comment><comment><USER5> Why was he surprised that it works? -1 is a perfectly normal integer and -= is a perfectly valid operator.

<comment><USER6> I think that while people wouldnt be surprised that

i -= -1

works, formatted as

i-=-1

it's unclear what each - is doing, likely someone did it because it looks nice and symmetrical, as opposed to

i+=1

<comment><USER7> Probably because in js if i="1" then i+=1 results in i="11" but i-=-1 results in i=2</comment></comment></comment>


Judges in Jeopardy: Could IBM's Watson Beat Courts at Their Own Game? - <AUTHOR> http://yalelawjournal.org/the-yale-law-journal-pocket-part/legislation/judges-in-jeopardy!:-could-ibm%E2%80%99s-watson-beat-courts-at-their-own-game?/

<comment><USER2> This is not very insightful, mainly because the author does not understand how the algorithms are chosen. The methods of attack Watson used in Jeopardy were chosen and tuned by the programmers. Even the automated training they gave it was programmed to find answers with an outcome the programmers chose. For example, when the author says

 _Inasmuch as he makes errors, these errors are randomly distributed. His mistakes are not skewed due to political preferences, personal relationships, or other sources of human prejudice. Watson by design avoids the ideological bias of judges—which textualists so deeply fear— because, of course, he does not have any ideology of his own._

Of course the computer will be looking for answers to questions that humans ask it, using techniques that humans programmed. Even if the humans introduce bias unintentionally, or accidentally recreate the effects of "ideology", the most you could say is that the computer is not "responsible" for skewing its answers. Of course the answers will be skewed, whether we know how ahead of time or not. There is no reason to think that the errors will be evenly distributed.

<http://en.wikipedia.org/wiki/Hacker_koan#Uncarved_block>

</comment><comment><USER3> While I'm the first to admit that I'm no expert on common law, I don't know of many proponents of textualism (outside of constitutional law) since Montesquieu. Seems to me like a rather vapid article that only applies within the constraints of very narrow definitions of some of the terms used in order to get to write a sensationalist headline.

<comment><USER2> I'm not sure if I agree, but he does link to this PDF as corroboration: <http://columbialawreview.org/assets/pdfs/106/1/Molot-Web.pdf>

</comment></comment><comment><USER4> print version: [http://yalelawjournal.org/the-yale-law-journal-pocket- part/l...](http://yalelawjournal.org/the-yale-law-journal-pocket- part/legislation/judges-in-jeopardy!:-could-ibm%E2%80%99s-watson-beat-courts- at-their-own-game?/print/)</comment>


Decentralized Email Concept Brainstorming - <AUTHOR> http://www.aleveo.com/ideas/decentralized-email

<comment><USER2> _The alternative to such dictatorship over own content could be buying own domain and running own mail server. However, most people won't run such system, nor would they accept implied costs._

Or you can buy your own domain, and have an email service provider, of which gmail is a mostly free (cost wise) one, host it. I recently switched from running my own mail server to using gmail, and it was simple.

The idea of using "twitter style" (guh!) @some.name addresses loses a lot of functionality, like throw away or customized addresses, that perhaps many people don't use (but more people should). Plus, what importance does the @ have to do with this scheme? Just use some.name. One advantage of hierarchical email system, of user@domain, is that there isn't a landrush to get exclusive access to the user portion of the name. Two people named Joe can exist at different domains without conflict.

<comment><AUTHOR> Thanks for the comment. Indeed, I use gmail for all my web domains, but have you seen the Service Agreement? Firstly, they own our data, so basically, our emails belong to them. We are just users.

Well, "twitter style" :) with the @ signifies an address. Without the @ it could be used as a universal login for other applications.

I am thinking that the domains have less and less importance, and that our data should be more integrated across the web. I am aiming at unifying the web data of a user just as it is available at local storage, and applying the desktop usage habits to the web.

It's just some thoughts passing, and I'd appreciate opinions.

<comment><USER2> Without the @ it could be used as an address too. The To: field is unambiguously a list of intended targets, independent of the formatting -- it's unfortunate that twitter has no metadata and the recipient list needs to be listed in-line with a special syntax. When someone wants to get my attention or directs something they say at me, they use the same string I use to identify myself, my name, not (necessarily) with any special prefixing/enclosing/suffixing embellishments.

 _I am thinking that the domains have less and less importance, and that our data should be more integrated across the web._

That a "domain" is something on the RHS of an @ and is the name for something you can "purchase" the right to use is inconsequential. I could just as well purchase a domain that is my name (independent of the fact that there are well-known TLDs that you are limited to purchase under). Domains are just the base-line identifier that we tie a bunch of internet related services to, through the DNS and zone files, there is nothing inherently "domain-y" about them.</comment></comment></comment>


Ask HN: How many of you read beyond the top 200 posts on HN? - <AUTHOR>

How many of you read beyond the top 200 posts on HN? <comment><USER2> I never read beyond top 200 from front page. However, 5-20x/week I click on "new" and skim headlines from the top 10 or so (or anything on the page with at least 2 votes). Most of these never make it to the top 200, yet I typically find about as many posts whose content is of interest to me on this page as there are on the front page.

Of course, the nice thing about the front page is that the discussion can often be more interesting than the content. Won't get that on new posts.

<comment><AUTHOR> Yes! I feel the same way- there are a lot of good posts that never make it to the top 200. I think time really plays an issue here. If the post is submitted at non-peak hours, not enough people read it, causing the post to be forgotten about somewhere far in the HN archive.

</comment></comment><comment><USER3> I am more often reading the "new" and "ask" segment than the top30. But I almost never go deeper than the top30.

</comment><comment><USER4> By the time I hit pg 3 (90 posts) I have so many tabs open with things I want to check out, I make myself go through them. But rather than culling the amount of tabs, it tends to just generate more... Sadly, I rarely make it to 91+.

Reminds me of one of my favorite entries in the urban dictionary: <http://www.urbandictionary.com/define.php?term=link%20diving>

</comment><comment><USER5> I mostly stick to the top 30, although I occasionally skim the first 100 for stuff that interests me, because even the interesting ones that are submitted at non-peak times don't often go lower than that.

</comment><comment><USER6> Very rarely ... and when I do I start thinking perhaps I should go adjust my procrastination settings.

</comment><comment><USER7> Very few of us, I would say.

</comment><comment><USER8> I don't even look at pages past 120

<comment><AUTHOR> I don't think I even hit past 90 on most days..</comment></comment>


Developer Productivity with Top 5 BootStrapToday Features - <AUTHOR> http://blog.bootstraptoday.com/2012/07/29/top-5-bootstraptoday-features-to-improve-developer-productivity/

<comment><AUTHOR> There are many more such big and small meticulous features in BootStrapToday to make a team MORE productive; many more features are coming soon. <http://blog.bootstraptoday.com/category/tips-tricks/></comment>


Ask HN: How/Where to Advertise Your Hobby Projects - <AUTHOR> Say you want simply to network and share what have you done etc, but posting about specific thing, for instance, here might be too much. How do you find your audience? How to share your portfolio page? What have you done to get yourself 'out there'? <comment><USER2> Check out [https://betalist.com/](https://betalist.com/) and see if that matches your needs.

</comment><comment><USER3> I recommend [https://www.indiehackers.com/](https://www.indiehackers.com/)

Really great and helpful community.</comment>


Why is the number 1,729 hidden in Futurama episodes? - <AUTHOR> http://m.bbc.co.uk/news/magazine-24459279

<comment><USER2> Interestingly, 1729 is also a Carmichael Number [0]

And another interesting article about Futurama math, which lead to a new theorem proof (by Keeler): [http://en.wikipedia.org/wiki/The_Prisoner_of_Benda#The_theor...](http://en.wikipedia.org/wiki/The_Prisoner_of_Benda#The_theorem)

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

</comment><comment><USER3> Simon Singh also did a video on this topic for Numberphile[1]: [http://www.youtube.com/watch?v=ReOQ300AcSU](http://www.youtube.com/watch?v=ReOQ300AcSU)

Numberphile a pretty interesting channel run by Brady Haran about all sorts of mathematics concepts: [http://www.youtube.com/user/numberphile](http://www.youtube.com/user/numberphile)

Brady has a number of other, similar channels for physics/linguistics/astronomy/chemistry/etc.; most of them are linked from Numberphile's about page: [http://www.youtube.com/user/numberphile/about](http://www.youtube.com/user/numberphile/about)

</comment><comment><USER4> There's another reference when Bender meets Flexo: they get excited because they both have serial numbers that can be expressed as the sum of 2 cubes.

<comment><USER5> "We're both expressible as the sum of two cubes!"

</comment></comment><comment><USER6> Is it strange that the first thing I thought of was taxis and Ramunujan? I didn't even recall the significance of the number...

<comment><USER7> My first reaction was, "Did I solve this in Project Euler once?"

</comment></comment><comment><USER8> When Bender meets Flexo they exchange serial numbers and burst out laughin. When Fry asks what's so funny, they say their numbers can be expressed as the sum of two cubes.

</comment><comment><USER9> I can't find the references to 1729 in the Futurama screencaps posted in that article. Would someone please point them out to me?

<comment><USER10> I don't think there are, news sites routinely stuff barely related or unrelated images in to articles these days.

They say though that:

\- Bender's serial number is 1729

\- In 'The Farnsworth Parabox' there's a Universe 1729

\- Zapp Brannigan's ship the Nimbus is BP-1729

<comment><USER11> Except Bender's serial number is very clearly stated in "The Lesser of Two Evils" as 2716057. Don't know why the author says otherwise.

See [http://futurama.wikia.com/wiki/Bender](http://futurama.wikia.com/wiki/Bender) (and I just checked the episode myself and confirmed it.)

<comment><USER12> Could have just been an oversight, there's quite a lot of them in Futurama when you look closely. They often change history to match their own story at the time, like Leela's mother originally had normal arms rather than tentacles in the earlier episodes.

<comment><USER13> Munda has tentacles even in her first (voiced) appearance: [http://2.bp.blogspot.com/-hEtstZ7Ka2A/TwtZrM89ZPI/AAAAAAAAAH...](http://2.bp.blogspot.com/-hEtstZ7Ka2A/TwtZrM89ZPI/AAAAAAAAAHw/JBCP9dclNbA/s1600/225px- Leela%2527s_Homeworld.jpg)

Though I will grant you that the design of her tentacles has altered slightly.

<comment><USER12> Her first appearance is earlier than that though, where she has arms — [http://theinfosphere.org/images/c/ca/The_Turangas%27_First_A...](http://theinfosphere.org/images/c/ca/The_Turangas%27_First_Appearance.jpg)

</comment></comment></comment></comment></comment></comment><comment><USER14> 1729 is ramanujams number</comment>