Ask HN: Fastest way to build live chat? - <AUTHOR>

I'm working on an app requiring live one-to-one chat amongst users, presence, and other real-time functionality.
My app uses rails/backbone.js/MongoDB, and for real-time stuff I've been using PusherApp, but it has limitations--the biggest one being no easy way for my server to know which users are online (to indicate presence).
What's the fastest way to get this sort of thing done?
I've been looking into learning how to write something in Node.js/socket.io, or use a service like BeaconPush, PubNub, or Kwwika (and keeping my code in ruby w/ EventMachine). <comment><USER2> (Disclaimer: I'm the project lead on Beaconpush)

Beaconpush is a good alternative for doing this. We support user presence and you can use the API to find out what users are connected. You can even log out users from the API.

We have a contributed Ruby library (called Dimma) made by one of our users. Don't think it's EventMachine based though. Read more at <https://github.com/Burgestrand/Dimma>

node.js with socket.io is also a nice alternative. Played with it somewhat myself and I like it! But hosting it yourself will make you deal with scaling, deploying, uptime and hosting in general. Not exactly stuff you want to focus on when developing things on a tight schedule.

So if you're asking me, I'd naturally say Beaconpush (<http://beaconpush.com>) :)

<comment><AUTHOR> Cool. BeaconPush is probably also the easiest solution for me to migrate to.

Any idea when webhooks will be ready? (That would seem to me to be the easiest way to keep the server up-to-speed with who's online?)

</comment></comment><comment><USER3> Have you tried the presence functionality described on <http://pusherapp.com/docs/presence> ? It doesn't cover all use cases, but for the cases it covers, we think it does a pretty great job! Disclaimer: I'm from Pusher :)

</comment><comment><AUTHOR> Also found: Using node.js, backbone.js, socket.io, and redis to make a real time chat app <http://news.ycombinator.com/item?id=2306423></comment>


Ask HN: How much does it cost to outsource iPhone app development? - <AUTHOR> There is an app that I would like to code up, but if the cost is not too prohibitive, I'd like to outsource it.
I searched the web for info on good iPhone dev shops and prices, but couldn't get good answers, so I thought I'd ask HN.
Of course, it all depends on the app. How complex, etc. Assume a moderate app, with, say, up to five different views, storing of some user data, and using the location framework.
Nothing too complicated. I think it might take me a month or more to code, but it should take a more experienced iPhone coder maybe two weeks.
Am I looking at $5,000,  $10,000,  $20,000,   more?
Some info:
1) I don't want bottom-of-the-line developers. I don't mind paying extra for good developers
2) I don't mind paying up to several thousand dollars. My take is that if I can't make that money back from the app, I would prefer to have wasted money than 1 or 2 months of my life.
Besides the price, do you guys know of good iPhone dev shops? I take it that the standard procedure is to look on elance.com, odesk.com, etc, but I've never used them and I'm not sure how to use them to find a good developer.
I'm in the SF Bay Area, so a good local dev shop would be great, even though I wouldn't mind a dev shop from elsewhere. <comment><USER2> The going rate for a great developer/designer with lots of mobile experience here in SF is in the ~150 an hour range. I've seen this price go up significantly in the last couple months, primarily due to high demand at the moment. You can probably get a little cheaper outside the area and definitely less offshore, but even then a good offshore house will run you $60 and they often don't like doing fixed bids at those prices.

My experience is that app development for a medium to high complexity app with location features and accessing a 3rd party API for data would typically take 4-6 weeks including QA but really depends on the complexity.

I've done about 30+ mobile apps now so ping me if you need any advice

<comment><USER3> Everyone reading this, please don't think the ~150 an hour range is normal for an individual developer. This is generally the rate for a full service design/development agency where you get an account manager, secretaries, etc.

I do iPhone development and haven't met anyone getting even close to $150/hr individually. If someone made that, they'd be be making $6,000/week and $300,000/year.

yish, can you confirm that this is an agency rate, not an individual developer/designer rate? or is this the rate you're making personally?

<comment><USER4> I know UI designers (who work on iPhone & iPad apps) that make $120-150 per hour for their work and they work for themselves, no agency. Of course your _goal_ is to have 40 hours a week of billable work but it never really works out like that :)

<comment><USER5> 40 hours a week of billable work is damn near impossible. Even if I could find that much work, I wouldn't be able to handle it on a regular basis.

</comment></comment></comment></comment><comment><USER6> Hey. We have a team of wanna-be iPhone app developers made up of ~6 people. We're high schoolers with a few years programming/graphics design experience.

We're just starting up. If you're interested in maybe outsourcing something to us, shoot me an email. Since I understand that we're not experienced iPhone developers and maybe not even experienced developers in general (I'd like to think we're pretty decent, but maybe that's teenage arrogance speaking), it would be incredibly cheap.

But we're dedicated, have spare time, want to learn, and we would be willing to accommodate changing schedules, weird requests, whatever, if it means we get a chance.

My email is <my username> at Gmail.com.

<comment><USER7> > it would be incredibly cheap.

Don't undersell yourself! I learnt early on that charging the _right_ price does wonders for bringing in better customers and better work.

(plus if your earning good then you have more impetus to get finished on time)

</comment></comment><comment><USER8> Too many variables to be able to suggest a total rate (depends on how much work there is, in addition to the other factors listed).

You are probably looking at the equivalent of $100-200/hr for good development, with the higher end for people located in SF.

If you are going to out-source development, and you have a design/product background, I would build out a product spec and even a draft list of stories into Pivotal Tracker. It will help you define with your contractor what you want but also help to estimate total job time -- and that will help you arrive at a budget, based on the above hourly rate.

[If you don't have a design/product background (or are not a developer yourself) then the success of outsourced is probably going to be mixed]

I also tend to shy away from fixed bid because it doesn't work with an agile approach. You may not know completely what you want and as you get building and can get a better picture, being able to add extra components into the mix will cause friction with a fixed bid contract.

Better to agree a budget so that everyone is clear what the limits and goal posts are.

<comment><USER9> >I also tend to shy away from fixed bid because it doesn't work with an agile approach. You may not know completely what you want and as you get building and can get a better picture, being able to add extra components into the mix will cause friction with a fixed bid contract.

Fixed bid works just fine with an agile approach. You just start with a very small core project, then iterate upwards with follow on projects.

This is _especially_ important for the Apple App Store because there is no other way to know if your app will be approved.

Fixed bid is sometimes more expensive due to the "risk eating" the developers are taking off your hands, but agility isn't usually the issue with developers who are otherwise good.

We counsel clients to start with a small fixed bid project then use hourly or follow on projects to change the program to a particular place they want to go.

<comment><USER10> _This is especially important for the Apple App Store because there is no other way to know if your app will be approved._

This is HUGE! Do you believe a company can flourish just as an App store app. or is that just too risky. Would love to hear your personal opinion.

I'm working on an enterprise solution, and it's reliance is completely on Apple's code-of-conduct.

<comment><USER11> If it's an enterprise solution, it doesn't have necessary have to go through App store, no?

<comment><USER9> If you have an _internal app that's only used by people who work for you_ , you can use the enterprise deployment kit to deploy internally.

This is designed for people who say, buy 100 ipads to replace clip boards in their hospital.

You _cannot_ however, do distribution through _any_ mechanism other than the app store (I had one perspective client who wanted to buy $30k of iPodTouches and give them out to clients, Apple flipped a shit when I asked for a discount on them and said you're wholly unallowed to do anything of the kind. Each person must download _all_ their apps through their account on the app store. Anything else is forbidden.

<comment><USER11> So you are saying that if someone sells an app (which might be sold with minimal modifications to other hospitals) for the 100 ipads to a hospital as an enterprise solution (let's assume we can get the hospital to buy the iPad directly), the app still has to be put up on the App store? Doesn't that confuse the hell out for users that don't work in the hospital?

I develop iPhone apps selling on the app store, but have never explored the enterprise distribution side of it. With the iPad, it's becoming interesting.

</comment></comment></comment></comment></comment></comment><comment><USER9> This is what I do for a living (in Atlanta though).

Depends a _lot_ on the complexity.

For non-game apps: Some smaller, simple apps are 2-3k, more complex stuff runs in the 10-15k range. Past that you're doing something A> Really Hard, B> New, C> On the edge of what Apple allows or D> Heavily involved with a complicated server component.

I'd happily send you a fixed fee quote for your app if you'd like (see profile for an email address to contact me).

One thing to see: See if they'll set you up on your mac getting you compiling and signing for submission to the store. Lots of overseas shops don't get you through that last part, and it is pretty tricky to do right.

<comment><USER12> +1 for the walking the client through the developer approval process. It's win-win, as the client gets the app released under their own moniker, and you get to preserve your anonymity.

<comment><USER9> HA!

I actually do submission for some people as well and the whole rigmarole. All depends on what the client is interested in paying for.

I've helped several people who hired out of country developers then got left with a pile of source code and no way to get it on the store.

One of them, amusingly, wouldn't let me VNC in to their computer, so I had to do it all by phone (that was fun). Most of the rest of them I use copilot/webex or something to help train them on the process and get their computer setup for distribution.

</comment></comment></comment><comment><USER13> A couple of months ago I had an idea for an iPhone app that requires a client and server component. I decided to focus on the backend development and outsource the front-end. I have posted my tender on <http://www.getappsdone.com/> and in a very short amount of time I have received several offers from shops and individuals from all over the planet, mainly US, UK and India. I have replied to every contact asking for a portfolio and I ended up with a couple of candidates. I also received all sort of prices, from suspiciously low (40US/hour)to rip-off high (> 200/h). I have based my choice on the quality of the portfolio, on the similarity of apps already developed by the shop to mine and, of course, on the overall price.

<comment><USER14> I'm glad to see YC people using it. We are really trying to focus on a fair marketplace more than a race-to-the-bottom one (like elance and others).

</comment></comment><comment><USER15> I'll be happy to talk to you about your app. I've been developing freelance iphone apps since day 1 of the beta. I've had apps featured at the All Things D conference, NY Times, all of the gadget websites and one of my apps was chosen as one of the top 20 apps of 2009 by a prominent magazine.

I live an Ann Arbor MI, but I've done several projects from companies in CA including a prominent app for a San Jose based company.

Please contact me via email and I'll turn all of this theoretical stuff into real names and places.

<edit>My rate is $75 per hour, which is why I think many CA firms don't mind working with a remote resource<end edit>

<comment><USER16> I have a questions on the dynamics if you don't mind me asking...

-is this your full time job and your sole source of income ? -are you able to find a normal amount of work just like a 9-5 job (i.e. 40 hours a week for 50 weeks -> 2000 billable hours a year)

<comment><USER15> It is currently my full time job and sole source of income. When I first started, for about the first 4 months or so, I had a full time job and worked iPhone projects on the side. Since then I have been dedicated full time, once I realized I could do it.

Of course there are ups and downs, so sometimes I'm working a couple of projects at once and working 60-70 hours, and sometimes I'm fighting to stay busy, but in general staying busy has not been the problem.

Like this post though, given the amount of west coast work, I find myself working late most of the time. But that adjustment was not a big deal and many customers like that I have been working on stuff for them while they were still having breakfast.

</comment></comment></comment><comment><USER17> I started up a small development shop about a year ago with a couple other people from Hacker News, and we have done a lot of iPhone development. I would be glad to talk with you about your project. We deliver quality work, and charge much less than some of the more well known shops.

We just launched two iPad apps this past weekend, and they are in the top 100 in both overall categories (free and paid). And they are a #2 and #3 app in their respective subcategory. Send me an email (its in my comment).

</comment><comment><USER18> We're a development shop that focuses on web development, not far from Toronto. We're dipping our toes into iPhone and iPad development - we have someone who is trained, but no app in the App Store yet. We're working on a new app right now that we intend to be free, just to build credibility. But I'd be happy to quote on your project. I'd cut you a deal given that it'd be great exposure and experience for us.

I realize that stating up front that we have limited experience in the area probably doesn't inspire confidence. However, we're a high quality shop with excellent design skills. We produce quality software, and wouldn't let you down.

Contact info in my bio if you're interested.

</comment><comment><USER19> I'm in Raleigh, NC. I develop iPhone / iPad and Android apps for a small dev firm. We price our apps on a fixed rate basis, typically starting at $3k, for full service work (graphic design to app store distribution); 2-3 week lead time.

Although we could bill $100 - $150/hr, we find clients respond better to fixed rate pricing, which seems to be a more manageable on both ends.

We focus heavily on providing excellent design and rich UI/UX. We often work with agencies behind the scenes or with enterprise customers, brands, publishers and entrepreneurs with an "idea". Pretty much all types of customers.

We also build the web service infrastructure, which may include social, geo and eCommerce capabilities and/or integration.

Btw, we've had iPhone apps approved in as little as 2 days.

Your app seems like some of the apps that we've developed for $2-3k, assuming you have a workflow / spec draft and initial design consideration.

</comment><comment><USER20> I do freelance iPhone/iPad dev work. I'm in Boston. email@example.com

For reference, I built this: <http://michaelgrinich.com/hackernews/> The rest of my portfolio isn't yet online. Send me an email and I can show you more.

<comment><USER21> I had looked at your hackernews app a while back and it seemed pretty nice and well built... but I have to question charging for an app that delivers the content of a free 3rd party site like HN.

<comment><USER22> Why? The iPhone has mobile Safari, and the HN clientele are certainly smart enough to know how to use it.

Clearly the app has to deliver some value outside of the content. Think bottled water.

<comment><USER20> I like the bottled water analogy. :-) Thanks for that.

The app isn't a huge moneymaker, and was never meant to be. I built it out of frustration and only later decided to throw it up on the store. Building against an api-less site was a fun challenge and I learned a ton. It also uses the Three20 framework, which was an interesting experience. (absolutely no documentation at the time)

Think of it as buying me a cup of coffee to help fund a side-project. Next update should have an iPad version, too.

</comment></comment></comment></comment><comment><USER23> I remember having read this story about a girl who outsourced her app to canada for 800$ and earned upwards of 8000$ selling it. The app was about a popular game played by girls. I know I'm being too vague but I specifically remember this - 1) Canadian developer 2) Was developed for 800$ 3) It was a popular game app for girls I hope that provide some useful data points to consider. It was published in one of hacker/entrepreneurship related websites/blogs which probably many of you frequent and might have seen the story. Anyone got a link?

<comment><USER24> The game was M.A.S.H (Mansion, Apartment, Street, House) where you do something randomish to predict the housing you'll live in as an adult.

</comment></comment><comment><USER25> Whatever you do, dont use Craigslist. You get what you pay for!

And incidentally, are other just dumbfounded by those that advertise "Develop my iPhone app, no compensation" ads? How can they realistically think someone might do that?

I can understand why they advertise, in hope, but I would rather be working on my own company and my own apps for FREE.

</comment><comment><USER26> I develop iPhone/iPad apps in-house for the enterprise market, but when I take side projects, I usually take around 70-80 dollars an hour (depending on the whole scope of the project).

But it is hard to quote a fixed price without knowing much about the application. An application with two custom views with a lot of logic can easilly take 10x as much time as a CoreData 10 view application that is just drilling data.

Send me an email at firstname.lastname@example.com if you need any advice/help.

</comment><comment><USER27> I'm using rent-a-coder to develop an iPhone app for an automatic thought record -- a tool that clinicians use to help people challenge irrational thoughts with evidence and rational thoughts. I put the bid out at $300 just to see what happened. I had 3 bids and ended up choosing one w/60+ reviews and a 9.7 (out of 10 rate) for $250. Feel free to email me with any questions. I'd be happy to share the project plan they developed.

<comment><USER28> Were you happy with the result?

<comment><USER27> It isn't done yet, but they've been keeping me up to date and very professional. It should be done in the next 7-10 days.

</comment></comment></comment><comment><USER29> I got a very rough quote from a Toronto firm to do a location based app for web, iPhone and Android for approximately $370,000. I just talked to a Vancouver developer who charges $120/hr. As others have mentioned there are numerous variables, but most developers will usually be happy to do an initial free consultation to learn more about your project so that they can at least ballpark a figure to you.

<comment><USER9> What? I can't imagine spending that much money on a non-game development effort for a mobile device. What the heck does it do?

<comment><USER30> "location based app for web, iPhone and Android for approximately $370,000"

Note the "AND"'s. I suspect this isn't some simple thing - it's probably a 300K web app + 2 35K mobile apps.

<comment><USER9> Yeah, didn't see the "AND". Android is more expensive too usually for various reasons.

<comment><USER30> Is it? Why? (Just less programmer doing it?)

<comment><USER9> Android is harder because:

Multiple resolutions Poor Tools (Eclipse is clunkier than Xcode, but there is no visual layout tool at all like Interface Builder for iPhone)

Hand Coded Layouts in XML

Multiple OS Platforms (Android 1.5, 1.6, 2.0 and 2.1 are all live in the wild and are not user upgradeable past the version they have).

Varied Screen Sizes (And no, you don't have to specifically account for this in the iPad, your iPhone app will run just fine).

In addition to those fundamental issues, currently the apis:

In-App purchase on android is a bit clunky for some programs (you are buying a separate app on the android market)

Sound is horrible, just horrible

Video is poorly documented, not very standardized, and not easy to use. People who write _major_ frameworks have trouble getting documentation on good ways to make good videos (I know, I mailed them the FFMPEG parameters required to do streaming video).

And lastly, it looks like the G1, the flagship phone, has been mis-specced, and will likely never get the 2.x line of android OS releases (that's what droid runs now).

</comment></comment></comment></comment></comment></comment><comment><USER12> I would pick a development team here and have some small part in the codebase. Be willing to pay a little more for people who are willing to answer your questions and keep you accountable for small tasks. That is the basic framework (minus the pay) for a long-term iPhone bootcamp that I will be starting with a long-distance friend soon. Everything will be done over Google Wave and Github-like sites.

</comment><comment><USER10> Thanks for the question. I'll be monitoring this thread, because I'm entertaining the thought of outsourcing my iPad app. development as well.

 _Upvoted_

<comment><USER6> Hey, I commented earlier on this thread: <http://hackerne.ws/item?id=1251640>

Although I do feel a bit spammish writing again (when you've already said you'd be monitoring), I just want to emphasize that if you willing to outsource to a group of moderately trained but dedicated high schoolers, we'd be very glad to accomodate - and would do so cheaply.

</comment></comment><comment><USER31> I've worked with Take 5 Labs (<http://takefivelabs.com/>) for iPhone app development. They developed an app for the last company I worked for (<http://www.veritasprep.com/iphone-gmat-practice-quiz/>). That app was in the $5-10k range.

</comment><comment><USER32> Might I recommend that you make it a web app?

All of the facilities you have listed are available in Safari (client side storage, location data).

<comment><USER17> That is an option, but much more difficult if he is planning on selling his app.

<comment><USER33> Once it's developed and working, PhoneGap can turn it into a native app that can be sold on the App Store.

Also has the benefit that it can be potentially made cross-platform, so you're not as tied into just the iPhone.

</comment></comment></comment><comment><USER34> A friend and I went to a few dev shops with an iPhone app idea. We got bids from $10k up to $50k.

I really like the work these guys do: <http://www.ubermind.com>

You might also post in 37signals' job board–they have an iPhone category.

</comment><comment><USER35> Hi,

I am the CEO of Chaitu Systems. We focus on developing iPhone and iPad applications only, with a team in India that has already delivered some projects. Please connect with me at firstname.lastname@example.com if you want to discuss your outsourcing requirements.

Regards,

Krishna Kumar

</comment><comment><USER36> Since you're in the SF Bay Area, you should hang around the Hacker Dojo and see if there are any takers. Generally speaking, there are pretty good developers there and they don't charge and arm&leg for development.

</comment><comment><USER37> <http://theymakeapps.com> \- a directory designed to answer exactly the question you're asking. They also won a Best-of-Web award at SXSW last month.

</comment><comment><USER38> If you think you can do it in a month, then save yourself the money. I don't think you'd really get any app worth it's salt in two weeks, no matter who is doing the coding.

</comment><comment><USER35> I am sorry, I forgot to mention I live in the Bay Area, and am contactable locally. Please send an email, and we can connect.

Regards, Krishna Kumar CEO, Chaitu Systems

</comment><comment><USER39> I wrote the Postabon iPhone app (heavy location-based features), and wrote and shipped about 8 other iPhone apps before that. Your dev time expectations sound approximately right (without knowing more details), but I can't speak to current prices, they fluctuate quite a bit.

Any other questions, ping me.</comment>


An in-depth guide to hiring the right people for your startup - <AUTHOR> https://www.sandglaz.com/blog_posts/109-A-guide-to-hiring-the-right-people-for-your-startup-or-small-business

<comment><USER2> "Every hire needs to be a generalist to some extent. In a startup everyone needs to be able to see the big picture, even while they're working on the small building blocks."

This is essentially saying that they need to have a business/owner mindset. A few hires like this aren't easy to find..let alone every hire.

"In addition to hiring those who are capable of that, try to foster it in your environment. At Sandglaz, our developers handle support because it helps them stay in touch with the customer's point of view on the product."

While this sounds great in theory, it leads to developers not being able to do their regular job because they are busy dealing with customer service requests. This really should be a separate position.

"Be wary of those who will simply google a solution."

Is this basically NIH syndrome? For many things, I use Google..even if I know I can creatively figure them out on my own. Why? It saves time, money, and headaches if someone ran into other issues).

<comment><AUTHOR> "While this sounds great in theory, it leads to developers not being able to do their regular job because they are busy dealing with customer service requests. This really should be a separate position."

It actually works well for us. It adds a little variety to the developers work and gets them in touch with the customer's point of view. I believe, in a startup, it's best if everyone on your team gets some customer contact.

"Is this basically NIH syndrome? For many things, I use Google..even if I know I can creatively figure them out on my own. Why? It saves time, money, and headaches if someone ran into other issues)."

Off course you should google solutions and use other people's gems and libraries and knowledge...etc. In this example, I wasn't referring to purely technical problems. You want innovation everywhere in your company. Marketing strategy, Product..etc. Not everything you do is going to be unique, but you do want people on your team to be able to come with unique creative ideas every now and then.</comment></comment>


India Staring at a Water Apocalypse - <AUTHOR> https://www.asiatimes.com/2019/07/article/india-staring-at-a-water-apocalypse/ <comment><USER2> [https://news.ycombinator.com/item?id=20322186](https://news.ycombinator.com/item?id=20322186)

</comment><comment><USER3> Want to make a difference on climate change as a technologist? Feel free to join these communities actively looking for support and with ongoing projects (that are alive):

\- [https://climateaction.tech/](https://climateaction.tech/)

\- [https://techimpactmakers.com/](https://techimpactmakers.com/)

\- [https://www.tmrow.com/](https://www.tmrow.com/)

</comment><comment><USER4> And yet India is still heavily investing in coal.

</comment><comment><USER5> If they would reservoirs could they collect sufficient water from the monsoon seasons?

</comment><comment><USER6> Who's ready to for a century of famine, mass relocation and warfare? Hooray!

I guess the best we can hope for is it doesn't affect comfortable rich people like us too much, right?

<comment><USER7> Speak for yourself. Im a struggling bakery/cafe worker :p

<comment><USER8> In the U.S. or most of the Western World, you're still rich compared to most of the world's population.

</comment></comment></comment><comment><USER9> This article makes me question all the other alarmist articles that comes up on HN.

India is not facing a "Water Apocalypse".

Salt water infiltration into groundwater and soil is a harder problem to solve.

Urban/rural India has no system whatsoever to manage water.

The problem is that without some sort of stick, nobody is going to do anything about it and the stick is almost here.

This problem will resolve itself in time, anybody who has been even slightly forward looking would have already invested in water conservation.

Sea Level rise and salt water infiltration in agri land is much more concerning though.

<comment><USER10> Can you elaborate? I'm reading your argument as "This is not such a big deal because there are other horrifying things that are an even bigger deal", but I'm guessing that's not what you mean. Are you saying this will resolve itself _naturally_ in time? And if so, what gives you confidence?

<comment><USER9> > "This is not such a big deal because there are other horrifying things that > are an even bigger deal"

If India was Syria, then it would be a bit more horrifying, as even simple rain harvesting wont solve the problem in Syria.

India is filled with problems, let me put it this way, if India was blessed with the amount of freshwater as Canada, India would still misuse it terribly.

Its a good thing there is no petroleum.

The problem here is not rain, or climate change or drought - but politics, corruption and bureaucracy. India needs its own Meji Restoration - some type of shock therapy - or else the suffering will just continue to get worse.</comment></comment></comment>


Ask HN: How do you plan to improve your financial situation in 2019? - <AUTHOR> Starting a business? Investing and/or Saving better? Moving to a low cost area?<p>What steps are you taking to improve your financial situation? <comment><USER2> Here's one that people don't think about until it's too late. Insurance, I plan to review my coverage and act where needed.

</comment><comment><USER3> I'm debt free as of December 14 so 2019 will be all about having sizable savings. Pretty easy. Aiming for six months but won't stop at that.

</comment><comment><USER4> I'm starting 2019 with a raise, I'm looking for a new job, I need to properly investing my savings, I'll also invest in a disability insurance.

I'm financially alright though and look forward to work at most 4 days/week.

</comment><comment><USER5> Enjoy the hobbies I already invested in. I drop or pause them not because I get bored, but I get distracted by some other one too easily. Currently this means more motorcycle touring.

P.S. Thanks for putting this one up. Hadn't about it much until now.

</comment><comment><USER6> I plan to increase my income through business/consulting as I am savivng nearly 50% of my Salary and cannot save more than that.

</comment><comment><USER7> I'm going to try working on open source projects and applying for software developer jobs.</comment>


Ask HN: What are the best blogging platforms for developers in 2020? - iam-tony Now that I'm stuck home due to the corona virus, I want to pick up blogging.
I'm curious what blogging platforms out there do you consider to be the best. Features like Markdown and syntax highlighting would help.
In the past I used Ghost, WordPress, and I even built my own blogging engine. I don't want to spend a month creating a new one so I'm looking for a complete solution.
Which blogging platform do you prefer? <comment><AUTHOR> I faced this same decision a couple years back and one thing I would say is I have tried flat file services like blot ([https://blot.im](https://blot.im)) and even building my own CMS and ultimately just ended up wasting time as I needed more functionality over time. I built [https://radarthemes.com](https://radarthemes.com) which I used to build blogging themes for developers, creators, and for myself. I even released a free theme for others who faced the same road I faced.

\- [https://radarthemes.com/theme/trooper- lite/](https://radarthemes.com/theme/trooper-lite/) (free) \- [https://wordpress.org/themes/trooper- lite/](https://wordpress.org/themes/trooper-lite/) (free)

WordPress is a fantastic cms and I highly recommend it for blogging. If you do not care about additional functionality then blot.im was a great service.

<comment> iam-tony blot.im has blown me away! Thank you!

</comment></comment><comment><USER2> I still always seem to fall back to Wordpress because the idea is to create content, not play with the software.

Wordpress just works and has an active community and a ton of plug-ins which lets you focus on generating content and not fighting constantly with the tool. There are plenty of inexpensive hosting options for Wordpress, and lots of templates to get moving.

If the goal is to blog, use what is popular and already works so that you are blogging and not constantly focused on the platform. The more time you deal with the platform the less you focus on actually posting which is what is important.

FWIW, I don't particularly like Wordpress, and there are parts I downright despise, but it works and gets the job done.

<comment> iam-tony I completely agree! The point is creating content.

I focus on choosing the "right" platform now so that I wont have to think about it 5 years from now.

I have had horror experiences with Wordpress in the past and that is why I avoid it.

</comment></comment><comment><USER3> If you don't mind some self promotion:

I made a tiny, markdown-based blogging solution called Markblog. ([https://github.com/olaven/markblog](https://github.com/olaven/markblog))

No frontend framework. Just Markdown. With Github Pages/Github Actions you'll have hosting and automatic building as well ([https://olaven.org/out/guides/blog_with_git_and_markdown.htm...](https://olaven.org/out/guides/blog_with_git_and_markdown.html))

This is the blogging platform i prefer and I hope it can be of use for someone else :-)

<comment> iam-tony Markblog looks promising, thank you!

</comment></comment><comment><USER4> I recently re-platformed my personal site onto Hugo, and it's really nice. You can easily use GitHub to host, and posts are in markdown.

Templating is pretty simple and as close to plain html markup as I think you can reasonably get. Outputs flat files that you could put anywhere.

Totally reduced friction to post, no server processes or database to babysit and the binary to build it is one versioned package. I will be able to build it for years without worrying too much. Can't recommend enough.

</comment><comment><USER5> jekyll hosted on github.io or netlify seems to be in vogue

<comment> iam-tony I have explored multiple JAMstack solutions such as Gatsby, Nuxtjs, HUGO and Jekyll with Netlify or Contentful but having to learn a front-end framework from scratch will take time that I believe is not worth it for a blog

<comment><USER6> Hugo & Jekyll should be very easy to learn as long as you stick to a simple theme with minimal CSS & Javascript (jQuery). Only go Gatsby/Gridsome/Nuxt if you want to dive into React/Vue.

</comment></comment></comment><comment><USER7> I think distill [https://rstudio.github.io/distill/](https://rstudio.github.io/distill/) looks very promising. My only issue with it is I don't know much R and I really don't have any desire to learn much more than just loading and plotting data.

<comment> iam-tony I've checked it out and believe that it is excellent for people trying to visualize their findings in R. Thanks!

</comment></comment><comment><USER8> After postponing it for quite some time with all this Covid-19 measures I finally found time to setup my own blog. I decided to go with Gatsby. Not regretting it yet.

Whatever you will choose, it will be good enough. Don't worry, focus on content.

</comment><comment><USER9> I'm using VuePress. It's self-hosted and pretty fast: [https://vuepress.vuejs.org/](https://vuepress.vuejs.org/) Runs on Vue JS and Markdown.

</comment><comment><USER10> I've been using [https://write.as](https://write.as) for years and enjoying it. Perfect for plain text, does Markdown and code syntax highlighting.

</comment><comment><USER11> [https://epiphany.pub](https://epiphany.pub)

version controlled, can run clojure, js and python code on page, can fork and submit pull request.

markdown format with equation and emoji support.

<comment> iam-tony epiphany looks good, thank you for the recommendation</comment></comment>


Attempting to Bypass ASLR on Windows 7 to a Reverse Shell - <AUTHOR> https://woumn.wordpress.com/2016/10/12/bypassing-aslr-on-windows-into-a-reverse-shell/ <comment><AUTHOR> It turns out that my exploit did not work locally or remotely. I'd love feedback from you all if my understanding is flawed.

I would suggest reading at least through to "What's Happening?" because I show that at least my exploit attempts to run the shell code, but the actual shell code throws an exception!</comment>


Networking on Demand One Lunch at a Time - <AUTHOR> http://socialtimes.com/letslunch-com-networking-on-demand-one-lunch-at-a-time_b136834

<comment><AUTHOR> What do you guys think about this way of networking?</comment>


What all technologies should a python developer know? - <AUTHOR>

So I want to be good at python (web) development. What all technologies do I need to know? Git. Linux. Django. webapp2. Heroku?<p>What else? How proficient should I be in each?<p>(x-post from the reddit thread) <comment><USER2> Don't stick on one language. Learn different languages and technologies like JavaScript, Java etc. and some good frameworks like Node.js, Wicket... just look first at everything from birth perspective and look deeper if you like what you see..</comment>


The world runs on bad software - <AUTHOR> http://opensoul.org/blog/archives/2011/02/28/the-world-runs-on-bad-software/

<comment><USER2> The power of software is such that even crap has changed the world in beneficial ways.</comment>


Localno.de - serve a local site with no deployment: - <AUTHOR> http://localno.de/

<comment><AUTHOR> Share you localhost without need to install any tools on your machine. Just use Chrome.

</comment><comment><USER2> Why does the website keep reloading the page and screwing up my back button?

<comment><USER3> It's setting iframe src on a timer to detect when the hosted html file is present. Yeah, that's unfortunate about the back button, something we didn't think about during the hackathon. It would be easy enough to have the user ask to validate the existence of the hosted file instead.</comment></comment>


HelpMe: Get things done by people nearby - <AUTHOR> HelpMe is an app that would help you get your chores done by people located in your neighborhood. You would post a task and "Taskers" would propose their help to complete your chores. The person who posted the task can then choose a tasker from the list of candidates and pay the person using the app when the task is complete. People will select a tasker based on his/her ratings and reviews from other users in the community. What do you guys think ? Would you use a service like that ? If you have any suggestion please leave a comment. Thank you ! <comment><USER2> Instant feedback ...

You have major problems making this work. If everyone acts in good faith then it would be brilliant, but it needs to be resilient against bad actors, and that's hard. Really hard.

Suppose I get someone to do a job, and then I don't pay? Suppose I claim the job was badly done. Or suppose the job _was_ badly done? How will you resolve the dispute?

You say the ranking system will sort that - suppose I maliciously give bad rankings to other people in my area who are competing with me for jobs.

Having seen that some people really will set fire to the Earth just to watch it burn, I'm not sure I'd ever want to get involved at all.

<comment><AUTHOR> Thank you @CarolineW I see your point here. Thank you for your feedback</comment></comment>


Bug - <AUTHOR> Where to report about a security bug ? <comment><USER2> The link that says Security at the bottom of the page...

<comment><AUTHOR> I have already mailed them but no reply from last 4-5 days...</comment></comment>


Apples to Apples, Part II - <AUTHOR> http://www.jessesquires.com/apples-to-apples-part-two/

<comment><USER2> Looking at the original article, it seems like he is comparing sorting an array of NSNumber _objects_ in Objective-C with sorting an array of _primitive_ integers in Swift.

The only really big surprise is that the latter actually used to be _slower_. Boggle.

<comment><USER3> It's worth noting that Swift Ints (and Arrays) aren't primitives; they're named types defined as structs in Swift code in the standard library, and have methods and can be extended like any other types in the library (see [1]). That's why the unoptimized case is slow, and why the author gets such a dramatic speedup from optimization-- the Swift optimizer (unlike the Objective C optimizer, which, thanks to ObjC's messaging system, has to keep method calls intact) can use techniques like method inlining to bring performance to a point close to that of a native int/plain C array.

Regardless, I'd still like to see a comparison with C++ (where method dispatch looks a lot like Swift and the optimizer should be able to do similar things) and plain C. Might have to try that this evening if I get bored.

1: [https://developer.apple.com/library/prerelease/mac/documenta...](https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html#//apple_ref/doc/uid/TP40014097-CH31-XID_1078)

<comment><USER4> Likewise, it's also worth noting that since 10.7/iOS 5, NSNumbers can be tagged pointers rather than separately allocated objects.

</comment></comment></comment><comment><USER5> Expected an Apple II; was disappointed.</comment>


Show HN: I found an example of Instagram image classification, underneath photos - <AUTHOR> https://imgur.com/a/Ysfx5ag <comment><USER2> It's on Facebook, too. First noticed it a few months ago on a slow mobile connection. [https://i.vgy.me/98RIOV.png](https://i.vgy.me/98RIOV.png)

</comment><comment><USER3> It's in the alt text of all photos.

It won't be long before all the Instagram bots are commenting 'nice person!' instead of just a thumbs up emoji.

</comment><comment><USER4> Came across this yesterday as well. Was on a slow internet connection and the images failed to load. Pretty neat.</comment>


NASA makes 2017-2018 software catalog freely available to public - <AUTHOR> https://www.slashgear.com/nasa-makes-2017-2018-software-catalog-freely-available-to-public-03477150/ <comment><USER2> When mentioning something interesting that's been released, remember it's imperative never to include any kind of link to the thing you're talking about.

</weary sarcasm></comment>


Ask HN: How do you imagine a website which shows live progress of anything? - <AUTHOR> I'm a full-stack software engineer and recently I was thinking to work on a site where you could see live progress of community goals, a company's projects, national milestones, etc.
Currently I just have a vague vision of how it feels. It is what people will look at every morning. It looks like a string of news/progress towards a special topic you want to follow.
Do you want to see how Google is progressing towards their new product?
Do you want see how AI, as an industry, is making progress and where we are now?
Even as a manager or CEO you can see the progress of your projects, initiatives, milestones. I know there are many tools and technology that can achieve this, but I'm thinking of something exciting and really useful in every one everyday life.
Imagine you have a magic wand, how do you want it to work? What do you like it to look like? What is the most exciting thing you want to see in this website? <comment><USER2> I find your concept extremely interesting. If you ever commit to build it, please let us know.

If I could use your website I would like to see different topics grouped by type and to be able to add my own roadmaps/milestones. Then I would like to see what is the next step I should complete next to go to advance. I do a lot of sideprojects but I feel that many times I just need a small amount of motivation to go on, this can do that.</comment>


Guardian retracts most of their Whisper coverage - <AUTHOR> http://www.theguardian.com/news/2015/mar/11/corrections-and-clarifications

<comment><USER2> I think with the rise of companies like Skyhook, it's often untrue that IP address "is a very rough and unreliable indicator of location". There are people very actively trying to correlate IP addresses with ESSIDs and GPS observations; inaccuracies in their databases will mostly come from ISPs reassigning the IP address, which may be a rather rare event on some large networks.

We could have an informal experiment with an "Ask HN": go to Google Maps in private browsing mode; can you see the building you're in or the street you're on within the mapped region?</comment>


Ask HN: How do I contribute to open-source projects - <AUTHOR>

This has been bothering me a lot for quite some time now, whenever I use open source products I can't help but feel bad for not doing anything to help improve the product I use or any other open-source projects which are alive thanks to people spending their time for free.
I want to contribute in code, but I always feel like I am not good enough, or that it would take a long time before I submit my first piece of code to a project.
How did you get in to contributing to open source? Is it possible to contribute to a project that's been there for a long time? if so, what does it take for someone to contribute in code? <comment><USER2> Don't feel bad. At least you're using their code which validates them open- sourcing it.

There is plenty that anyone can do to help. Probably the easiest is to update documentation and fix any spelling mistakes. Those are typically easy for maintainers to merge in. Other things I've contributed were bug fixes, smaller feature enhancements.

I'd focus on small to mid-size projects since they are always looking for contributors. With more mature projects like Rails, Zend, Linux there may be a higher bar to get your merges integrated and therefore it can take longer for your PR to get merged in (I believe my PR to enhance an exception message in Zend took about a month including adding a new test and signing their license) That's definitely on the longer side. The nice part about those projects is that the devs there will offer guidance on what you need to do and you'll pick up on some best practices

</comment><comment><USER3> I send lots of patches to lots of open source projects (it's sort of my hobby) with a pretty significant focus on application security. What follows is strictly my opinion, but this may be one of the few topics I actually know what I'm talking about and feel confident answering questions about.

> I want to contribute in code, but I always feel like I am not good enough

Most of the open source projects you know and love are crap. They were hacked together by people who are chasing results, not excellence, many years ago and only manage to truck along because of people at or below your skill level who take the time to polish up one of the rough edges.

I don't care how unskilled you think you are; you are skilled enough. Just watch the issue tracker for a few weeks and see what kind of issues pop up. Or see what has been a longstanding issue for weeks/months. You'll find something you can fix and the maintainers will appreciate it that you took the time to fix it for them.

(Unless it's opencart, then they'll flame you no matter how valuable your contribution is. But they're the exception.)</comment>


Getting started with Raspberry Pi – Building a Digital Photo Frame - <AUTHOR> http://paulstamatiou.com/getting-started-raspberry-pi/ <comment><USER3> An E-ink digital photo frame you could reprogram and that ran on batteries with a long life would be nice. Vikaura announced one in 2015, collected money for a way oversubscribed Kickstarter, and then didn't ship. They're still taking pre-orders with a ship date of August 2016. They last updated their "news" on Feb 04, 2015, when the Kickstarter was funded. Looks like they took the money and ran.[2]

Their address was 566 Alpha Drive, Pittsburgh, Pennsylvania. At that address now is a new startup called PowerHarvester. Hm.

[1] [http://www.vikaura.com/](http://www.vikaura.com/) [2] [https://www.kickstarter.com/projects/1658373341/vikaura- scre...](https://www.kickstarter.com/projects/1658373341/vikaura-screen-use- your-smartphone-to-customize-yo/comments)

<comment><USER4> The major problem is that colour e-ink displays don't seem to exist - <USER2> nearest is [http://www.eink.com/display_products_triton.html](http://www.eink.com/display_products_triton.html) , which is a monochrome display with a TFT overlay to add the colour.

<comment><USER5> They're coming : [https://www.youtube.com/watch?v=N2V9iuTW3sA](https://www.youtube.com/watch?v=N2V9iuTW3sA)

<comment><USER6> That looked really awesome, I've been wanting something like that but I can only imagine how expensive am e-ink display like that will cost.

<comment><USER3> Way too much.[1] $4700 for a 32 inch color E-ink display right now. $3600 for black and white. $1000 for 13 inch b/w. Everything bigger than e-reader size seems to be insanely expensive.

[1] [https://www.visionect.com/development_kits](https://www.visionect.com/development_kits)

</comment></comment></comment></comment></comment><comment><USER7> Very cool! a couple of friends and I put this together for our living room: [http://blog.shriphani.com/2016/08/03/a-frame-that- listens/](http://blog.shriphani.com/2016/08/03/a-frame-that-listens/)

It is a pi + a condenser mic which generates visualizations in response to sound.

<comment><USER8> Amazing visualizations ! Care to detail how did you guys did that ? Is it open source ?

<comment><USER9> From the photos it looks like the display panel is driven by a Raspberry Pi. Adafruit makes it relatively straightforward to build the hardware part [1], now all that's left is the software that processes the audio and displays the visualization.

[1] [https://learn.adafruit.com/raspberry-pi-led-matrix- display/o...](https://learn.adafruit.com/raspberry-pi-led-matrix- display/overview)

<comment><USER7> Sorry I only just checked this HN thread.

The panels are from adafruit - there's 4 32x32 panels so you need a beefy PSU to power them.

The visualizations listed there are:

1\. an STFT (this is simple to compute - look @ numpy.fft.rfft 2\. an energy based vis - light up n pixels where n is proportional to the energy of the frame (this is the integral of the function squared). 3\. another energy based vis where if enough energy accumulates particles fall (acceleration proportional to energy).

The code's super kludgy; I'll release it once it is cleaned up.

</comment></comment></comment></comment><comment><USER10> Elderly people love, really enjoy, their Nixplay[0]. I call it "Facebook[1] for grannies". Putting the names of people below the pictures helps people with mild forms of dementia to repeat & remember the names of their beloved.

The Nixplay device is quite good, regretfully the UX of their website is _horrendous_. And there I see a problem. If someone would build a selfhosted version of "Facebook[1] for grannies" with an Raspberry PI: open source projects are not known for their excellent UI/UX designs.

Time will come, and given the feedback I hear on the Nixplay, I expect that one day we'll have these devices all over in houses of elderly, either connected to a special screen or connected to the TV set.

[0] nixplay.com

[1] replace with Instagram, Flikr or your favorite photos sharing app/site

<comment><USER11> Yes yes yes. I've had the same experience with Nixplay in that scenario: the device is loved, but the people who love it can never figure out how to load new photos on it.

Part of the problem is that the web UI is as dire as you mention. Another part is that in trying to be helpful, they offer ways to connect the thing up to a dozen different photo services, but the sheer number of choices they present ends up paralyzing non-technical folks who just want to _upload a damn photo._

They really need to concentrate on having dead simple iPhone/Android apps that do one thing and one thing _only_ : take photos on your phone and push them to your Nixplay. (Or integrate "Send to my Nixplay" as an option camera apps and the like can tap into, via intents or whatever.) Do one thing really well instead of a dozen things poorly.

<comment><USER10> > take photos on your phone and push them to your Nixplay.

Good you mention the Apps, I forgot. Indeed the app is quite useless and how difficult could it be to have a Send To action? With an option to add comment, like in WhatsApp.

Indeed, do one thing good and skip the rest or offer one alternative like email. Also focus on a single device per logon with a single watch list. Given the number of complaints on their forums they don't listen and it is just a matter of time for (self hosted) alternatives to appear.

</comment></comment></comment><comment><USER12> I've been meaning to do this sort of thing for a while, and after reading the comments here, I've decided to _embrace the glow_ from the display when I make my frame. Using a strip of addressable LEDs, you can emit a glow around the frame that extends the colors visible along the edges of the photograph beyond the frame, like the old Philips Ambilight.

Here's one Instructable I found with one idea for an Ambilight clone:

[http://www.instructables.com/id/Build-your-own-Ambilight- clo...](http://www.instructables.com/id/Build-your-own-Ambilight-clone-with- the-Raspberry-/)

<comment><USER13> > old Philips Ambilight?

Nothing old about Ambilight, they still make those screens (and now powered by LED's they are better than they ever were). They also integrate with Hue lights as well so that your whole room can react to the screen (which in practice is pretty naff, but if you have an ambilight TV and Hue lights you'll probably try it at least once with Finding Nemo) :)

</comment></comment><comment><USER14> Not to knock this project, which seems well executed, but I'm always a bit ambivalent about digital frames. Sure it's kind of neat to to be able to have changing images, or at least be able to easily push new images to the frame, but they're always so impractical.

You either have a wire you have to hide, or you have to remember to charge the frame regularly. All that costs energy. Then of course it's always backlit, which seems odd. Do I really want a glowing rectangle on my walls? Not really. It kind of kills the vibe. Perhaps eink would be better, but beating dyed paper is hard.

<comment><USER15> Clay Bavor addressed that problem using photodiodes so that the picture never seemed brighter than the surroundings. It really helped sell that it was a normal picture.

[https://www.claybavor.com/?p=407](https://www.claybavor.com/?p=407)

<comment><USER16> That's really cool!

</comment></comment></comment><comment><USER17> Displaying a full screen web page on a Raspberry Pi is such a common use case, I'm surprised there isn't built-in support. Something really lightweight based on RISC OS (like NOOBS is) would be great.

I wrote up some of the options at [https://unop.uk/adding-basic- authentication-to-screenly-ose](https://unop.uk/adding-basic-authentication- to-screenly-ose) but they all seem to run on a full Rasbian stack.

<comment><USER18> If I were to write this I think I'd go down this route:

1\. Micro kernel with just file,net,graphics support

2\. Fetch data via sockets (can be http, but not restricted to)

3\. Parse the data for layout info and data values

4\. build a frame buffer in memory, and place data (images/text) accordingly

5\. write frame to display

6\. sleep

7\. goto #2

Any ready to roll *nix distro is WAY too heavyweight for the above, so a custom OS or even mini-distro is definitely the way to go.

<comment><USER4> What benefit do you gain from doing all the trimming work?

<comment><USER17> I would imagine better performance and a lower boot time. NOOBS boots far faster than Raspbian and still has full networking.

You also get less artefacts if the system is designed for this purpose. You are less likely to see cursors, modal dialogue boxes, crash dumps/notifications, window chrome/frame or other unwanted UI elements. Admittedly, this is more a problem with Windows (for example, BSODs and Windows 10 upgrade pestering). I regularly notice public display screens where something is broken in this way.

Perhaps the latest browsers don't support RISC OS though, which could be an issue for very modern sites. It looks like this idea is for a frame buffer approach so you could render the page in the cloud and just push the resulting image. It would be sensible to have a local cache anyway in case the network dies.

</comment></comment></comment></comment><comment><USER19> I hate that it's so hard to find a high-resolution display with a suitable aspect ratio for photos. 16:10 is way too wide.

<comment><USER20> Some 4:3 possibilities: [http://www.ebay.com/bhp/15-monitor](http://www.ebay.com/bhp/15-monitor)

<comment><USER21> Except most photography formats are 3:2.

<comment><USER15> Just mask off some of the display and size your images to the remaining area? Ideally you want the cardboard matting flush to the surface of the screen anyway.

</comment></comment></comment></comment><comment><USER22> fantastic project! I have wanted to do something like this for a while.. think I will try to copy yours a bit :-) all we need now are a sensor to turn off/on automatic depending on people in the room or not.

Advanced bonus points:

1) (simpler version), connect to a calendar service, and match photos to calendar. (e.g. you have a visit from your brother on saturday, so show photos of him and your kids that day).

2) (more advanced), use a camera to recognize people in the room, and base photos on these (I can these the perfect host mode, where a perfect host would find photos from the basement and put on mantelpiece before a friend come to visit, making that person feel special).

so many thins that could be cool here!

</comment><comment><USER23> Does it really have to be such high resolution display? I gather that, as the observer gets further from the display (and this is a photo frame, usually looked at from afar), the resolution gets less and less important.

<comment> mark-r Sometimes you just want to get close and admire something.

<comment><USER16> And sometimes I like geeking out and going overkill with my projects and as a photographer just had to get a high-dpi display even if it's not needed :)

</comment></comment></comment><comment><USER24> Interesting timing, I actually want to do this with my Pi (but wired). The only thing holding me back is the cost of the display - any suggestions for a cheaper non-touch display?

<comment><USER25> I have used other displays from BuyDisplay but not their larger panels, however they have a 1024x600 10" panel for <50$ which should work, if you can live with that resolution.

[http://www.buydisplay.com/default/10-1-inch-raspberry-pi- scr...](http://www.buydisplay.com/default/10-1-inch-raspberry-pi-screen-w- hdmi-video-vga-driver-board-1024x600)

I would be perhaps tempted to instead look for an old Android tablet. If you could get a 2013 Nexus 7 or some 10" tablet with a decent screen it might be a cheaper and easier way to do it. USB power + either some Android app or depending upon the device you might be able to run a different Linux distro on it. Looks like the Linx 10 goes pretty cheap sometimes too.

<comment><USER24> Thanks for the link! I want something for my desk, so I can try using my old Nexus 4. Maybe I can live with the 5" display since it won't cost me anything

</comment></comment></comment><comment><USER26> you don't even need to run the gui and do all the greaskmonkey stuff, its overkill. just set up fbida ([https://www.kraxel.org/cgit/fbida/](https://www.kraxel.org/cgit/fbida/)) its available packaged in most distros and you can set up the slideshow right through the command line using the framebuffer to show the images. I've built several picture frames this way.

</comment><comment><USER27> This is a really nice site, something about the design.

<comment><USER28> Considering he works for Twitter on their design team, he's got a pretty good eye for it

<comment><USER27> It looks nicer on the eye than twitter.

</comment></comment></comment><comment><USER29> I've wanted to build something similar lately for an always on ... todo list (mostly because I'm trying to make a habit of looking at todo list). I'm looking for some screen with similar size of a bit bigger than 10", with a caveat it has NO backlight. Can anyone suggest a screen like that? E-ink would be even better.

<comment><USER30> I can -- I've been working on something that closely matches that description. Will reach out to you 1:1.

</comment></comment><comment><USER31> How about it with gif animation? [https://github.com/chidea/FBpyGIF](https://github.com/chidea/FBpyGIF)

</comment><comment><USER32> This project is awesome. The stand that came with the screen made it seem like a good desktop option too

</comment><comment><USER33> Nice! I wonder whether it 'd be possible to use the RPi's DSI connector instead of HDMI?

<comment><USER21> I don't think I've seen an actual real screen using the DSI connector yet.

</comment></comment><comment><USER20> Any software suggestions for displaying photos from a local network share, or DLNA?

</comment><comment><USER34> Nice write-up...gave me some ideas, although I am still new to my raspberry pie.

</comment><comment><USER35> This is impressive! Good job!

</comment><comment><USER36> Images broken on the site...

Edit: now working...

</comment><comment><USER37> Inexpensive Pi, Expensive display, expensive solution. I don't get it. At least made you happy.

<comment><USER38> Displays can always be used for other purposes, as well. And, with 4K only being marginally better at certain viewing distances for its price point[0], there is plenty of time where this display can be reused. Most other components can also be reused. I bought a 24" display to set up a RPI gaming rig and now that I don't have time to play with it anymore, I may reuse this display as an "RPI Home Digital Assistant" (future project which I'll probably never get around to implementing).

My only concern is power expenditure - I have minimal knowledge of kWh price of using such a display.

But all in all, some people really like these DIY projects - and others don't. Nothing wrong with that!

[0] [http://i.rtings.com/images/resolution-4k-ultra-hd- chart.png](http://i.rtings.com/images/resolution-4k-ultra-hd-chart.png)</comment></comment>


Ask HN: Need the name of a social network, or social network like website - <AUTHOR>

I'm trying to remember the name of this social network/website. I read an article at work the past few days that featured a number of screen shots from a social network. I remember the article said that it's design was so good that apple should buy it just based on the design.
One feature (from the screenshot) I remember is that you can post an update by drawing on it, besides a number of other possible update types.
Please help HN <comment><USER2> Russia's largest social network vkontakte (vk.com) lets you draw "graffiti" on friends's walls, but I wouldn't say they have any design value whatsoever, let alone Apple-grade design.

</comment><comment><USER3> It was probably webdoc.</comment>


Group Theory - J.S. Milne - <AUTHOR> http://www.jmilne.org/math/CourseNotes/gt.html

<comment><USER2> Group theory is some of the most beautiful mathematics I've ever had the pleasure of studying.

<comment><USER3> Indeed; it's about as pure and comprehensible as mathematics can get. Matroid theory feels almost as nice, but it's less intuitive at first.</comment></comment>


Job Scheduling as a service - mani-smhack Is there any product that will allow us to schedule via an api , and then if the time is triggered then it should call the destination via webhook(with payload preferably )
Right now we are using quartz scheduler which has more configuration (Including Mysql Connection ) .
Cons are
1) Does not have an admin UI
2) No reporting or history of jobs
Thanks <comment><AUTHOR> A service operated by my coworker: [https://crontron.com/](https://crontron.com/)

</comment><comment><USER2> Azure Logic Apps?</comment>


Solution for finding help? - <AUTHOR>

<comment><AUTHOR> I've noticed a lot of front page posts seeking help/employees. This site seems to provide a useful interface <http://www.buildv1.com/connect>

(I'm not affiliated in any way)

Anyone got other decent sites?</comment>


A Brief Guide to CLOS (1998) - <AUTHOR> http://www.aiai.ed.ac.uk/~jeff/clos-guide.html <comment><USER2> I learned Common Lisp and "enough" CLOS in high school, was blown away by CLOS's power†, and have spent the entirety of my professional career wishing that I could have a job working on a complex system in CL that used all of CLOS's interesting features. This has not happened (I've been 80% in Ruby-land and 20% doing Clojure), but what's weird is that I haven't even had situations where I really yearned for AOP, multi-methods, the MOP, etc. I can't decide if the systems I've worked in have just been too boring (they certainly solved the business problem though) or if Ruby's object-orientation (and library ecosystem) is good enough that I just don't need the full power of CLOS. (Designing Clojure programs is a totally separate kettle of fish.) I'd be interested to hear from more seasoned Lispers about their experience with CLOS in production.

† I took an FP class during my first semester of college. The professor wrote the book himself, and had an extended sidebar comparing the design considerations of OO systems (easy to add another class; tedious to reopen _n_ subclasses to add another method to each one) and FP systems (easy to add another function dispatching on type; tedious to reopen _n_ functions and make them dispatch on a new type). I pointed out that CLOS handled both situations equally well, and in the final edition of the book he tossed in a footnote saying as much and thanking me.

<comment><USER3> >> I pointed out that CLOS handled both situations equally well, and in the final edition of the book he tossed in a footnote saying as much and thanking me. <<

Clojure's multimethods and protocols also solve both.

<comment><USER2> At the time I hadn't used Clojure

</comment></comment></comment><comment><USER4> I highly recommend playing with CLOS (or one of the Scheme flavored knockoffs like GOOPS in Guile or Swindle in Racket) for anyone who hasn't but works in OO languages (probably most working programmers).

You probably spend all day dealing with OO ideas like method dispatch and inheritance, but to see them laid out explicitly in CLOS, as distinct from the underlying Lisp language, really helps you to internalize them and how arbitrary and malleable they are, as well as how astoundingly general they are when interpreted as broadly as CLOS does (the object systems in workaday languages cut off a lot of the avenues open to systems defined in terms of CLOS).

You can get a similar "aha" moment by looking at how Perl does OO if you already know Perl, or reading the implementations of one of its dozens of different user-implemented object systems. Perl has _some_ language-level support for OO but it is very minimal so these object systems have to do most of the work that a Common Lisp object system would.

I think the main benefit is in seeing OO implemented in a language with no built-in support for it, rather than a language built _around_ the concept of classes and inheritance or some version of it.

<comment><USER5> Another revelation with CLOS is methods are not namespaced to classes. Before I used CLOS it was not obvious that methods were serving two distinct purposes (specialization _and_ namespaces) within other OO languages.

Interestingly enough, most OO systems for lisp older that CLOS were much more smalltalk like in this sense, so there were several people that found the non- namespaced approach to methods to be superior.

I'm honestly not yet convinced they are superior, but they are clearly more generic, in that it is trivial to implement single-dispatch message-passing style methods in CLOS, but much harder to do the reverse (several patterns in the GoF book exist just to emulate multiple dispatch).

<comment><USER6> But it's more difficult to redirect all/most messages to a class/instance to another class/instance. Especially if there is no message passing going on ...

</comment></comment></comment><comment><USER7> I wondered if the author would mention method combinators, which he did. They are super powerful, very useful...and a marvelous opportunity for spaghetti code.

Actually the CLOS combinators show learning from earlier mistakes and allow only :before, :after and :around, the most useful and the most comprehensible combinators.

Lisp Machine Lisp (including the "zetalisp" variant dreamt up by Symbolics' marketing department) had an enormous panoply of method combinators including full control structures: IIRC I had cause to resort at one time or another to :or, :and and :progn combinators (the latter being somewhat like :around, I suppose, but not the same). They made the code extensible, compact, and completely unpredicatable (if you didn't understand the _runtime_ method hierarchy precisely which combined methods would be run in an :or combination?

Nevertheless I sometimes miss them to this day, even in my C++17 codebase!

<comment><USER6> Method Combinators are still there, slightly improved from Zetalisp's Flavors and New Flavors.

The CLOS Standard Method Combination has primary, :before, :after and :around methods.

There are in CLOS also various 'simple' method combinations like AND (runs all applicable methods until one is false), OR, + (sums up the results of all applicable methods), PROGN (runs all applicable methods and returns the result of the last one). These seem to be rare in CLOS code.

> They made the code extensible, compact, and completely unpredicatable ...

That's kind of the point that one does not care which methods actually run and when - the 'system' takes care of that. Similar to, say, when you call REDUCE on a list - one does not know which elements are in the list at runtime. Or when you call a generic function on a bunch of instances - you know only at runtime which method runs - because of dynamic dispatch - the method combination feature adds a layer of complication to it. Like on a Lisp Machine where you can add a :before method to a window function and it's immediately active, because the method combination is recomputed. Or when one adds a mixin to a window class and the width of a window then has a different result, because the + generic function computes a new value, because a new method is available via the + method combination. You can scare a lot of people with this, though.

One can program full new method combinations in CLOS, like in Flavors. This might even be useful. ;-) An example is the integration of 'Design by Contract' methodology into CLOS. One can add a DBC method combination and then work with preconditions, postconditions and invariants somehow integrated into Common Lisp's condition system.

[https://www.muc.de/~hoelzl/tools/dbc/dbc- intro.html](https://www.muc.de/~hoelzl/tools/dbc/dbc-intro.html)

and newer:

[https://github.com/sellout/quid-pro-quo](https://github.com/sellout/quid-pro- quo)

<comment><USER8> > That's kind of the point that one does not care which methods actually run > and when

What is the right method for debugging? I've been trying to debug one particular issue in CL code (McCLIM + Climacs) and I've hit the wall in every direction that I tried to see which method was responsible with the issue I've seen.

A plethora of around, before and after in both composition and inheritance that I've lost my way. I've tried various depths of reading and runtime debugging with no significant success. It left me with the image that I should have the whole program in my head to be able to understand it.

It's usually the case that the solution is where you're not looking therefore my question is where (and in what way) should I look at the code to understand what it is supposed to do?

<comment><USER6> The debugging tools need to know about that. Usually you would look into the stack trace and see which methods has been called and editing the method object brings us to the source code. Best when things are NOT optimized for low DEBUG and high SPEED.

When I was working more with those things I wrote some browsers for browsing methods in CLIM and for MCL. The Lisp Machine should already have some tools, IIRC. LispWorks also has a generic function browser. One enters a generic function and argument types -> LispWorks shows which methods are used for those.

      FOO (FLOAT STRING) ->

      MULTIPLE-VALUE-PROG1
        CALL-METHOD
        (METHOD FOO (FLOAT T))
          (METHOD FOO (REAL T))
        CALL-METHOD
        (METHOD FOO :AFTER (T T))

<comment><USER8> Indeed, having good runtime debug tools is absolutely necessary for debugging dynamic objects [1].

I've come to this conclusion during this particular experience and I've confirmed it time and again. I've recently seen an older video of Gregor Kiczales on Aspect Oriented Programming and if I did not read in too much he emphasizes the same issue with proper debugging tools.

Thanks for the tip; it might be what I needed for me to download LispWorks and try again.

[1] Some kernel developers just don't get this even after you show them a call using a function pointer. Read the code they say. Right...

<comment><USER9> Been working on getting a CLIM codebase (that is older than ANSI CL standard) running under modern open source implementations (SBCL, CCL). This too was my primary problem. CLIM spec was written with CLOS in mind, and implementations tend to absolutely abuse CLOS and MOP. I spent many long hours untangling all the mixins introducing :around methods. Good runtime debugging is absolutely crucial for this kind of code - something which open source CL implementations do not really have. Even prettified by Emacs, the inspector can get you only so far. Hell, this is the only time in my life where SBCL itself crashed completely when I did simple "jump to symbol definition" in Emacs...

</comment></comment></comment></comment></comment></comment><comment><USER10> One of the few eureka moments I've had was while reading The Art of the Metaobject Protocol [1]. Some famous computer scientists regard this as the best CS book coming out in the 90's.

[1] [https://en.m.wikipedia.org/wiki/The_Art_of_the_Metaobject_Pr...](https://en.m.wikipedia.org/wiki/The_Art_of_the_Metaobject_Protocol)</comment>


Is Smarter-than-Human Intelligence Possible? - <AUTHOR> http://www.acceleratingfuture.com/michael/blog/2009/09/is-smarter-than-human-intelligence-possible/

<comment><USER2> "Without qualitative improvements to the structure of intelligence, we will just keep making the same mistakes, only faster. Experiments have shown that you cannot train humans to avoid certain measurable, predictable statistical errors in reasoning. They just keep making them again and again."

This is a very well replicated result. The research program that discovered this is mentioned in

<http://www.project-syndicate.org/commentary/stanovich1>

with suggestions for new kinds of mental tests. The same author has a new book

[http://yalepress.yale.edu/yupbooks/book.asp?isbn=97803001238...](http://yalepress.yale.edu/yupbooks/book.asp?isbn=9780300123852)

that provides many examples of errors in reasoning that are equally common in high-IQ and low-IQ people, with abundant citations to the primary research literature.

"A person with an IQ of 100 cannot understand certain concepts that people with an IQ of 140 can understand, no matter how many time and notebooks they have. Intelligence means being able to get the right answer the first time, not after a million tries."

Both of these statements from the submitted blog post are specifically contradicted, with citations to published evidence, in the book I have just mentioned. And this paragraph from the blog post is in partial contradiction to the first quoted paragraph from the blog post, which correctly says, "Experiments have shown that you cannot train humans to avoid certain measurable, predictable statistical errors in reasoning."

<comment><USER3> Most errors of reasoning in humans are the result of our evolutionary background, there is no reason to expect these in a machine intelligence, even in one less intelligent than a human. It is not even necessary that a different set of systematic errors will be present, though that is a possibility.

</comment></comment><comment><USER4> There's was a great article I red once, maybe on Less Wrong (their site search sucks, I can't find anything) about a rare brain disorder.

I think it was genetic and only hit the more primitive parts of the brain, while the most recently evolved and most rational part were unaffected.

Would this make you extra smart? It turns out no, but it does seem to make you _pathologically friendly_ what ever that means.

So the human brain is in fact a carefully balanced combination of reason and instinct. Remove the primitive animal instincts and emotions and the result is not super smart, but surprisingly dumb.

And this means a super intellect can not simply be pure reason or just a lot of reason. It will not at all be easy to come up with smarter then Human AI.

And what if when we do have super smart AI, it takes a zen attitude towards existence, and just doesn't care much for existence itself? I don't mean our existence, but it's own. After all there is a sad correlation between higher then average human intellect and depression and suicide.

</comment><comment><USER5> The author doesn't seem to distinguish between qualitative and quantitative difference in computation. His criticism doesn't really address the argument he quoted. The reference to IQ test distribution is not a particularly good analogy, as his opponent was speaking about _limits_ of intelligence.

It is also worth mentioning that the notion of superintelligence is at odds with Church thesis. Which, while can't be proven, is widely accepted and is a cornerstone of computer science as we know it. Personally I think there's a better chance of breaking light speed barrier than of intelligence capable of what human (or hypothetical "ordinary AI") inherently can't.

<comment><USER6> It may not be a question of 'can't' or 'can', it may be a question of how fast.

Someone that can solve complicated puzzles quickly is _perceived_ as smarter than someone who can solve those very same puzzles but slower.

Even though to all practical intents and purposes they would be equally intelligent.

All the tests by which we measure ourselves have a time limit associated with them. Society is quite biased against 'slow' people, even though they may be just as smart as the rest.

I'm skeptical about claims that we will be able to engineer an intelligence that is 'smarter' than we are, but I'm open to the possibility that we can engineer one that is as intelligent as we are but simply much faster.

I don't expect that to happen any time soon though (soon as in the next 50 to 200 years or so), and maybe we won't be able to do this at all.

But one small fact about our ability to make tools to make things that we can not make is visible in the semiconductor industry, where we have made computers that make the next generation chips, and so on. If you wanted to re- start today from 1970's technology with all the knowledge that we have about making chips it would still take quite a bit of time to get us back to the present state of the art.

Maybe something similar holds for 'intelligence', that once you achieve a certain base level of intelligence that runs faster than our own and so can try many more avenues than we are capable of that might yield results faster and lead to incremental improvements in the functioning of this intelligence over time.

One big factor here could be that an AI could draw on a 'perfect memory', once something is stored it would accessible for ever at very high speeds. That alone would give it a tremendous edge.

<comment><USER5> This isn't however what usually meant by 'superintelligence', a philosophic device predating the now-popular singularity school.

Imagine a puzzle that can't be solved by "normal", human or otherwise, intelligence in infinite amount of time, but can be solved by superintelligence. Speed of thought plays no role here, nor capability of particular specimen. We talk about the limits pretty much in the same key you'd talk about the limits of functions in mathematics. That's what his virtual opponent was addressing.

<comment><USER6> Right, that's a different kettle of fish - or brains.

Consider this though: a neuron is not particulary 'smart', if you have enough of them they get smarter.

A single human of some given intelligence may not be able to solve that puzzle, but many humans of a given intelligence working together might be able to do it.

So, a true 'superintelligence' should be able to solve things that we _collectively_ can not solve.

Anything less would be just a speedup, not a breakthrough.</comment></comment></comment></comment>


Apple straying from its own Human Interface Guidelines - <AUTHOR> http://blog.wells.ee/apple-adc-hig

<comment><USER2> Isn't this a little like criticising an experienced photographer for not following the "Rule of Thirds"? This is even less of a case, because they are "Guidelines" not even "Rules" or "Requirements". Just because they don't follow them to the letter all of the time doesn't mean they aren't a good idea in general.

It seems to be another case of: Apple story is non-story.

<comment><USER3> Indeed. It's hardly news, anyway; Apple violates their own HIG all the time (cf. brushed metal theme and iTunes zoom button). There's a reason they're called "guidelines".

</comment></comment><comment><USER4> The whole graphic just isn't nice. Each line is laid out a little bit to the left of the line above it to give the illusion of the text flowing with the page, but the characters aren't transformed at all so it just looks ... bad. And then there's the weird shadow that looks more like a slot that the pages are being stuffed into. Yuck.

But, then, their developer pages have always been very hit or miss graphically. (Not to mention functionally!)

Anyway, kinda dumb headline but, yeah, really bad graphic.

</comment><comment><USER5> I don't get it. The guidelines say "don't mix greek text with real text", and the icon has greek text. Did I miss something?</comment>


Java IO is faster than NIO: Old is New Again - <AUTHOR> http://www.thebuzzmedia.com/java-io-faster-than-nio-old-is-new-again/ <comment><AUTHOR> For those that want the "Quick WTF?!" it is because: * With modern operating systems, idle threads are practically free. * Managing non-contending threads is extremely inexpensive now. * Multi-core systems. * Selectors and state- restore used by asynchronous NIO libraries in high-load environments is more expensive than waking up and putting to sleep threads.

You mix all that together and you get a new appreciation for java.io. _

<comment><USER2> The missing detail from all of these, of course, is that transferTo doesn't work with blocking I/O. You need to use a selector on WRITE to the client socket to make sure you're actually allowed to transfer bytes. Given that transferTo involves zero-copy (always faster than copying to buffers), a mix of the two approaches is usually best.

<comment><AUTHOR> jbooth,

Interesting post -- I don't know if that is something Paul evaluated. What mix/ratio would you propose?

Something like 1:10 threads:selector/connections?

<comment><USER2> Well, if you're getting into that, you're far enough down into the rabbit hole of optimization that you probably have a reason for being there and some business specific logic that would drive some of your specific tunings..

I'd generally recommend a selector identifying sockets that are ok for write and then delegating to a caching thread pool to handle actual transferTos. If that select loop becomes your bottleneck, you can of course horizontally scale that and have a set of selectors, striping the register()s across them to get less lock contention and having them all feed into the caching threadpool.

</comment></comment></comment></comment><comment><USER3> This talks about numbers of threads being as high as 1000.

My job involves writing servers that can scale to at _least_ 20,000 concurrent connections (I use Twisted for that, but I'm still interested to see what's happening in JavaLand).

I was disappointed the article didn't look at things at that kind of scale - it would be a much more impressive result if threaded/blocking io was still best at that level.

<comment><USER4> This article is just a summary of Paul Tyma's 2008 presentation (posted to HN yesterday): <http://www.mailinator.com/tymaPaulMultithreaded.pdf>

I am working on a multiplayer framework using Python, where one gameserver can potentially handle up to 50,000 concurrent socket connections (each interacting with a couple of other ones): <http://www.flockengine.com>

epoll() is definitely the way to go - it's very fast with high numbers of sockets.

\- [http://docs.python.org/library/select.html#edge-and-level- tr...](http://docs.python.org/library/select.html#edge-and-level-trigger- polling-epoll-objects)

\- <http://linux.die.net/man/4/epoll>

</comment></comment><comment><USER5> I guess I'm not surprised. My reason for using NIO in the past has been because I've had systems that supported _many_ long-running, mostly idle open sockets. Seems logical that there would be a tradeoff to abstracting threads & state from connections.

<comment><USER6> You're spot on. NIO has always been slower but it allows you to process more concurrent connections. It's essentially a time/space trade-off: traditional IO is faster but has a heavier memory footprint, NIO is slower but uses less resources.

<comment><USER7> ... and I think your synopsis is spot on as well. If someone could counter this, I'd love to hear it.

</comment></comment></comment><comment><USER8> I did not see the specs for the systems used to perform the test, If they where using a multicore server, this would surly slant the results in favor of the threaded model. As well, the JVM / Java was designed from the first release as a blocking IO style development language so you have years of development towards that design philosophy.

I just don't see how apples to apples, on a single core, blocking can be faster than NIO. I think C would be a better testing ground, where you don't have built up layers over the years that reinforce one over the other.

<comment><USER9> _If they where using a multicore server_

Where would they find a single-core server these days?

<comment><USER10> Typically, in the non-blocking IO space, you take advantage of the multiple cores by running multiple instances of your server. For instance, I run 4 Tornado instances on my quad-core server, sitting behind a simple nginx proxy (this is, of course, Python rather than Java).

Admittedly, I haven't performed any benchmarks (I chose Tornado for reasons other than performance), but as with the OP, I was hoping the author of the article would provide more detail on their benchmark setup.

</comment></comment></comment><comment><USER11> The Atmosphere team have a good slide titled "Scaling the Asynchronous Web" which has a few pages one threads vs NIO [https://atmosphere.dev.java.net/conferences/2009/JavaOne/200...](https://atmosphere.dev.java.net/conferences/2009/JavaOne/20090602_ScalingPushJ1.pdf) .

</comment><comment><USER12> Here's the previous discussion on Paul Tyma's presentation: <http://news.ycombinator.com/item?id=1546711>

</comment><comment><USER13> Faster is the wrong word -- scalable. It was definitely talking about scalability and load, not just pure speed.

<comment><AUTHOR> redrobot5050,

The first 30 slides or so are explicitly about the 25% performance gap between NIO and IO on a modern system -- I think it's fair to say the article was as much about performance as it was scalability.

I think he even addresses the misconception that NIO is perceived as "faster" simply because it's more "Scalable" -- the "myths" slide that he keeps going back to and crossing elements off of as he proves them wrong.</comment></comment>


Stack Overflow Architecture Update - Now At 95 Million Page Views A Month - <AUTHOR> http://highscalability.com/blog/2011/3/3/stack-overflow-architecture-update-now-at-95-million-page-vi.html

<comment><USER3> For those who aren't reading it the ServerFault blog <http://blog.serverfault.com/> is a treasure trove of information. The work they are doing and blogging about on the systems side is something a lot of people take for granted.

</comment><comment><USER4> Hm. I love Stack Overflow but architecture only starts to become interesting at 4-5 times their traffic.

95M/mo translates to a mere 36/sec avg. A single web- and db-server will handle that without breaking a sweat, although you of course want some more machines for peaks, redundancy and comfort.

<comment><USER5> 36/sec but then they're doing 800 http requests per second, not sure what could cause such a big difference (lots of ajax stuff?) but I think 800/sec is an interesting thing to see them deal with, that's something in the region of 1bn a month, which fits your requirement for interesting-ness :p

<comment><USER4> _which fits your requirement for interesting-ness_

Sorry, the threshold of interestingness for serving static assets is even higher. ;)

A single nginx on a moderate host will barely warm up before ~10k reqs/sec. The network tends to be the bottleneck here. Anyways, ~800/s should be doable from a $10 VPS.

<comment><USER6> I don't think they're paying all this money for the fun of it

<comment><USER4> Hm, I'm not sure I follow. What money do you mean?

<comment><USER7> They have _10_ web servers. If they could replace all that with a VPS or two, they would.

<comment><USER4> According to the article only 3 are dedicated to StackOverflow which sounds about right to me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Really cool to see how they moved from Windows-only to other technologies like Redis.

They dind't jump into the hype at first version, they started using other things just now when they really needed that.

</comment><comment><USER9> T9space.com up to 42 Million pageviews a month: <http://i.imgur.com/Vggvl.png> 10 App servers dynamically converting websites to mobile versions + 1 MySQL DB + Haproxy LB + 1 Lucene Search

</comment><comment><USER5> I use stackoverflow as the benchmark for success on my own* sites, we're still winning. We did 145m for February!

<comment><USER10> whats your website?

<comment><USER5> It's not even related, I feel bad now because it's irrelevant to the post, it just happens that the first time Stackoverflow announced their traffic I mentioned ours and Joel (I think?) said something about it, so now I always use them as a benchmark. Anyway, minecraftforum.net and minecraftwiki.net, I don't own them any more (reason for the * -- curse.com acquired them). <http://www.quantcast.com/minecraftwiki.net> & <http://www.quantcast.com/minecraftforum.net> combined 145m for feb

</comment></comment></comment><comment><USER11> I understand the tradeoffs between Windows and Linux and choosing one or the other for a particular task, buy why run Ubuntu Server on one machine and CentOS on others? Are the tools that Linux specific that it's worth keeping track of two versions, two package managers, etc?

</comment><comment><USER12> I question the truth in that article and whether they really use Razor already. It's barely out, so is MVC3 and I haven't noticed any changes that would suggest that they would have converted it all from MVC2 to MVC3. It's a major task.

They might have some Razor in there because it is backwards compatible but to have it all razor is a stretch.

<comment><USER13> We're using ASP.NET 4 and MVC 3 in production. New features in both made it very worthwhile to invest the time in conversion.

We are not using Razor yet, but it's feasible they are. Take a look at this: <https://github.com/telerik/razor-converter>

</comment></comment><comment><USER14> > All pages accessed by (and subsequently served to) annonymous users are > cached via Output Caching.

I'm surprised they don't cache output on logged-in pages as well, using ESI or some kind of client-side replacement. There's not that much personalization going on. Most page content is the same between users.

<comment><USER13> I would imagine that they calculated it would be cheaper to scale up their application servers and backend caching than pay for the development resource to facilitate this change.

</comment></comment><comment><USER15> Interesting on the switch from the Windows/MS stack. Is there not a decent No SQL option for a windows stack?

<comment><USER16> I'm not sure what switch you are referring to, they've been using HAProxy and Lucene for quite some time.

Also, what would a No SQL data store give them (for central data storage - <USER2> caching) that they aren't already handling with SQL? Keep in mind that they also have relatively easily partionable data (if necessary they can break off any StackExchange site and database to their own dedicated hardware).

<comment><USER17> redis is nosql, and they are using it on linux

</comment></comment></comment><comment><USER18> How did the code have to change to read from/write to Redis?

<comment><USER19> I doubt very much. They're basically using Redis as a much more powerful memcached. SQL Server still is the ultimate owner of all StackOverflow data, last time I talked to the team.

<comment><USER18> I guess I just haven't seen memcached integration in .NET. All of the caching examples I've seen use the framework caching components.

I was also wondering if they'd developed any generic custom code to fetch from Redis or fetch from SQL/insert into Redis, and how it fits into their application logic. (e.g. does it happen before they make a LINQ to SQL query, or does it intercept LINQ to SQL queries and return results from Redis).

<comment><USER20> If you're interested, here is a C# Redis Client: <https://github.com/ServiceStack/ServiceStack.Redis>

With downloads for windows: <https://github.com/dmajkic/redis/downloads>

Here's an example of an OSS 1-page mini-StackOverflow, written only using Redis: <http://www.servicestack.net/RedisStackOverflow/>

And this page has caching web services examples (at the bottom), with source code of non-non-invasively dropping in a Redis cache provider using an IOC.

<http://www.servicestack.net/ServiceStack.Northwind/>

If you want to learn more about Redis, here is an article on how to build an application using only POCO's and Redis: [https://github.com/ServiceStack/ServiceStack.Redis/wiki/Desi...](https://github.com/ServiceStack/ServiceStack.Redis/wiki/DesigningNoSqlDatabase)

With more info on the wiki: [https://github.com/ServiceStack/ServiceStack.Redis/wiki/Desi...](https://github.com/ServiceStack/ServiceStack.Redis/wiki/DesigningNoSqlDatabase)

<comment><USER18> Great, thanks!!

</comment></comment></comment></comment></comment><comment><USER21> It's fascinating that a MS loyalist like Joel would end up using so much linux/oss software.

I wonder if Joel regrets not going 100% open source. I guess the cost of Microsoft licensing for all that is still very cheap if viewed as the price of being featured in Bing searches.

<comment><USER22> This might possibly be the most ridiculous comment I've ever seen on the internet, let alone Hacker News.

* I am not a Microsoft Loyalist

* I don't make the technical decisions. Why would I? I'm the person who knows the least

* It is not necessary to use Microsoft licensing to be featured in Bing searches... that is possibly the most preposterous thing I have ever heard in my life

* Microsoft licensing is a rounding error, with the possible exception of SQL Server licenses

* Your bizarre personification of Stack Overflow as "Joel" is charming and quaint and completely obnoxious to the 20-odd people at Stack Overflow that actually do the work instead of sitting around browsing hacker news like I do

<comment><USER23> That you would reply to this - makes me respect you even more

<comment><USER21> And I you.</comment></comment></comment></comment>


Microsoft GitHub just censored GitHub Evacuation project - <AUTHOR> https://twitter.com/UpEnd_org/status/1004292351643275264 <comment><USER2> I do not know what did or did not happen, and we will probably never know. What I can tell from these tweets and their readme, is that this account is obnoxious. What does a Microsoft acquisition have to do with `#resist` anyway?

And it's not "Microsoft Github." So maybe they should get their facts in order before breathlessly spreading FUD on Twitter.

</comment><comment><USER3> don't expect people to be nice when you start spitting on their floor and disrespect their home

</comment><comment><USER4> There's no such thing as Microsoft GitHub. It's still GitHub until later this year. And that project is stupid and has no business being trending.</comment>