Show HN: WebGazer – Simple and Affordable Website Monitoring Service - <AUTHOR> https://www.webgazer.io/ <comment><USER2> I currently use [https://uptimerobot.com/](https://uptimerobot.com/) (free plan) and I'm happy with it. The free plan seems to offer more than yours (50 alert delivery targets & sites watched, same cadence, same metrics, public status pages included in free tier, including RSS, log exporting etc.). To upgrade to pro would also be _10x cheaper_ for a similar service-level[1,2]. Why should I switch?

1: [https://app.webgazer.io/billing](https://app.webgazer.io/billing)

2: [https://uptimerobot.com/pricing](https://uptimerobot.com/pricing)

<comment><USER3> Hi, this is Gokhan from WebGazer Team. Thanks for the comment, we are aware of the availability of cheaper services. As a matter of fact, some of them are the reason we started WebGazer.

Alerting is a basic thing and it is done kind of OK by some others. But true analytics is hard to get, we are still working on providing better reports. As an obvious plus, we provide status pages we produce by the monitoring data collected. This is for not making you depend on another service just for a status page.

Also, we are looking for ways to make WebGazer a complete monitoring and analytics platform. Plans still aren't very clear but server monitoring or client-side analytics are some things we have in mind.

<comment><USER2> From what I see, the 'true analytics' available are exactly the same as what I'm getting already. The data's available from my current service to download raw if I want to export it to another analytics platform anyway. I already have (free!) public status pages, as do most competitors' offerings, so it's not another service.

I don't mean to shit on your product, it's good! I think you need to be clearer about why I should pay quite so much more for it. At the moment it doesn't seem worth it by a long shot. If you plan to build the platform out into something more featureful, then say that, and give early adopters a discount (so that they're not paying more for services which are currently equivalent). Uptime Robot has been around for 8 years, and they're still giving out early-adopter discounts!

<comment><USER4> Where do you get your status pages from?

EDIT: I wrote some OSS to email you if a service (like a cronjob) does _not_ check in[0]. Maybe I should add a status page component to it so you can see failed services at a glance, that seems like the right way to do status pages.

[0]: [https://gitlab.com/stavros/caduceus](https://gitlab.com/stavros/caduceus)

<comment><USER5> My word I've been looking for a self-hosted alternative to Dead Man's Snitch for ages. Thank you for this!

<comment><USER4> You're welcome, that's exactly why I made it! Please open an issue if you have any feature requests or notice any bugs!

</comment></comment></comment></comment></comment></comment><comment><USER6> Great idea to come into that space but it's going to be a tough battle.

For our company, we had to create our own status monitoring app (open source). It's been a while and I had a short amount of time to find one.

A few reason for why we built our own:

\- almost no SaaS allow companies to make advanced (JSON) checks to the data returned by a status endpoint. For example, we have cron jobs running data imports. To verify that these are still running, a /status endpoint on our app returns the last data import date based on the data imported in the DB. If this delay gets bigger than a threshold then we fire an alert.

\- we're in B2B. Our clients need to have access to a status page with the ability to download the list of incidents (for SLA & contractual purposes)

\- we need 2 levels of status pages. One for customers and one for our internal teams with access to more monitors

\- SaaS providers either give the ability to automatically monitor or to manually manage the status page. There is no ability to do both at the same time

\- I wanted something simple. And advanced monitoring systems can definitely do the above, but it's ops hell to setup and maintain. I have other things to do.

<comment><USER4> I wrote something to help with the first case (it'll email you if your service doesn't check in): [https://gitlab.com/stavros/caduceus](https://gitlab.com/stavros/caduceus)

<comment><USER6> Very interesting way to solve it! I like the idea.

</comment></comment></comment><comment><AUTHOR> We created WebGazer to provide simple, affordable and mission critical website monitoring service. We are so happy to hear any feedback and ready to improve ourselves.

WebGazer is a website monitoring service checking your website on a regular basis. It notifies you with instant alerts in case of a problem. That way, you have a piece of mind about the status of your service without manually checking it.

You can publish the performance overview of the gazers through WebGazer Status Pages. Status page is simply a gateway to users. Successful companies are now going transparent and removing the wall between users with public announcement pages

Publish performance of your system to users for more transparency.

Update for any ongoing difficulties on the infrastructure (we know everyone has their servers on fire now and then)

Close the gap between your DevOps and audience.

<comment><USER7> Is there a way to configure a check to have to fail across 2 or even 3 locations before being considered down?

Also, didn't see a list of data center locations and providers. Are you multi- provider (AWS, Google Cloud, DigitalOcean).

<comment><USER3> Before sending down notifications, we validate incidents 4 times from different servers (TBH, not from different locations). List of IP addresses that a WebGazer request might originate from will be available on our docs soon.

</comment></comment></comment><comment><USER8> Is it possible to monitor specific parts of a page (eg via xpath)?

I have a nightly cron job running that dumps data to the database. On the homepage of the website it says how many new entries were created overnight. If that amount is zero, there's a 99% chance the cron job failed. It would be nice to be notified if the homepage says 0 entries were created overnight.

<comment><USER9> My next project thank you :)

</comment></comment><comment><USER10> Can I monitor site performance? TTFB, min/max/average download size across time, etc...?

<comment><USER11> Currently, our reports focus on timings. Like how long stages (dns resolution, handshake, download etc.) of request takes.

Download size is an interesting idea, note taken. Would you mind if I reached you for details on this?

Also, here is an example of what I mean by request stages timing: [https://imgur.com/a/fKsVIc3](https://imgur.com/a/fKsVIc3)

<comment><USER10> Yes, sure, contact me and we can talk about it

</comment></comment></comment><comment><USER12> "This website is operated by WebGazer, Inc."

Is this a US company? I can not find any other info on the site. How would one go about figuring out if this is a legit company?

In the US, do you have a public online-registry where one can look up company details like address, revenue etc?

<comment><USER3> Here are the links:

* Terms of Service: [https://www.webgazer.io/terms-of-service/](https://www.webgazer.io/terms-of-service/)

* Privacy Policy: [https://www.webgazer.io/privacy-policy/](https://www.webgazer.io/privacy-policy/)

If you need anything else, we'd be glad to help, just e-mail at info ~at~ webgazer.io.

Edit: We are a Delaware company, I guess you can query on State's website.

<comment><USER12> Thanks.

For me, living in Europe, it feels kinda strange when I am supposed to enter my credit card details on a page that is kind of anonymous.

Over here, every site has to state the address, business id and other information. And you can look up company history in a central repository.

</comment></comment></comment><comment><USER13> This is interesting.

With Serverless Function and Serverless Database (Dynamo,Cloud Datastore etc..) setting up something like this would basically take a few minutes.

The biggest value rely lies in the UI and the UX and all the extra stuff that comes with it , like having pretty Analytics .

<comment><USER3> I have been developing web stuff for about 10 years. The dilemma I experienced about monitoring is that when you do your own monitoring you need to make sure your monitor is working, too. Relying on an external platform sounds saner when I consider this. This is why we consider WebGazer "mission critical".

</comment></comment><comment><USER14> This has an unfortunate name-clash with eye-tracking software that's been previously featured on HN: [https://hn.algolia.com/?query=WebGazer](https://hn.algolia.com/?query=WebGazer)

</comment><comment><USER15> What does WebGazer offer that does not come for free with netsaint^wnagios^wicinga?

I run icinga for various clients on dedicated VMs for $5/mo each, with unlimited users, notifications and checks - and I still make a nice profit on that.</comment>


Best Business Websites for Entrepreneurs and Startups - <AUTHOR> https://online.abdn.ac.uk/global-mba/blog/best-business-websites/ <comment><AUTHOR> Thought this was noteworthy due to the fact that Y Combinator(and specifically this section) is included, as well as for the fairly eclectic mix of sites.</comment>


An Apple Push Notifications Debugging Story - <AUTHOR> https://thelig.ht/apns3/ <comment><USER2> So, the TLDR is that the author wasn't getting documented data from APNS, and this was verified by digging through GDB and OpenSSL.

While digging through everything is fun and worthwhile, this could have been checked much quicker with wireshark. tcpdump -w packets_from_apns.pcap -n -s 0 -i whatever src port 2195; wait for the problem to happen, check it out in wireshark -- if the circumstances are as the author describes, APNS will only send a TLS Alert packet, and not any TLS Application Data packets, so it should be obvious they're not sending any data.

Also, re "I'm now pretty familiar with the OpenSSL source (it gets a bad rap, IMO C is more at fault)": I disagree, since I'm more familiar with the OpenSSL source than I'd like.

Many things are way more obtuse than they should be: if you want to support TLS 1.0 and up, you need to disable SSL 2 and 3, and call SSLv23_server..; if you call TLSv1_server..., you get TLS 1.0 only (this seems to have been changed recently, there's now a TLS_server... , but a neutral name should have been chosen, and earlier)

Also, if you want to support an extension OpenSSL doesn't, the only way to do it is to register for a debug callback.

</comment><comment><USER3> When the author first stated that the socket was readable but they were getting no bytes, I actually thought this might have to do with BEAST. If I recall correctly, at least some implementations of SSL work around BEAST by sending an empty packet prior to the real packet (the empty packet randomizes the IV, which breaks BEAST). And depending on how read is implemented, it might see the empty packet and always return zero bytes (instead of continuing onto the next packet which hopefully was received already). Incidentally, other implementations don't do the empty packet thing, instead they send a packet with just the first byte of the message, followed by a packet with the rest.

Of course, in the end it turned out that the author was querying if the OS buffer had bytes in it, as opposed to querying if there was any application data available. But anyone else doing something similar may want to be aware of this.

</comment><comment><USER4> Debugging complex stuff is always so much fun. Also you usually figure out a trivial way to do it after you are done.

</comment><comment><USER5> Thank you. I have recently started using AWS SNS for this, hoping there is no major yak-shaving involved !

</comment><comment><USER6> Why not PDB?</comment>


Europe to manufacture ships of the future - <AUTHOR> http://cordis.europa.eu/news/rcn/141504_en.html <comment><USER2> 3D printed yachts in 3... 2... 1...</comment>


Ask HN: living on savings while working on startup? - <AUTHOR>

I'm contemplating quitting my full-time job to dedicate myself completely to a project that I've been working on part-time for half a year. We have no seed money yet and no prospective customers, but I feel that having me on board 24/7 rather than 3-4 hours a day + weekends would speed up our progress immensely and help us have something working to show to potential investors and customers much sooner.
Who here has dropped out and made no income whatsoever for some time while working on their project? Have you regretted it? Anything one should know before going through with it?
Thanks! <comment><USER2> I'm about 3 months down this path. Here's my approach and advice...

\----My Approach----

I'm a technical founder with no co-founder. 12 years of back-end development experience. I think I am pretty good on the sales and marketing side (although it's still unproven).

I enrolled in a local business mentorship to keep me sane (and get me out of my home office every once in a while), get feedback from other entrepreneurs and get help with various parts of starting a business.

My general life philosophy is to jump in, then figure out how to swim.

I'm using a combination of savings and friends & family to fund the project. I currently have 6 months of runway to get ramen profitable.

My product is B2B SaaS. I need about 20 customers to get ramen profitable.

I am outsourcing the design, which is my weakness. Everything else falls on me.

It took 3 months of 8 hours a day, 6 days a week to get the beta version built. Demos are actually going out tonight and public launch is next week...yikes!!

I feel very confident that I can sell 20 subscriptions in a few months, with only half my time dedicated to sales.

\----My Advice----

If you're not building a B2B SaaS product, don't quit the day job.

If you are building anything consumer-focused, definitely don't quit your day job.

Do you work well under pressure? I have a wife and a son and a decent monthly nut I have to cover. I work best under pressure. But I have never felt this level of sustained pressure before. It's incredibly difficult to keep pushing hard all night every night (I work at night when the house is quiet). If you don't thrive under pressure, don't quit your day job. Be brutally honest about this one because it will crush you if you think you are but aren't.

Outsource your weaknesses. It usually takes a while to find any technical support that's worth a damn. Be prepared to pay top dollar for it. Post your needs on all the outsourcing/freelance/crowdsourcing sites. Post it on craigslist (both locally and elsewhere). I found that each site has a specific pool of talent that's worth a damn. This will take longer than you think. You'll have to cycle through several 'perfect matches' before you find somebody that's the right fit. This piece really comes down to serendipity and luck and there's not much you can do to hack it (other than being persistent and patient).

Estimate how long it will take to build the MVP. Be conservative. Then double it. Seriously, double it. Then you'll be in the ballpark.

Spend half your time on non-coding stuff. This is the hardest part for a technical person, but vital. Even if you have a bizdev co-founder, it's your idea, your vision and you're the only person that will ever understand it.

Again, assuming B2B, get out a talk with customers ASAP. Talk with 3 potential customers. Pitch each one, refine the pitch, go to the next. This is absolutely paramount. Everybody says to do this. DO NOT UNDERESTIMATE THIS!!!

I was unable to find a co-founder. I think this is a blessing in disguise. I tried to recruit one at the start (spent 2 months on it). We couldn't agree on terms. That 2 months was not very productive. We'd spend a lot of time talking, not much time doing. It's incredibly easy to just spend hours talking, theorizing, hypothesizing, thinking. None of that really matters. The only thing that matters is shipping a product. Even if it's complete garbage, ship the damn product ASAP! If you engage potential customers (see the previous point), you'll have a significantly better chance of the product gaining some initial traction.

Last piece of advice would be: you have to sell this product. You can't hire anybody else (even if you have a biz dev co-founder who should also be selling) to do this for you. If you don't have the nerve to get in front of a customer, the skill to communicate with them effectively, the thick skin to hear how much your product sucks and the balls to ask them for money anyway, then don't quit your day job. If you are the idea person, then you HAVE TO SELL IT!

\---End Brain Dump---

Hopefully there's at least one or two nuggets of truth in there that resonate with you.

Keep us posted on your progress. Everybody on HN is here to help you. Just ask.

<comment><AUTHOR> Thanks for the extensive response, much appreciated! A couple of questions:

\- tell us more about how your mentoring arrangement works. I've never heard of business mentorship before (I've only done mentorship at work at my organization), is it suitable for someone doing an agile lean startup like you are? Also, how does compare to finding an actual mentor from the startup world (unless that's exactly what it is) and how do I sign up? :)

\- best of luck with your demos, it's an exciting time!!!

\- tell us a bit more about your experience hiring a designer

\- I didn't quite get the tech support part. Are you talking about "tech support" or someone to support you with the engineering work involved in developing the product? If it's the former, are you looking for some small company to help you or just for an individual person you can train to understand your service?

\- How did you get in touch with your current potential customers? You talk about the importance of being able to sell the product to a customer yourself, as a backend monkey myself I've been as far as possible from that aspect of the business in my career. Tips?

<comment><USER2> \---About Business Development Programs---

Most mid and small cities have some sort of business development program. The goal of these programs is to generate jobs in the local community. I googled 'reno business development program' and came up with this link: <http://www.nsbdc.org/>

The business development program I'm in provides hours with a life coach (for time management), marketing consultant, SEO consultant, web designer (I don't use this one), a CPA and a lawyer. They also provide introductions in the community.

I think the stated output of the program is a polished business plan. Everybody in the tech scene scoffs at business plans (and most of it is justified). However, if you want any financing, you'll need one. And it's actually a very powerful tool to help you focus and answer questions you haven't thought about yet. A business plan is really for you, not anybody else. At least that's the value I'm getting out of it.

The program is not internet startup specific, but you really don't need that (I'm assuming you've never started a business before). You need help with the basic nuts and bolts of operating a business.

The primary benefit I get out of it is accountability. You commit to certain milestones. Then you're on the hook to deliver. Personally, I really need this type of support.

\---Hiring a Designer---

This one is very tricky because design is so subjective.

I used oDesk to find my designer.

I'm very picky about design aesthetics, so I can be kind of demanding. I looked at a bunch of portfolios and tried out a couple designers before I found my guy.

I would give fairly specific instructions that still had some room for artistic interpretation. I was partly evaluating their ability to read directions (most people suck at this), turnaround time and the quality of the work.

Again, being subjective, the quality was really just 'do I like it'.

I ended up working with a Romania designer that speaks perfect english, turns out great work and is really fast. The only downside is that I pay $25/hr for him, which I think is pretty high for outsourced design. He's worth every penny because of his efficency and the fact we don't have to go back and forth iterating a bunch of times. Usually his first pass only requires one round of minor tweaks.

One note of caution would be to not get too picky with minor stuff. Perfection is the enemy of good enough. You're just going for good enough.

\---Technical Support Clarificaiton---

I was referring to finding technical talent/resources/people, not the specific operational task of 'tech support' or 'customer support'.

\---Engaging Potential Customers---

Coming from a similar background, it's pretty scary, isn't it?! :)

It's actually not that scary. The hardest part is just doing it. People are nice and want to help you out.

Leverage your network for potential customers.

Make sure your first interactions are with lower-value potential customers; preferably customers you have a personal/existing relationship with. You don't want your first customer interaction to be with a high-value target because you will fall flat on your face! Inevitably the customer will ask you some really simple obvious question about your product/service and it will completely blindside you because you never thought about it. Yea...get those questions out of the way in the lowest risk environment.

The purpose of your first interactions is to feel out the space you are trying to work in. Do they have an existing vendor providing the same/similar services? How much is that service? Do they like it? What do they like best? What do they like least? What's it missing? What pains are they having (probably not within the space you are trying to be in, but very important question to identify other synergistic opportunities)? How can you help?

Notice it's really going to be a lot of asking open-ended questions and listening. Common sense stuff, but most people screw it up and talk too much.

Talk just enough to establish expertise and trust, then shut up and let them tell you want to build.

\</comment></comment></comment><comment>

Wow, that was a long response. Good thing I get paid by the word. Haha.

</comment><comment><USER3> Concentrating on your idea full-time will certainly move it along faster than if you are working on it as a side-project.

However, this self-funded model can also be a slippery slope to self- bankruptcy if you're not careful. I would suggest laying out a careful plan beforehand. Figure out what your base living expenses will be, and determine how long you can go on 75% of your current savings. Set some realistic goals and expectations while you have a clear head (now), and as you start to approach a critical low-cash point stop and evaluate where you are vs. what you expected.

Keep in mind that this might make it harder for you to find a job if you take this personal sort of time and it doesn't work out. I would only suggest doing this if you can live for 8 or 9 solid months on savings, and STILL have another 3-4 months of savings to live on after that. 6 months seems like a good checkpoint time, you should have made some serious measurable progress by then. If you haven't, you'll need to start looking for alternate income, which may be time consuming and take a couple of months.

I would also suggest around the 5-6 month checkpoint trying to speak with some angel investors. Partly for the obvious point of raising money, and partly to get some unbiased outside feedback as to the viability and potential market of what you are working on.

<comment><AUTHOR> How uncommon is it for entrepreneurs to take the plunge and have absolutely no income for those 6-12 months? Is this something that's theoretically possible, but most people choose not to go through with it because they would much rather not bankrupt themselves, or do folks actually do it?

It's just that most success stories you read about these days involve some sort of seed money / angel investment that at least guarantees you don't need to immediately start depleting your reserves.

In any case, when you say 5-6 month checkpoint, is that from the moment one would hypothetically start working on startup full time, or while still doing it part-time?

<comment><USER3> 5-6 month checkpoint is from the time you go full time.

I hear of people doing it from time to time, but I generally think the self- funded folks fly under the radar. When people raise money you see more press coverage, so in terms of what you read about online I think the visible data may be slightly skewed. I know many many people that worked for some amount of time (usually less than 1 year) self funded and then either raised money or pulled the ripcord and went back to work.

I do not personally know many who were able to get to something near break even or viable in less than 1 year. But that is just me.

<comment><AUTHOR> What I read on other sites was that people would be ok with making considerably less than what they were at their full time jobs, for a long while, as the business is ramping up. So if you were making 6 figures before quitting, now you'd be making possibly under minimum wage :|

On the other hand if there's a strategy behind that and you can clearly see how you'll get to the light at the end of the tunnel, sucking it up for a yearish shouldn't be too awful.

</comment></comment></comment></comment><comment><USER4> \- How easy do you think it is to get a job back should something go wrong with your startup endeavors?

\- Are you married? Kids? - If not, taking a plunge obviously becomes much more easy.

\- Would you be able to remain motivated for a fairly long time while living frugally?

<comment><AUTHOR> \- I'm a technical guy with great credentials and some very high end industry experience, I'd be able to find a job with one of the big boys (where I'm at right now) in a blink of an eye, even though I generally hate interview processes and would much rather never have to do one again :)

\- Will be married very soon if everything goes well, but my partner is very supportive of me and I see it as a plus as far as starting a company is concerned

\- This one is tough, and definitely a good question. I've been making quite a bit as a corporate drone for several years now and so I don't remember last time I had to question a purchase. On the other hand, I'd give up almost everything to never have to see management's face again, go through performance reviews, fill out HR questionnaires and have to play office politics for that measly bonus, all while not learning anything new as an engineer in a long time. To me, not hating myself every day is worth more than probably 75% of my salary :) From a motivation standpoint, I feel that the fear of running out of money and the terror of having to go back to writing emails 80% of my day in corpspeak will be sufficient to keep me crunching all day every day.

Cynicism apart, it's all about being able to work on something that I'm ultimately responsible for, something that someone cares about and have a purpose in mind, those three are a huge motivation to me, and have been for the past half a year I've been doing 80 hour weeks.

<comment><USER5> You said it... _responsible for something that someone cares about_. Find that out first if it is something someone cares about. If not you could be spinning your wheels for a long time.

<comment><AUTHOR> Agreed, I myself feel that an idea is worth nothing if there's no real life demand for it. It has to be tested.

Reminds me of the basic programming rule of thumb where if you haven't tested a piece of code, it is to be considered broken.</comment></comment></comment></comment>


Painkiller discovered in coffee that is stronger than morphine and lasts longer - <AUTHOR> http://www.ibtimes.co.uk/painkiller-discovered-coffee-that-stronger-morphine-lasts-longer-1485238

<comment><USER2> No side effects? I'll be the judge of that.</comment>


Ask HN: Why does mediocre design succeed (companies like Weebly)? - <AUTHOR>

Weebly has over 12 million customers but their site templates are pretty bad. Are potential customers attracted to the service because of its ease of use or specific features? Is there a large population of people and businesses who are solely focused on having a website up and running no matter what it looks like?<p>I have nothing at all against Weebly, I am sure they are a great company doing great things, I am just curious what makes companies like that successful. <comment><USER2> The "non-tech" people (ie find FTP difficult) I know personally that have used Weebly tell me they like it because they found it's very easy to put a site together and manage it.

Most aren't "in love" with the program, but they found it easy to get their website put together and running, and figure that if they're looking for their next step they'll just hire someone to build it.

The line I get from most people are along the lines of "it was just... easy... and it worked..."

<comment><USER3> We call this the "PHP effect". //for the record, I love PHP

</comment></comment><comment><USER4> Because great design inherently doesn't solve any pains for people. Getting a website up and running in 5 minutes does though.

</comment><comment><USER5> People don't give a shit how you lay your pixels out as long as they work as advertised.

</comment><comment><USER6> Web developers and designers have a tendency to be egocentric about this sort of stuff. We say stuff to ourselves like "How can anybody use this crappy product? You mean like IE over Chrome or Firefox?". The answer is if you don't know any better?.....

To answer your question you need consider the following:

1\. Ease of use can be more important that exquisite design - Average person does not value design as much as other things such as ease of use.

$0 site that is easy to build/update and done in hours/days > $$$ for beautifully designed by some flaky web designer/developer that takes 4 months to go live

2\. Weebly's Design isn't that bad considering how flexible and forgiving the product has to be.

3\. Please show me an example of a comparable product to Weebly that is as easy to use and get live but is significantly better designed?

If such a product exists then the answer might be marketing. Rob Walling of Startups for the Rest of Us Market > Marketing > Design > Product (functionality)

It's sad as a developer to see that Design and Functionality come after market/marketing. It also seems to contradict a bit of my point about ease of use for non techies being a reason for Weebly's success, but if they market well, and it's free then they have a huge leg up.

Really considering what it is Weebly aint too shabby. It's also amazing how many crappy sites there are out there that people continue to utilize. I did some cold calls for my startup idea and I thought the people with crappy sites would certainly get on board, but it didn't quite work out that way.

<comment><USER7> wix is just as easy to use and slightly better designed

</comment></comment><comment><USER8> Many of Weebly's customers would otherwise have a terrible Intuit or YellowPages site. For them, it's a big improvement.

</comment><comment><USER9> > Is there a large population of people and businesses who are solely focused > on having a website up and running no matter what it looks like?

Yes. Any business that does more of its work offline than online, is just putting up an online site for convenience.

</comment><comment><USER10> Content > Presentation

</comment><comment><USER11> Because people actually know about Weebly, and the interface doesn't scare them away with complexity. I think it's as simple as that.

On those terms, Weebly is quite exemplary.</comment>


Intel releases 34nm-based SSDs with 2x speed of previous drive - <AUTHOR> http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3605

<comment><USER2> The most notable thing for me is that the G2 80GB is around $220, about $100 less than what the G1 is/was going for.

At that price point, I'm definitely considering buying another one and putting the old one in my laptop.

If you're not familiar with the subject, Intel SSDs pretty much dominate the category: <http://www.anandtech.com/printarticle.aspx?i=3531>

</comment><comment><USER3> Since I stream most of my media I'm going to buy the 80GB as soon as they release it. Intel had worked through most of the problems with SSDs with the X-25 and with the price drop and improved performance this is a no brainer if you can afford it.

<comment><AUTHOR> I've been waiting for the right time to buy a new development laptop, and I think that the superfecta in Q4 of this year (Mobile Core i7, nVidia Mobile 200-series, Windows 7, and these new X-25M drives) should make for a excellent and fast machine. The X-25M has great throughput for small, random reads/writes which makes it ideal for running VMs for testing.

</comment></comment><comment><USER4> Too bad they still don't support full drive encryption. We can only buy laptop drives with that feature due to concerns over theft or loss.

<comment><USER5> Why not use something like TrueCrypt? The only thing that isn't encrypted is the truecrypt bootloader, which isn't really a big deal.

<comment><USER4> It's more hassle to support and maintain. Our IT department is already stretched, and that would be one more thing to add to the load.

<comment><USER5> well even the hardware based drive encryption stuff comes with a bit of software that your IT department would have to support anyway, so I don't think the TrueCrypt software adds that much overhead to what you'd already have to support with a hardware based solution. Sounds like you just need a better IT department.

</comment></comment></comment></comment><comment><USER6> Imagine how much faster the G2 of the X25-E SLC SSD will be.. yikes! I can't wait. Hopefully it'll be considerably > 64GB this time around.

</comment><comment><USER7> Did they really reuse the same model numbers? That seems annoying.

<comment><USER2> I'm not sure what you mean - the "Gx" part of the model numbers changed.

SSDSA2MH080 _G2_ vs SSDSA2MH080 _G1_

<comment><USER7> I guess I meant the product name. They're still X-25M...

</comment></comment></comment><comment><USER8> the figure should be higher if you regard monitor, laptop and smartphones/pda as tv

<comment><USER9> lol, I think you commented on the wrong article ;)

<http://news.ycombinator.com/item?id=717002></comment></comment>


Where can I publish scholarly articles on software development methodology? - <AUTHOR> I've been working in the software industry for many years and have a research background. I want to write scholarly articles on development methodologies e.g. SCRUM. Which journals/sites would you recommend? <comment><USER2> You're missing a step. To publish a scholarly article you must have an idea of the literature, as it could well be that what you want to publish was already published several years ago, or that there are well-known problems with your method of analysis, or that you need to compare it to alternative models for the same problem to show why your interpretation is a better fit.

To do that, you need to read the scholarly articles. So you should be asking which journals to read. For example, the 'ACM Transactions on Software Engineering and Methodology'. Or go to the ACM library and search for 'scrum'. [http://dl.acm.org/results.cfm?h=1&cfid=718487887&cftoken=289...](http://dl.acm.org/results.cfm?h=1&cfid=718487887&cftoken=28981854) returns 1,885 matches, of which 224 have that word in the title.

From that you may start to figure out which journal or conference is more appropriate for the specific aspect of development methodologies you wish to write about.

<comment><AUTHOR> Can't argue with that! Thanks.</comment></comment>


A honeypot for malware that spreads via USB storage devices - <AUTHOR> https://code.google.com/p/ghost-usb-honeypot/

<comment><USER3> I was wondering why you would want your honeypot to spread via USB storage devices.

<comment><AUTHOR> The malware spreads by USB, the honeypot catches it :)

</comment></comment><comment><USER4> Using wayback looks like the last version update was back in 2012 - <USER2> mention of 32 bit systems ending at Win7 is a bit of a clue, but this project could still have a useful role - although this isn't the most scientific approach, a trends search of "USB stick" vs "Cloud storage" shows there still might be a bit of life in the old usb dogs yet.

1] [http://web.archive.org/web/20121028212422/http://code.google...](http://web.archive.org/web/20121028212422/http://code.google.com/p/ghost- usb-honeypot/)

2] [http://www.google.com/trends/explore#q=usb%20stick%2C%20clou...](http://www.google.com/trends/explore#q=usb%20stick%2C%20cloud%20storage&cmpt=q)

Of couse, add "dropbox" to that trends search and USB sticks look like their losing serious relevance from mid 2010 - until you factor in the fact that you're looking at a self selecting sample: People on the internet looking for internet connected things. Which USB sticks route around for a lot of users.

<comment><USER5> Apparently last version update is from april 2013. [https://code.google.com/p/ghost-usb- honeypot/downloads/list](https://code.google.com/p/ghost-usb- honeypot/downloads/list)

<comment><USER4> yup, you're right - a misread on my part. Thanks!

</comment></comment></comment><comment><USER6> >Ghost supports Windows XP 32 bit and Windows 7 32 bit.

What? Doesnt look like a lot of people will be able to use this. I guess if you had vulnerable XP systems you could use it on your network to attract malware you're already infected with.

</comment><comment><USER7> Very cool idea :)</comment>


Don't use the jQuery .data() method. Use .attr() instead. - <AUTHOR> http://lookfirst.com/2011/12/dont-use-jquery-data-method-use-attr.html <comment><USER2> As far as I can tell this might just be false. If you go to github.com (a random site which happens to include query 1.7.1 -- the latest version), open the console in either firebug or webkit inspector, and run the author's example:

        var foo = $("body");
        foo.data("mykey", "1.410");
        foo.data("mykey");

...you get your original "1.410", not 1.41 as the author reports.

Secondly, he says there are "several bug reports on the jQuery website, where people are also confused by this behavior and all of them get closed with a wontfix" but links to none of them. Linking to them should be trivial and they'd help his case (or at least make it easy for me to figure out why he sees a bug and I don't). I searched and couldn't find any.

Finally, you shouldn't use .attr() to store arbitrary data as he recommends. Hanging javascript data off of DOM nodes will cause serious memory leaks if you're not careful. That's the reason .data() exists in the first place. See the "Cicular References" section of Understanding and Solving Internet Explorer Leak Patterns: <http://msdn.microsoft.com/en-us/library/Bb250448>

<comment><AUTHOR> Sorry, I shouldn't have had quotes around the 1.410

<http://jsfiddle.net/kgp2H/>

Think of it this way, say you have a template that is putting some data into an element like this:

<button id="fooButton" data-key="1.400">Click me to edit something</button>

Now, using .data() to select the information out, will always return 1.4 instead of what you want, which is 1.400.

<comment><USER3> You are not being serious, right?

1.410 === 1.41

<comment><USER4> His example is unclear, but he's complaining about the behavior of conditionally casting the initial data values based on pattern matching.

       $('#test').data('bar', '1.1');
       typeof $('#test').data('foo'); // number
       typeof $('#test').data('bar'); // string

If the data-foo value is user input, then converting it to a number might not be expected. E.g.

</comment></comment></comment></comment><comment><USER5> In what way does the author think this behaviour is wrong? 1.410 === 1.41

If he wanted to store a string, then he should actually store a string. .data() is just a thin wrapper around getting and setting values on an object, which initialises its initial values from the data-* attributes on the element in question (which should always be strings).

</comment><comment><USER6> This is bad advice. data() takes care of many details that .attr() does not, such as preventing IE memory leaks or trampling an existing DOM property.

I don't understand the issue. He is putting in 1.410 and gets 1.41? Isn't that the expected result?

</comment><comment><USER7> I hade my gripes with .data too:

The thing is removeData is pretty much useless because it only removes data from the jQuery cache, but if the data is missing from the cache jQuery will look in the DOM anyway.

</comment><comment><USER8> So, first the article talks about strings, but then does all of it's examples using floats. We all make mistakes. Hopefully we can help with that.

The root issue here is that the developer assumed how somethig worked, and didnt bother to learn how it actually worked.

I actually do have issues with data attribute for this exact reason, but that is no excuse for not looking up how it actually works.

<comment><USER9> The problem is that the way it works is not actually useful. When I have user input data of 1.400, I need this string preserved as 1.400. I can't have jQuery mangling the data just because (to it) the string happens to look like a float.

</comment></comment><comment><USER10> The jquery docs say that it stores as Json. 1.4000 in Json is a float. Use data-key="'1.400'" to get a string.

</comment><comment><AUTHOR> Here is another example of what I'm talking about:

<http://jsfiddle.net/KwjvA/>

</comment><comment><USER11> I wasn't aware of this. This looks like a bad design choice indeed. I hate when libraries convert stuff implicitly for you. html5's localStorage has a similar problem. Only, it converts whatever you are trying to store into a string. Would be better if it accepted only strings and threw an error if you tried to store something else, imho.

<comment><USER12> Agreed that localStorage should throw errors. This is particularly fun:

localStorage['a'] = {a:1}; localStorage['a'] -> "[object Object]"

Crap.</comment></comment>


Human brain has more switches than all computers on Earth - <AUTHOR> http://news.cnet.com/8301-27083_3-20023112-247.html

<comment><USER2> The title and article are not clearly written IMHO. What they mean is that the brain has more molecular switches than the number of _transistors_ (switches) of all computers. Some numbers:

      * 1.25e14 synapses in a brain
      * they discovered each synapse has 1000 molecular switches
      * so 1.25e17 molecular switches in a brain
      * a post-2005 CPU has 1e8 transistors or so (2010 CPUs barely hit 1e9 transistors)
      * I estimate 1e9 computers on earth
      * so 1e17 transistors in all CPUs
      * 1.25e17 > 1e17 so the statement is right

<comment><USER3> While comparing apples and oranges, they neglected to mention the speed of the "molecular switches." The fastest neurons fire at around 200Hz. Most fire at around 20Hz. Transistors are around 100,000,000 times faster.

Oh and circuits conduct signals at 0.5c while neurons are lucky to go at 0.000001c (300 meters/sec).

<comment><USER4> True, but our brains absorb massive amounts of information and process it in parallel whereas it is much more serial for computers.

<comment><USER3> All parallel tasks can be efficiently serialized on a fast CPU but not all serial tasks can be efficiently parallelized on many slow CPUs.

From <http://lesswrong.com/lw/k5/cached_thoughts/> :

 _Can you imagine having to program using 100Hz CPUs, no matter how many of them you had? You'd also need a hundred billion processors just to get anything done in realtime._

</comment></comment></comment></comment><comment><USER5> Having read the original paper I can tell you a couple things:

1\. The technique used to visualize synapses is awesome. 2\. This quote about molecular switches comes out of nowhere. It's related but not really part of this study.

More importantly though the idea that these are switches and that there are way more of them than transistors in the world misses two important points.

1\. Are the molecular switches relevant to the computation performed by the brain?

Only in so much as to build a transistor you need materials with certain specific properties, and to build a calcium channel you need proteins with certain specific responses to the environment. Comparing the computational unit of one to the building blocks of another isn't quite accurate.

2\. Even if they were computationally relevant are they comprable in terms of key metrics like performance?

Two important things to remember about the brain are that its slow and very very efficient. Silicon logic on the other hand is very very fast and inefficient. Even if there were a thousand fold increase in the number of computational units assigned to the brain the processing speed of a modern transistor decimates synaptic level computation.

<comment><USER6> "...about the brain are that its slow and very very efficient. Silicon logic on the other hand is very very fast and inefficient..."

Can you elaborate? In what way is the brain efficient in a sense that a transistor isn't?

<comment><USER7> In the energetic efficiency meaning of the word.

The energy consumption of the brain is around 20W in an adult human.

Compare that to the multi hundred Watt consumption of the meager machine you're reading this on...

<comment><USER6> Oh I see. But like the rest of your comment indicated, it's hard to compare until we understand more of the brain, right? Depending on the speed of the brain, the 'energy per thought' or 'energy per operation' can go either way when we have better measurements and understanding of the things brains are good at and not so good at?

<comment><USER8> I don't think the analogy was pulled out of ... hrm, /dev/random. afaik, the brain researchers have data for opinions.

E.g. the functions of the first levels of the visual cortex is relatively well understood -- _both_ from mapping the nerve connections and from copying the mechanism in computers.

There is a long time evolutionary pressure to conserve energy, all the way back to the evolution of nerves. (The brain use quite a lot of your total energy use, unless you're a non-mechanized lumberjack...)

Edit: The visual cortex might work differently than other parts of the brain (ask a researcher) because of speed demands, which otoh supports the point about energy efficiency.

</comment></comment></comment></comment></comment><comment><USER9> Low-level neurological concepts like synapses do not translate well into (low- level) computer terms if you do it by force instead of by reasonable consideration. A synapse is not a switch. A neuron is neither a simple weighted node nor is it an 800 MHz signal processing device with gigabytes per second of throughput. By going arbitrarily deep into the biochemistry, people could (and probably do) come up with ridiculous numbers. For example, maybe somebody wants to count and represent all the macromolecules in a neuron that modulate its function. It's easy to come up with an arbitrarily large number and land a nice gig on CNet for it.

<comment><USER10> When I was working on AI research in the late 80s and 90s (on the symbolic reasoning side of things) I got the distinct impression that Artificial Neural Networks were really just a nice statistical technique that had a marketing breakthrough - they really appeared to have very little to do with exploiting the behaviors found in actual brain cells.

<comment><USER9> Artificial neural networks do work well as a model of behavior of biological neural nets, up to a point. They are definitely a piece of the puzzle, a module to duplicate a certain type of information that is represented in biological brains. When they became suddenly famous in the 80s and 90s, the mistake was to assume we could build everything, including an artificial mind, if we just had a large enough neural net. That was essentially the IBM approach: just throw enough resources at it and it will become intelligent. Turns out, more is needed for building actual intelligence.

I firmly believe that neural nets and other techniques are still essential components needed for implementing artificial minds. We now know that processing power and storage space are alone are not enough, a brain needs actual software that tells it what to do with information and how to organize itself. That's essentially how I became very skeptical of the kind of brute force AI research that is being conducted today. For instance, modeling a synapse chemically down to the atomic level is nice for basic research, but it's definitely not the way to implement AI. For this, we need larger abstractions that are functionally equivalent and translate well into efficient computer code, and we need to figure out how to make these pieces of code interact with each other in a meaningful way. My wild guess would be that today we're not even constrained by computing power or storage needs, we just lack the correct design.

<comment><USER10> My own suspicion is that real "general" AI probably will be developed by reverse engineering the human brain and working backwards to the key processes and structures that provide general intelligence.

Of course, this is assuming that there isn't something deeply spooky going on driving human consciousness - which is a possibility I used to regard as terribly silly but some of the concepts alluded to (in all places) Neal Stephenson's _Anathem_ have got be wondering about such things again.

<comment><USER11> Thank you for mentioning Stephenson. I haven't read him other than Snow Crash, and I don't think I finished it.

Googling Anathem brought me to this blog review of it:

[http://neopythonic.blogspot.com/2008/10/thoughts-after- readi...](http://neopythonic.blogspot.com/2008/10/thoughts-after-reading-neal- stephensons.html)

which reminded me of this NIH neuro anatomist who studied her own stroke, including during her multi-year recovery.

Her TED talk: [http://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke...](http://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight.html)

YouTube of same: <http://www.youtube.com/watch?v=UyyjU8fzEYU>

She sees the right brain hemisphere as being our "consciousness" wetware connecting us to others.

Parts of the video are esoteric, but it's fascinating to hear this first- person account from a brain researcher, especially of the morning of her stroke when her left hemishphere was damaged by a spontaneous brain hemorrhage.

Edit: couple of typos

<comment><USER10> Cool - thanks, that looks pretty interesting.

</comment></comment></comment></comment></comment></comment><comment><USER12> I think the REAL question we're all wondering is when we will have access to a super computer with the capacity of the brain IF we follow Moore's Law.

<comment><USER13> I don't think this question is well defined enough to be meaningful. In terms of how quickly it can carry out complex calculations, low end modern laptops leave your brain in the dust. What few functions the brain can still claim any advantage on are the result of dedicated wetware and our ability to learn and thereby specialize software. Computers will get there, but it's not really a Moore's Law problem.

The title of this article should not be misconstrued to mean that the brain is a more powerful computation device, only that it is more complicated.

<comment><USER14> _I don't think this question is well defined enough to be meaningful._

You can certainly get closer than asserting that, e.g., a hand calculator is more powerful than a human brain because it can do 7 digit long division almost instantly.

At some point, we'll have computers powerful enough to run a working simulation of a human brain. Shortly before that, there will be a point when computers of that sort are "as powerful as a human brain", though we might not realize it when that happens if the software lags.

So that's an upper bound on charlesju's question.

</comment></comment></comment><comment><USER15> Computational Neural Networks are getting further and further from the reality of their inspirational biological models. It'd be interesting to see some of this physiology research transition into revised computational models.

<comment><USER16> There's more than one way to skin a cat.

By design Evolution is not perfect, which suggests there are better ways to create AI. To me it seems that trying to replicate how our human brain works is a wrong approach.

On the other hand, there is no reason why we cannot replicate human brain design if we wanted to[1]. Evolution had millions of years and we are just getting our hands wet.

[1]<http://www.bbc.co.uk/news/technology-11734909>

<comment><USER17> AI is also not always about building a human out of silicon, but about building something that is in some specific ways better (albeit much worse in other ways). For example, we ideally want to understand what it's doing and why, something we so far understand fairly imperfectly for humans. We also want to be able to control it fairly directly and reliably--- a society of AIs that you have to herd like cats and coax into doing what you want isn't quite what most engineers looking to plug in intelligent modules into their systems are looking for. We also want it to be very reliable and fast at tasks that humans do poorly or get bored doing, like scanning huge quantities of data to find patterns.

At least, that's how it looks from an engineering side. If the end result is that all you get is a human, well, we already have humans; just hire them instead. From a philosophical and technical side creating artificial humans does still remain quite fascinating.

</comment></comment></comment><comment><USER18> Take that, Mr. Kurzweil.

</comment><comment><USER19> Hehehe, and 83% of brains are only used to watch porn...</comment>


Meh.com - <AUTHOR> https://meh.com/

<comment><USER2> Since there is no context: This is a sort of relaunch of Woot.com, by the original founders of Woot.com, who sold the site to Amazon in 2010.

[http://techcrunch.com/2013/09/13/mediocre/](http://techcrunch.com/2013/09/13/mediocre/)

</comment><comment><USER3> this was posted an hour ago, has 3 points, and I'm the first comment?

looks like meh.com is generating a...... meh response!</comment>


Detailed Comparison Between WordPress and OctoberCMS - <AUTHOR> https://www.smashingmagazine.com/2019/03/wordpress-october-cms/ <comment><USER2> I'm making this post because OctoberCMS (OCMS) really helped simplify the development process for me. After nearly 10 years away from web development, I was looking to get back into the industry. The last time I worked with PHP we were using header/footer includes to stitch together everything from e-commerce to blogging sites. Fast forward to 2017-2018 and frameworks had really blossomed.

After researching different platforms/frameworks to learn, it became clear that Laravel would be a solid choice. Needing to put together a somewhat straightforward community driven site with user authentication and blogging, I started looking to different packages that would help me when I discovered OCMS.

Not only is the OCMS community extremely friendly and helpful, does OCMS make it relatively painless to implement many of the common features modern websites/apps require: user authentication, CRUD functionality, email handling, etc.

Where OCMS really shines is in its extensibility. Nearly every aspect of the system/plaform can be extended with custom functionality. Furthermore, because October is built Laravel, we have access to many Laravel packages and features that any other Laravel application can use. This makes it painless to integrate an OCMS project with other services and projects, something that is not always easily achieved with WP.

As long as October maintains a healthy and vibrant community and continues to push updates, I will be using it as my primary framework/platform of choice for most of my projects.

Thanks for making it possible for me to get back into development and quickly learn the important aspects to modern web development!

</comment><comment><AUTHOR> I'm completely biased obviously, but I feel like this article's author has a lot of experience building WordPress sites but hasn't had the experience of building a site in OctoberCMS yet.

OctoberCMS is an incredibly powerful yet simple tool that can handle all manner of websites. I've built everything from your basic web brochure type sites to complicated web applications that are used for a wide variety of functionality to multi-tenant SaaS type offerings.

I recommend just trying it out for yourself and playing around with it. See [https://drive.google.com/open?id=1KRj0LAnbC- Fgl392-Hz0MnJgih...](https://drive.google.com/open?id=1KRj0LAnbC- Fgl392-Hz0MnJgihu41KwmhNCOhMHn93k) if you would like a developer's introduction to the platform.

</comment><comment><USER3> Really biased, but I feel OctoberCMS wins in terms of ease. As mentioned before in this thread, OCMS can handle everything you throw at it, without loosing its structure or ease of access. I feel that with Wordpress there's such a lack of proper (clean) structure, that it gets in the way when developing.

But then again, I guess every well structured framework / cms would win if you compare it against Wordpress.

</comment><comment><USER4> October wins against WordPress.</comment>


How to Get Clients: An Immediate Action Guide for Freelancers - <AUTHOR> http://attackthehill.com/how-to-get-clients-immediate-action-guide-freelancers/

<comment><AUTHOR> One of the better actionable guides i've seen, not sure about the suggestion to try out spamming though.</comment>


Student's Dilemma, a riff of the Prisoner version with extra credit - <AUTHOR> http://flowingdata.com/2015/07/10/students-dilemma-a-riff-of-the-prisoner-version-with-extra-credit/ <comment><USER3> Is the class still curved? Because if so, then choosing 6 points would always be the correct strategy.

</comment><comment><USER4> SPOILER?

The "correct" answer is to generate a random number in [0, 1]. If less than 0.1, then select 6, else select 2. For safety use 0.05 (say) instead of 0.1. This means that everyone is guaranteed 2, but some (as many as possible) get 6. It works without coordination.

<comment><USER5> Except that you need to coordinate everyone to use the random number generator system...

<comment><USER4> Everyone can work that out for themselves! In theory. Or else remember it from the course textbook. In context, "coordination" usually means communication after the game is set up, whereas the idea of the random number generator is a standard approach even in advance.

</comment></comment></comment><comment><USER6> > What's your answer? I take the two.

Any guesses about where (in society) one can find those who answer "I take the six"?

<comment><USER7> At schools that do forced-curve grading or grade normalisation. If what matters is your relative rank in the class, rather than your absolute score, then "everyone takes the 2" and "everyone takes the 6" produce the same relative ranks for everyone - i.e. the same result for you - while "you take the 2 while some other people take the 6" reduces your relative rank.

If there's a nonlinearity introduced by the mapping from points to a letter grade to a GPA, and you have an extremely detailed knowledge of your current grades, and you know 2 points won't bump you up a letter grade whereas 6 points will (i.e. 2 points and 0 points have the same effect on your GPA, only 6 points will improve your GPA).

Among people who believe punishing defectors to produce fair outcomes is more important than producing the best average outcome. If you believe there are inevitably people who will take the 6 points, and those people are assholes, and you'd rather punch an asshole in the face (make them lose 6 points) even if it hurts your hand (you lose 2 points). The same logic that makes people brake for tailgaters.

In parts of society that prize 'rational self interest' and believe everyone should look out for their own best interests and let market forces sort it out; or that it's inevitable that other people will do this and if you're not doing it, you're basically a sucker. The same logic that makes people take seven-figure salaries in finance instead of becoming school teachers - <USER2> makes salesmen push the product with the highest commission, not the one that's best for the customer.

<comment><USER8> To clarify, the theory behind the free market is that the seven figure salary in finance represents a greater contribution to the net social good than a teacher. You personally might not agree with this, but you are completely misrepresenting economic theory when you say that proponents of the free market consider it to be a prisoners dilemma situation. On the contrary they argue for the free market precisely because they believe that in the free market, individual and social goals are aligned

</comment></comment></comment><comment><USER9> All of this is poorly defined (edit: I meant mathematically not well defined) as a game theory problem, from the premises to the suggestion that it's "the prisoner's dilemma with extra credit".

First, the prisoner's dilemma is defined for two people, which this is not. Furthermore, the prisoner's dilemma assumes perfectly rational actors; we cannot assume that of students.

Second (and related to the number of players), the 10% metric has different meanings based on the number of players (students). With two people, one person opting for six points constitutes 50%, which might be the case for an advanced elective at a small school. A first year biology class at a major university might have hundreds of students, in which case we can treat the 10% condition as stated.

Third, the outcomes of the prisoner's dilemma are either absolute gain or absolute loss - either jail or freedom. In this case, no possible outcome constitutes loss relative to the starting state; a player can fail to gain, but cannot be worse from where he or she started before playing. A premise that would make this closer to the prisoner's dilemma would be that if more than some percentage of the students opt for the six points, then all students lose six points.

Overall, this seems like something this instructor is doing for fun rather than as an experiment in a formal extension of the prisoner's dilemma.

For my part, I'd opt for the 2, based on what I remember about undergraduate students. I have no formal reasoning to support this, however.

tl;dr As stated, this is neither an extension of the prisoner's dilemma, nor is it well-defined in any case. It seems to me that any suggested solution will require either additional data or additional assumptions. Either way, I'd choose 2 points, and I would be interested to see the outcome of this instructor's survey.

<comment><USER4> I'm afraid you need to re-read your notes :)

N-player prisoner's dilemma is well-known. Neither 2-player nor N-player assumes rational actors. EDIT: It assumes that payoffs are in a reasonable unit of utility (so we don't need to think about whether $1000 is worth 10 times as much as $100, or more, or less). That's a related point but not the same.

The second point doesn't make it undefined. If there are two people, and one opts for 2 points, then the 10% is exceeded and the condition is triggered. No confusion.

The prisoner's dilemma arises just as well if the payoff matrix is all positive. You just need T > R > P > S [[https://en.wikipedia.org/wiki/Prisoner%27s_dilemma](https://en.wikipedia.org/wiki/Prisoner%27s_dilemma)].

<comment><USER9> From your link,

>The prisoner's dilemma is a canonical example of a game analyzed in game theory that shows why two purely "rational" individuals might not cooperate,

The generalized prisoner's dilemma is indeed well-known; the name "prisoner's dilemma", without further qualification, does, however, refer to the case of two perfectly rational players (hence the title of the wiki article you linked). In either case, the generalized prisoner's dilemma generalizes the payoffs and penalties, but still assumes two players.

Perhaps you were thinking of the iterated prisoner's dilemma since it does deal with more than two players; however, the iterated prisoner's dilemma deals with playing the game more than once in succession, while here we have a single round with an unknown number of players.

As it stands, the given problem is not a version of the prisoner's dilemma, but an entirely different sort of problem altogether. We could perhaps impose additional constraints in order to reduce it to some generalization of the prisoner's dilemma; in any case, as stated, we cannot say that this is "the prisoner's dilemma with extra credit" in any meaningful sense.

(significantly edited for clarity and organization)

Further edit: I am not aware of a canonical statement and solution of an N-player prisoner's dilemma. I would be interested in a reference.

<comment><USER4> The players don't have to be rational. It is interesting to study PD with non- rational players, e.g. when it arose as a model of the nuclear arms race. It's true that the PD _also_ "shows why two purely 'rational' individuals might not cooperate" but that is not part of the defn of PD.

I was not confusing iterated and n-player versions.

For a ref, eg [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29....](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.388&rep=rep1&type=pdf) and it gives some further citations.</comment></comment></comment></comment>


One City Saved $5M by Routing School Buses with an Algorithm - <AUTHOR> https://www.routefifty.com/tech-data/2019/08/boston-school-bus-routes/159113/ <comment><USER3> Here's an article about some MIT folks who tried to do this and were shut down by annoying rich people.

My greatest frustration is that they complain about black box algorithms when in fact it is a perfectly clear, ambiguity-free optimization function.

[https://www.google.com/amp/s/www.wired.com/story/joi-ito- ai-...](https://www.google.com/amp/s/www.wired.com/story/joi-ito-ai-and-bus- routes/amp)

<comment><USER4> Oh I remember this story. Back then when I dug into it, it was a real spin- versus-spin situation.

Sure, when you introduce an approach that suddenly creates considerable inconvenience for some population of parents, sure they complain (no one _likes_ having to drop off kids at ~ vaguely recalling ~ 10 am and pick at 5 pm, sheesh, it was something terrible). Some large portion of working people are fairly dependent their children having ordinary school schedules. Maybe these were relatively better off parents in the public school system - <USER2> the actually wealthy use private schools (I know Boston well enough to attest to this). So the algorithm failed to "optimize for those they could effectively screw" but hey, would it be too much to ask to just give all schools a sane schedule? Maybe pony up that extra money, give up the need to optimize everything, keep the tail of bus optimization from wagging the dog of school scheduling?

<comment><USER5> For elementary students apparently "Hundreds of families were facing a 9:30 to 7:15 a.m. shift."

That's a significant change in wake up time. Yeah, I'm not keen on that. It's a non-starter.

<comment><USER6> It's a change between years, and students moving to high school are already facing the exact same changes. The disparity can't be a non-starter because it already existed.

Those early hours exist. Someone has to take them (without doubling the bus fleet size). And it's better for the students if they have the early hours in elementary and not in high school.

<comment><USER5> Rather than penalise subsets of people with early starts, I would rather everyone pay marginally more in taxes for more buses.

Also what if your family has both teenagers and preteens? In my family we drove, so the schedule was based on when my parents had to go to work. I'd often arrive at school when the library opened or just before, which is a good hour before when classes started. Then again, my school experience wasn't in the US, and schools started 8:30am / 8:45am consistently across the city.

<comment><USER7> > Also what if your family has both teenagers and preteens?

"When I was a kid" preteens and teenagers were expected to be able to get to the bus stop on their own; But maybe that's just because both of my parents worked and left before the bus came.

</comment></comment></comment></comment></comment></comment><comment><USER8> "After it was unveiled parents loudly objected to the proposal. Less than a month later, the district repealed the proposed new school start times. As Dimitris Bertsimas, a professor who led the MIT team, pointed out in a presentation about the solution, those who favored the status quo had the most to lose. "When your kids are affected negatively, it is hard to see the big picture," he said."

Joi Ito wrote on this [https://joi.ito.com/weblog/2018/12/05/what-the-boston- school...](https://joi.ito.com/weblog/2018/12/05/what-the-boston-school-bus- schedule-can-teach-us-about-ai.html) :

"In very polite email, they told me that I didn't have the whole story.

Kade and I met later that month with Arthur, Sebastien, and their adviser, MIT professor Dimitris Bertsimas. One of the first things they showed us was a photo of the parents who had protested against the schedules devised by the algorithm. Nearly all of them were white. The majority of families in the Boston school system are not white. White families represent only about 15 percent the public school population in the city. Clearly something was off."

"Optimizing the algorithm for greater "equity" also meant many of the planned changes were "biased" against families with privilege. My view is that the fact that an algorithm was making decisions also upset people. And the families who were happy with the new schedule probably didn't pay as much attention. The families who were upset marched on City Hall in an effort to overturn the planned changes."

<comment><USER9> >Optimizing the algorithm for greater "equity" also meant many of the planned changes were "biased" against families with privilege.

I mean maybe but measuring that by the skin color of those protesting is... not a good method. Of course people marching on City Hall or showing up at schoolboard meetings are going to be the disproportionately privileged, they're the people who have the time for that sort of thing. But even there I'm a bit skeptical, take a look at this:

>Parent Antonia Rodriguez after a fiery address. She says of her and fellow parents, "We don't have careers; we have jobs!... We're laborers!" And that makes it hard to handle early starts and early dismissals.

or this video just below:

[https://twitter.com/jmlarkin/status/941104843137064960](https://twitter.com/jmlarkin/status/941104843137064960)

which gets to the main root of the opposition which was drastically earlier start and end times for elementary school students, two hours earlier in some cases.

>But for those who can't stagger working hours — specifically single parents or families who don't have any wiggle room on working hours — kids often see themselves to bus stops in the morning, then wait an hour or so after school, alone, until parents return. I see it every day.

>Under the new start times, and therefore early end times, these kids will be spending up to four hours home alone every day.

>Let's not sugarcoat: After-school care is for financially advantaged families. Costs vary, but for two children at the YMCA in West Roxbury, after- school care from 3:25 p.m. until 6 p.m. is more than $700 per month (the cost would naturally go up with the extension of hours needed), plus the yearly membership cost of the YMCA (currently $90 per family).

...

>And for what? So Boston Public School can save a little in transportation expenses. And while they save, families will find themselves in increasingly precarious financial straits.

[https://www.wbur.org/cognoscenti/2017/12/12/boston-public- sc...](https://www.wbur.org/cognoscenti/2017/12/12/boston-public-school- johannah-haney)

Or this analysis from the Boston NAACP, the Lawyers' Committee for Civil Rights and Economic Justice, and the East Boston Ecumenical Community Council:

>This ignores the fact that parents of color are disproportionately in lower- wage jobs, and are less likely to have the flexibility needed to build their schedules around a school day that ends at 1:15 or 1:55, let alone pay for any resulting need in after school care

[https://www.boston.com/news/education/2017/12/16/naacp- lette...](https://www.boston.com/news/education/2017/12/16/naacp-letter- condemning-new-boston-public-school-start-times)

\---

Now it's clear that BPS used the MIT students here as a tool, a coating of algorithmic sophistication over a plan they already had, but it strikes me a bit poorly to see those students using 'actually we did everything right, it's just rich parents who stopped us' as a scapegoat.

<comment><USER8> Thanks for sharing this. I don't live in Boston so I haven't closely tracked all the views on BPS.

</comment></comment></comment><comment><USER10> Interesting - so is it "a thing" in the US that the city runs a dedicated bus service for all schools/students? Quite a surprise for me considering how poor people say public transport is in general in the US?

In the UK some schools run their own bus things (in the same way that Goolge, Facebook et al do in San Francisco), but most of the other schools just get by with the public buses.

There is often some coordination to make sure buses stop at/very near schools, and they may send extra ones at certain times - e.g. there were often several buses parked up and waiting empty at my school so they could be filled at the end of the school day, but any member of the public was then able to get onboard once it was on its usual route after that, and if you were late getting out (e.g. detention/sports etc) you'd just wait at the stop outside the school for the usual bus on its usual route to come by.

What do the US school buses and their drivers do for the rest of the day and on weekends? Just sit idle?

<comment><USER11> Most US cities and towns have minimal public transit that wouldn't be anywhere near sufficient for getting kids to and from school, so they run school buses instead. In some places with good public transit, like Somerville MA where I live, the city doesn't run school buses and people walk or take general purpose public transit, but that's very unusual here.

It's the same deal as the tech shuttles: in places where public transit is good (NYC, Chicago, Boston) the tech companies don't run shuttles because there's no need.

 _> What do the US school buses and their drivers do for the rest of the day and on weekends? Just sit idle?_

Yes. The drivers typically work a "split shift" with time off in the middle of the day, and the buses sit empty both then and on weekends.

<comment><USER12> My father was a school bus driver. The pickup and drop off routes were often 3 hours each, as they were mandated by local law to provide service to the whole country.

Kindergarten is just half a day in many places, so the middle of the day would be another 3 hours to shift those around.

There were also many field trips, sporting events, and other miscellaneous calls for transport throughout the day and into the evenings, as well as some weekends.

Much of all of this would vary quite a bit depending on a particular town's location, population needs, layout, etc. but I just wanted to say that although it's a relatively chill job and there is indeed often a lot of downtime, it's not like bus drivers universally work 1 hr in the morning, 1 hr in the afternoon, and then just bum around all day.

<comment><USER13> All the districts in my area are begging for school bus drivers. The pay is going up and some are offering full time benefits for driving part time. I've also seen them offering to split the morning / afternoon shift and paying teachers extra to drive buses instead of coach after school sports.

</comment></comment></comment></comment><comment><USER14> In Germany we're assigned to the nearest school.

I remember walking to school in elementary school, later taking the bike for 20 min or public transportation. I don't live in a particularly dense area.

Is Boston too sparsely populated to have schools in walking or biking distance?

Seems that we accept distances of 1-2 km for elementary school walks. (0.6 to 1.2 miles)

<comment><USER4> Boston is different from this in a whole variety of ways.

1) Americans just in general tend to drive their kids to school dues to fear of child abductions and related ever-present paranoia.

2) Boston's transportation system is broken on just about every levels. The street organization is irrational, derived haphazardly from ad-hoc pre-auto paths. The public transit system was also built in an ad-hoc and is at level where full transit lines stop for days at a time. So all that's left is driving, though Boston drivers have a terrible reputation too!

3) Boston's weather is also miserable - the place is at just latitude so that wet, 30 degree weather prevails in winter, giving freezing rain, frozen rain, slush and all manner of nastiness. Plus horrible hot, humid summers. So you have to avoid walking a lot.

4) Boston experienced court-order busing to end segregation in the 1970s, so it's often true that students aren't in schools closest to them geographically.

<comment><USER15> Isn't Boston's climate very similar to most of Germany's?

<comment><USER16> One thing I have learned from reading (and occasionally taking part in) these discussions is that _no, it is not_. The US is _different_. It is too big, too small, too densely populated, too sparsely populated, too hot, too cold, too dry and too humid for anything to work. It does not matter if something appears to work most everywhere else. It will not work anywhere in the US.

<comment><USER17> Ironically, it is actually hotter, it is actually colder, it's all of those things you sarcastically point out. Except being too small or dense, who told you that?

I'm from the American Midwest and I'm currently in Northern Europe. The difference is huge. The density issue of American suburbs is real, and the phenomenon is relatively rare globally. Go check out Google Earth. How do you not see it?

The weather is also more extreme in most places of the US than Europe. When Europeans tell people in Wisconsin to "just take an electric scooter to the metro station" they understandably laugh it off as ridiculous.

<comment><USER18> That's true for the Midwest but not necessarily for Boston. The temperature range is a bit larger in Boston but German cities can also have >100F weeks in summer and several weeks of snow in winter.

<comment><USER19> Snow is fine, but Boston will get 3 feet of snow, then an hour of freezing rain, and the next day it will be 45F. Winter is chaos

<comment><USER20> And that situation would literally just be business as usual in somewhere like Bangor or Buffalo. In Boston it's an excuse for half the city to call out of work and the MBTA to run trains "whenever we get around to it".

<comment><USER21> In Bangor or Buffalo there is very little "business as usual". Boston is far more dense and optimized with less slack in the system.

I bet that the activity in Boston when it is "shut down" due to weather is still busier than an average day in Bangor or Buffalo.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> The end of the article notes the whole plan was scrapped based on parental feedback.

More background:

[https://www.media.mit.edu/articles/what-the-boston-school- bu...](https://www.media.mit.edu/articles/what-the-boston-school-bus-schedule- can-teach-us-about-ai/)

<comment><USER23> Thats not quite right - they did optimize bus routing and did save $5M. But when "the algorithm" suggested further improvements that required changing school start times (presumably so that the same bus and driver could work multiple routes to multiple schools), there was pushback and those changes weren't implemented.

<comment><USER24> That's really sad, there's so much to be gained by staggering school start and end times. Even in places where school buses aren't used - for instance, burden can be reduced on public transport among other things.

<comment><USER25> But school start and end times need to fit somewhat with the parents worklife and out of school activities, they do not exist in a vacuum.

</comment></comment></comment></comment><comment><USER26> This is hardly new. Back in 2001 I almost ended up working for an Italian company, based in Florence, which successfully implemented a different routing for public buses in Rimini (another Italian city) using linear programming and genetic algorithms.

The field has been explored, and a number of solutions have existed for at least ~25 years.

What's impressive in this article, instead, is the amount of savings; $5M is not small change.

<comment><USER27> Having done some work in truck route optimization in the retail / wholesale petroleum delivery space I'm a little shocked that their inefficiency was so bad to begin with. (There are some really fun problems in this space. Traveling salesman meets bin packing, just for starters.)

<comment><USER28> These are often done by hand, I'm really not surprised.

<comment><USER29> You can also see this effect in Google and Apple maps:

There may be three ways to get from one neighborhood to another, and the locals know that one is faster, safer, or both at certain times of day.

I have this argument with a couple of friends who don't understand why I use different routes at different times of day and specifically why I don't use _their_ route, when they've never been in that part of town during rush hour.

<comment><USER30> I lived in this city for many years. I was born here. The problem is, there are now so many other people who live here that what was once great shortcuts aren't any longer. It's been a shift to "light traffic = unusual" from "avoid rush hour and you'll be OK".

I am getting used to checking Google Maps before going anywhere near a freeway. Just a few days ago, I noticed that traffic heading south seemed bad as I was going north to drop off my daughters. I checked Google Maps and it said that going south on the freeway was fastest. I dithered and then got on the freeway. The choke point that was there 25 minutes ago was gone and I saved a bunch of time staying off surfaced roads.

The state highway department has cameras and road reports and announcements of construction. 20 years ago, I would have been on their website. Now I don't have to. I just use Google Maps.

I'm an iPhone user and I do try to use Apple Maps more often because of privacy concerns.

</comment></comment></comment></comment></comment><comment> dfeojm-zlib Could've used this 30 years ago when I was forcibly-bused across town to a "magnet" school 1.5 hours in each direction (3 hours of busing total). Getting up a 4:45 am and not getting home until after 6 pm as a pre-teen sucked. The big thing is the route they took was very circuitous and served both many stops and schools.

</comment><comment><USER31> The automation of this is great and saves time and money.

But this highlights the exact problem that Andrew Yang, the Democratic Candidate is highlighting which is: what do we do with people whose jobs are lost to automation and algorithms?

His proposal of universal basic income helps these people who have lost their jobs attempt a soft landing because at least they will have some income.

I used to be against UBI but now I fully understand why we need it, because too many jobs are going to be eliminated, and what do we do with these people who have lost their jobs? They are likely older with lower skills, and retraining programs are statistically an abject failure.

<comment><USER32> We could start by not underestimating human capacity to invent new jobs. Long before algorithms were a thing, automation largely eliminated agricultural and domestic servant jobs that used to employ the vast majority of people

And the welfare state wasn't invented by Andrew Yang: only difference is his variant assumes people who are desperate to find work and people that have absolutely no need to or intention of doing anything other than live off their savings or family wealth have exactly the same need for subsidies...

</comment></comment><comment><USER33> Here's something that UPS is doing [1] and something FedEx is doing [2]

(these two should know a few things about route optimization :-)

"Another proprietary tool UPS uses to manage its fleet system is ORION (On- road Integrated Optimization and Navigation)...The cost and time savings and emission reduction based on this optimization alone is extraordinary—UPS expects to reduce delivery miles by 100 million"

[1] [https://www.forbes.com/sites/bernardmarr/2018/06/15/the- bril...](https://www.forbes.com/sites/bernardmarr/2018/06/15/the-brilliant- ways-ups-uses-artificial-intelligence-machine-learning-and-big- data/#7fc83a9a5e6d)

[2][https://routific.com/stories/fedex- courier/](https://routific.com/stories/fedex-courier/)

<comment><USER34> It's not whole FedEx. It's one office.

</comment></comment><comment><USER35> I'm a bit curious on school bus thoughts by area. Where I'm at now, it seems like they don't want to run them at all. They put the best schools up as 'choice school' lottery, which means no bus, and if you live within two miles of a school, no bus. Even if you offer to pay. Of the 600 students in my child's school, 400 spend 45 minutes in a line twice a day, most due to the circumstances. Obviously not an effective use of time, or good for the environment, I'm a bit taken back by just how awkward bussing is in the US. In my previous city, a bus would travel 45 minutes to pick up a single kid. Neither seems practical, really.

<comment><USER36> Same. I grew up on Long Island taking the bus to school, as did every kid of sub-driving age I knew. Under New York law, even private school students got subsidized buses if the school was in some reasonable distance. We watched sitcoms and movies from Pete and Pete to Christmas stories where kids took the yellow bus to school.

Now I don't have kids, but plenty of my friends around the country do, and I'm always shocked to learn that school buses don't seem to be an option. Either they just don't exist in the district, or they require kids to cross major commercial roads to get to a stop.

The depressing thing to me is parents sort of roll their eyes when I ask, like this reasonable public amenity that everyone I grew up with relied on less than 20 years ago is the equivalent of the neighborhood milkman.

</comment></comment><comment><USER37> $2000 per student per year is insane for a bus service. That's like $10 a day. You could probably UberPool every kid at that price since you'd have a high utilization rate for two narrow 30 min to 1 hour windows each day.

<comment><USER38> $200 would be more appropriate.

<comment><USER39> That's like 50 cents per ride. There's a reason mass transit isn't that cheap.

</comment></comment></comment><comment><USER40> When I was a summer intern for a county computer service facility in the early 80s, they had a big IBM mainframe, and a bespoke program for school bus routing. Every summer, this program consumed a fair amount of the activity for the facility, which contained more than a dozen individual school districts.

I don't know the extent to which it was capable of _optimizing_ the schedules, but it was considered to be a pretty big deal. There was apparently a lot of hand-coded logic for dealing with things like one-way streets and not wanting bus stops on busy streets.

</comment><comment><USER41> This reminds me of one of my favorite startups: [https://remix.com](https://remix.com)

</comment><comment><USER42> Didnt FedEx or UPS do this same thing years back by eliminating left hand turns?

</comment><comment><USER43> If they had taken $1M of that saved $5M and distributed it to all of the families inconvenienced by this change I wonder if that would have affected their opinion.

</comment><comment><USER44> where was this when I was in school haha

</comment><comment><USER45> > Running the algorithm in the summer of 2017 allowed for the system to > eliminate 50 buses

Or read another way: "Running the algorithm eliminated 50 jobs due to automation".

This right here is what Yang is all about. The incredible loss of jobs due to technology.

<comment><USER46> I'm no economist, but that 5 million saved will be spent on other job creating activities. Perhaps it won't be a 1:1 replacement, but it's certainly not the elimination of 50 jobs.

<comment><USER45> Yes, 50 bus driver jobs, which require maybe a high school education, was replaced with teacher jobs, which require an education beyond bachelors. Those aren't equivalent jobs. Those bus drivers are SOL because most of them aren't interested in retraining.

<comment><USER47> > most of them aren't interested in retraining

And this is the problem. Culturally many people seem quite happy to leave high school and get a menial job. Those jobs are vanishing, just like jobs for elementary school dropouts vanished decades ago.

Society doesn't need people who are unwilling to aim higher than driving a bus for 50 years.

This doesn't mean everyone needs to have a phd -- there's plenty of jobs for trained plumbers, electricians, mechanics etc, but those all require training post high school.</comment></comment></comment></comment>