hacker news with inline top comments    .. more ..    21 Nov 2010 News
home   ask   best   9 years ago   
Goodbye, Google App Engine carlosble.com
139 points by vrruiz 2 hours ago   38 comments top 22
13 points by nl 55 minutes ago 2 replies      
Does no one read the documentation before deciding to use a platform anymore?

App Engine supports Python 2.5. The Python interpreter runs in a secured "sandbox" environment to isolate your application for service and security. The interpreter can run any Python code, including Python modules you include with your application, as well as the Python standard library. The interpreter cannot load Python modules with C code; it is a "pure" Python environment.

At the top of the FIRST page of documentation: http://code.google.com/appengine/docs/python/overview.html

Google Apps domains do not currently support HTTPS. HTTPS support is limited to apps accessed via .appspot.com domains. Accessing an HTTPS URL on a Google Apps domain will return a "host not found" error, and accessing a URL whose handler only accepts HTTPS (see below) using HTTP will return an HTTP 403 "Forbidden" error. You can link to an HTTPS URL with the .appspot.com domain for secure features, and use the Apps domain and HTTP for the rest of the site.

HIGHLIGHTED on http://code.google.com/appengine/docs/python/config/appconfi...

A request handler has a limited amount of time to generate and return a response to a request, typically around 30 seconds. Once the deadline has been reached, the request handler is interrupted.


While a request can take as long as 30 seconds to respond, App Engine is optimized for applications with short-lived requests, typically those that take a few hundred milliseconds. An efficient app responds quickly for the majority of requests. An app that doesn't will not scale well with App Engine's infrastructure.


I could go on and on.. reading this I see "I wasted 15000€ by not reading the documentation"

I usually think the title technical architect is a bit stupid (my business card says I'm one, so I can say that) but this guy needs a good technical architect to make platform decisions prior to wasting that much money

16 points by st3fan 1 hour ago 1 reply      
"developing on GAE introduced such a design complexity that working around it pushes us 5 months behind schedule"

This is the core of all their problems. It is a mindset incompatibility between these app designers and GAE.

The GAE APIs and rules are actually pretty simple and well defined. It works really well, but only if you work WITH those rules. You have to adopt the GAE application design philosophy.

If you don't, and if you work AGAINST the rules and best practices set by GAE then you are in trouble. Big trouble. This is what happened here.

I understand this is easy to say afterwards. And you can't really blame them for finding out the hard way.

Note that the same applies to for example all the great services that Amazon Web Services provides; they only work if you build your apps with the Amazon specific design approach in mind. Things like eventual consistency, expect things to fail, don't do large amounts of work in single jobs. Etc. Etc.

These appoaches suck more or less if you come from a 'total control over a bunch of machines' background. But they are so needed to scale.

4 points by krosaen 43 minutes ago 0 replies      
This hasn't been my experience.

Yes, existing techniques for full text search works or things like geolocation queries won't work but there are other[1] techniques[2] that work just as well; it's just not the sql way. Basically, support for multiple set membership queries against a list of tags stored with entities is extremely powerful and if you index properly, you can do a lot of cool things [3]. Plus, you can do datastore queries in parallel [4], which means you don't have to denormalize as much as you think; just parallelize and memcache results; e.g for a complicated front page, you can fetch different types of content in parallel.

The local server behaves remarkably the same as the deployed server, it's quite rare I find a situation where something behaves differently in production. the entire datastore can be tested locally, including complicated schemas / indices / queries in fast running unit tests. This means when I do need to do something fancy with the datastore, I can fully test it with unit tests and be confident it will work when deployed.

Long running tasks can always be broken up using the task queue. the limit will soon be 10 minutes for individual tasks and cron jobs [5]

I agree that cold start is a huge issue, but looks like it is being addressed in the 1.4 release [5] where you can pay for 3 reserve instances at all ties. Lack of support for https on your domain definitely sucks too, but I don't see how he wouldn't have been aware of that before going with GAE.

Finally, there are a number of things that are a huge time / money savers:
- really easy deployment process including support for multiple versions. This let's you have staging instances and quickly roll back to a previous version if there are any problems
- a nice admin console with a number of tools, including comprehensive access to logs that are coherent across all instances
- some really nice libraries for examining performance of datastore queries and other api calls [6] and getting daily email reports of any exceptions [7]. these are built using hooks available to you in case you want to build something similar (for instance I used hooks to have regression tests on the number of datastore queries each page requires).
- the services and apis made available are really nice. for instance, the image hosting infrastructure that provides fast access to different sizes for a stored picture based on a url is pretty slick; they basically opened up the same infrastructure that is used by picasaweb to app engine users
- virtually no hosting costs until you get a lot of traffic. thousands of daily visitors is still in the free range

That said, my biggest outstanding gripes:
- cold start problem (until 1.4 is out)
- datastore latency spikes sometimes. this has gotten a lot better in the past few weeks, but I'll still have this gripe until I see it more consistent for a couple months
- no support for incoming emails with attachments > 1mb (makes incoming photos from smart phones impossible since they are usually > 3Mp these days)
- no support for long polling (upcoming channel API seems to be more for chat rooms than for general purpose server push) [8]

[1] http://www.billkatz.com/2009/6/Simple-Full-Text-Search-for-A...

[2] http://fluffybunnysoftware.com/node/8

[3] http://code.google.com/events/io/sessions/BuildingScalableCo...

[4] http://code.google.com/p/asynctools

[5] http://groups.google.com/group/google-appengine/browse_threa...

[6] http://googleappengine.blogspot.com/2010/03/easy-performance...


[8] http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api

13 points by csytan 1 hour ago 1 reply      
It sounds like a lot of his problems stem from the use of Django. I've tried it before, and believe me, Django absolutely sucks on Appengine.

First off, you have a full featured framework which was designed for SQL relational databases. Many of Django's features either have to be given up, or are monkey-patched beyond belief to get partial functionality. Not to mention quite a few Django apps use database features which are simply not supported by BigTable.

Secondly, Django is not exactly the smallest framework, so loading time can be quite expensive and will be tacked on to every cold start.

All that being said, I've had good success with the tornado framework. It's fast, well written, and thoughtfully designed. Check out my profile if you want to see some examples of apps written with tornado + GAE.

9 points by ivanzhao 1 hour ago 1 reply      
I just launched my app 4 days ago (threewiki.com) and its backend is using GAE (Python + Tornado).
On the second day, it was featured on TheNextWeb front page and the server got TONS of traffic. It scared me a bit, and I quickly change the daily max quota to $10.
Anyways, GAE handles everything very gracefully. Over 70% of our users use either Facebook or Twitter to login and it hasn't been a problem at all.

I always think if your site can't be host by GAE, then it's probably not very scalable at the first place. I agree it might be better to host the data-processing end on EC2 or elsewhere if it's intense. Else in terms of the "View" part of your project, I wouldn't give it another thought for using GAE again.

4 points by zephyrfalcon 1 hour ago 0 replies      
I agree that GAE has its share of problems. However, many of the complaints listed are about limits and limitations, and can be found in the documentation; at least points #1, 3, 4, 5, 6, 7, 11 and 11.

I developed an app with GAE about 2 years ago, and ran into many of the same problems (although some of the limits were probably lower then). Fortunately I could work around them, and the app wasn't used by tons of users anyway. I can see how it would be a serious problem otherwise, though.

4 points by mark_l_watson 2 hours ago 1 reply      
A useful article for people to read before using AppEngine. I only use AppEngine for my own projects, so far no jobs for customers.

I was aware of most of the limitations of AppEngine that the author of the article mentions after just a few hours of experimenting with AppEngine. Now, AppEngine now no longer gives me many problems.

I think the lesson is to do a lot of experiments before committing to technologies.

I don't use the Python SDK. Most of what I have done has been using Java (but with small Clojure and JRuby experiments). One thing that helped was to start using Objectify instead of JDO (as an example).

2 points by jasonkester 2 hours ago 0 replies      
I feel your pain, brother. I went through all of this a few years back. AppEngine was still pretty new back then, so it all seemed like things that they would fix before long. But it sure didn't feel ready for production.

I'm actually quite surprised that all those same limitations are still in place after all this time. I guess if I took a minute I could come up with an issue or two I had back then that has been fixed since, but his list of show stoppers are all things that people were complaining about, and that Google gave the impression of being on top of.

3 points by powera 40 minutes ago 1 reply      
A few of these points are just ridiculous:

1) If you want "SQL and Joins", use SQL. This is like complaining that you can't play Halo on Linux.

1A) There isn't full text search. If you need full text search, use a system with full text search as a feature.

2) Some of the points are out of date (or will be out of date soon). The 30 second limit for cron jobs will be 10 minutes after the next release. As noted, the 1000 results per query limit is gone already.

3) Anything can fail. If you assume your own system won't fail, you're going to be in worse shape later.

4) What objects would you cache that are >1MB anyhow? In almost any case, you'd be better off caching it as multiple, smaller objects.

3 points by smoody 1 hour ago 1 reply      
the next version will allow you to pay to keep three copies of your app loaded and ready to go at all times. that should eliminate the insanely slow load times for apps that don't get constant traffic (at a price yet to be determined).

google is also adding sql database capabilities to the platform soon.

and google apps for business will eventually let you talk https on your own domain (at a price yet to be determined).

i suspect they're about 6 or 8 months from becoming a solid solution to many problems.

1 point by wrath 21 minutes ago 0 replies      
We love AppEngine for many of the reasons which he gives. Because of its limitations, the platform makes you think and write code with proper design patterns in mind. If you just start to write code without thinking about it beforehand, yes you won't like AppEngine and it's not for you. It'll cost you LOTS of money and won't perform very well. On the other hand, by writing code designed for AppEngine we've been able to reduce our costs by several thousand $$ a month. Also a side benefit is that we migrated one of our IT roles to a development role, which means that we're able to iterate faster.

Granted we don't have a need for SSL and not being able to use C libraries in python has caused us many hours "pain", but compared to the alternative for a small company like we have, it's well worth it.

My biggest issue with AppEngine is that there's no full-text index functionality, and there's no way to create your own. We've tried everything, and nothing works if you have millions of documents like we have. Our search is still external to AppEngine but we're hoping that Google will do something about it sooner or later.

2 points by kroo 1 hour ago 0 replies      
While I feel the OP's pain in terms of difficulty working with the limitations of AppEngine, what he's not mentioning is the collection of benefits you get from AppEngine over other services. We've found that once you work out a solution to the datastore and request timeout issues, you have a remarkably robust and scalable system for free (or at least out-of-the-box).

With AppEngine, I've never had to migrate a database schema, build a load-balancer, hire a fulltime sysadmin, or even pay for servers that arn't receiving traffic. I don't have to set up a large-scale deployment system, nor spin up a new database server when traffic gets too heavy. AppEngine so far has been remarkably cheap (we're starting to bring in more customers however, so we'll see how long this lasts).

Many of the challenges he mentions come down to thinking about writing a webapp with a longer-term vision in mind. Datastore limitations crop up when you outgrow your first datastore in a standard system; in AppEngine they're properly enumerated and dealt with from day 1. Likewise long-running connections become very tricky to deal with with lots of traffic... this point is a little harder to argue with the recent popularity of asynchronous-io servers, but I think Google is working hard on these limitations. SSL is just annoying; we've had to deal with this by adding an SSL proxy until Google adds SSL support -- but it sounds like Google is pretty close to solving this one (it's been promised by end of year).

Also, AppEngine is written in a very high-level way; should you reach a point where AppEngine no longer makes sense, it is amazingly easy to transition over to another system (as the OP apparently found out; I would give more credit to the design patterns inherent in the AppEngine APIs than 'TDD driven development'). Tornado, webpy, etc have virtually the same interface as AppEngine's webapp framework.

There are definitely tradeoffs when choosing AppEngine as a production backend right now, and its certainly not the right solution for every problem... but for many people, us included, its been a pretty large net benefit for our startup. Google is actively improving the system, and I expect many of these problems will go away in the next 6 months or so.

2 points by endlessvoid94 59 minutes ago 0 replies      
if you're using Django, check out http://www.djangy.com -- it's heroku for django (and eventually other wsgi frameworks)


3 points by ajessup 1 hour ago 0 replies      
All the points he makes are valid - and stem from the fact that GAE is designed to be 'infinitely scalable'. Because of this, it forces you into a number of design patterns that facilitate distributed, scalable software.

This can be a good thing, if you know scalability is going to be a killer feature in the near future. It can also a real pain in the ass if it's more important to simply get something off the ground quickly and see if it has market traction, and you don't want abandon the convenient but difficult to scale practices like long running processes and JOINs. In my experience, most startups fall squarely into this latter camp. Scalability is a nice problem to have for most of us.

AppEngine for Business now has a hosted SQL mode, which presumably uses a less scalable but ACID compliant alternative to the standard GAE data store (disclaimer - I haven't used it). Since he's already throwing down some serious coin on his app on GAE it might be worth investigating that before abandoning the platform completely.

3 points by bigwally 1 hour ago 0 replies      
It is not even in Beta yet, as it states in the documentation from Google;

"This is a preview release of Google App Engine."

My biggest gripe about GAE (and Google in general) is that when a change is made on Google's infrastructure that causes large problems, no acknowledgement (or answer) is made until enough people complain.

2 points by ceperley 1 hour ago 0 replies      
We have a product built on app engine, sure we've had our share of challenges but the benefits far outweigh them. To name a few benefits: A developer staff of 1 can focus on the application code and not the infrastructure details. Fast image serving auto-scales all your images to any size, and serves them off the fast servers used by Picasa. Versions can be used for testing multiple branches of code on production servers seamlessly.

#1 Has never been an issue for us
#3 Is incorrect with the new task queue upgrades
#6 We have a full-text system working just fine
#7 Is a benefit when working with a distributed datastore
#8 DB performance after the recent updates has been stunning
#10 So they badly designed their queries and blame app engine?
#11 Is flat out incorrect
#12 What database is immune to failure? Would love to know

App Engine doesn't do everything, and no one is claiming it does. We have a secondary VPS we offload certain image processing tasks for example. But what it does do is extremely powerful from a develop perspective, and the application-centric model, like heroku or engine yard, is where things are headed. I would much rather leave the server and scaling issues to the experts so I can spend time improving my application.

1 point by mootothemax 1 hour ago 0 replies      
I recently developed my first GAE site, and whilst I didn't run into the problems the author of this article did, I spent a lot of time hunting down best practises.

It's now been ages since I last looked at Amazon's offerings; does anything have any links to best practises / development strategies for either AWS or GAE?

1 point by arfrank 2 hours ago 2 replies      
#3 isn't true for taskqueue tasks or cron jobs anymore, the deadline is now 10 minutes ( actually will be once 1.4.0 SDK is released in about a week or so )

Also at first glance there is no indication of how the author got to a value of 15k€. My best guess, and a guess at that, is that they put the value of a line of code at 1€ and had to migrate 15k lines, but I hope there is more scientific than than.

3 points by checker659 2 hours ago 2 replies      
#11 isn't true. Since a recent update, you can now retrieve more than 1000 results in a single call.
1 point by lappet 1 hour ago 0 replies      
For all I know, GAE is really easy to develop on. I made this using Django in a couple of hours' time: http://bhoogolvidya.appspot.com/
1 point by iwr 1 hour ago 0 replies      
Did someone document their progress, or overview the development of a medium-sized app (~10K LoC) on GAE?
-2 points by tybris 1 hour ago 0 replies      
GAE is web scale!
Obvious to you. Amazing to others. sivers.org
117 points by sahillavingia 4 hours ago   30 comments top 16
37 points by AndrewDucker 3 hours ago 2 replies      
This is why it annoys me when someone posts a link to some advice on HN, a bunch of commenters are talking about how they had never thought of it before and how useful it is, and then someone has to leap in saying "This stuff is old hat. Everyone has heard of this before. I thought of it myself back in 1843."

Because everyone has to learn some time, and what is obvious to one person isn't obvious to the next one. And anything which helps people realise something true is worth repeating from time to time.

14 points by philwelch 4 hours ago 1 reply      
Hit songwriters, in interviews, often admit that their most successful hit song was one they thought was just stupid, even not worth recording.

A lot of times, hit songs don't have much depth to them, even if they're catchy on the surface. A musician is probably perceiving the lack of depth more than the catchiness, whereas the listeners who make it a hit song perceive the catchiness long before the lack of depth catches up to them.

2 points by seiji 33 minutes ago 0 replies      
Recent example: Try explaining web app session stealing (to other web developers or management) two months ago versus now. Two months ago you get blank stares or outright disbelief, but now you get "oh, to protect against firesheep? yeah, let's use SSL everywhere."

It was just as obvious two months ago as today, but now people have a one word conceptual model to use without needing to understand cookies, browser requests, proxies, broadcast domains, or cross site issues.

Obvious to us. Amazing to the normals.

1 point by hkon 7 minutes ago 0 replies      
I've been thinking about this a lot after I began working as a programmer. I think my ideas are pretty obvious and simplistic.

But after reading a bunch of books and blogs over the course of a couple of years. I have come to realize that stating the obvious is pretty hard. And only a few, will think of the obvious for the many.

1 point by xenophanes 43 minutes ago 0 replies      
> I'll bet even John Coltrane or Richard Feynman felt that everything they were playing or saying was pretty obvious.

No, Feynman specifically said it takes a lot of effort and top quality understanding to explain stuff well enough for it to seem obvious to others. He didn't think it was automatic.

He further thought, for example, that being a good physicist takes a lot of imagination to come up with new and different ideas. In other words, physicists have to think of non-obvious stuff.

It's weird to assume someone who had lots of new and important ideas, and who put tons of effort into being a clear explainer of ideas, would be someone to just assume their ideas are obvious.

A sibling comment discusses people who don't do their homework before writing. I think people should not talk about public figures without doing their homework -- if you don't know what someone is about just stick to the topic instead of invoking his name.

4 points by rlpb 3 hours ago 0 replies      
The catch is that while this might apply to some specific brilliant ideas, most ideas you might come up with are probably not new and not amazing. The risk is in your own bias of your assessment in the other direction.

Although as startups go, we know that it is all in the execution.

2 points by xal 56 minutes ago 0 replies      
This is so obvious to me that I'm amazed that anyone finds this idea amazing. Pretty meta.
2 points by bobf 2 hours ago 0 replies      
Additionally, things you or I may find easy are often difficult for large quantities of people who would be willing to pay for it. I've recently become more self-aware of this, after seeing lots of examples of successful companies created to solve problems I thought were easy to solve. I'm a sysadmin, so things like Git repository hosting seem easy to me, but are certainly seen as genius by GitHub's thousands of users.
2 points by Mz 3 hours ago 2 replies      
Are you holding back something that seems too obvious to share?

Well, yes and no. My problem is that other people find it so "amazing" it moves it into "incredulous"/incredible...ie "I don't believe you and think you are lying" territory. :-/ Still working on figuring out how to talk about my ideas without going down in flames, being called names, yadda yadda. Phooey.

(And, yes, I still think some of it is terribly obvious and is based in part on things that are "common knowledge", so I remain somewhat baffled by the strong reactions.)

1 point by ntoshev 2 hours ago 0 replies      
I think his advice is correct but doesn't matter in practice. People post stuff online when they learn something and when they are excited about it (some people try to keep blogs just for marketing purposes and usually it doesn't work). If you are a good writer and happen to be slightly ahead of the mainstream, your stuff gets popular. If you are far ahead or with the mainstream, or behind - then it doesn't.
1 point by rguzman 3 hours ago 1 reply      
I'll bet even John Coltrane or Richard Feynman felt that everything they were playing or saying was pretty obvious.

This is probably true, yet largely irrelevant. Whether someone's ideas are obvious to them or not matters little compared to how much impact those ideas have.

2 points by stuartk 4 hours ago 0 replies      
This is encouraging to those looking for ideas for startups, it basically means that someone will find your idea 'amazing' or 'genius'.

The trick is, not just finding 1 person, but many people who think it. And not only that it's amazing, but so amazing that they'll pay you for it.

On the plus side, this should mean that for any reasonable idea, given the size of the internet, you should be able to find at least a small bunch of people that will pay for your 'genius'.

1 point by deskamess 3 hours ago 0 replies      
I suffered from this. I have a couple of ideas that I did not think much of, only to have it (or a facsimile) go IPO/public about a year later to much fanfare. I still remember my "private payments between friends" idea which came along before PayPal. The concept came about after lunches where someone would pick up the tab for someone else due to "forgot my wallet" syndrome. For me the trust barrier seemed too high - but ventures like PayPal prove that people sometimes part with information easier than I assumed. And I never imagined the size/transaction volume that PayPal would grow to - props to them.

In the end, execution is the key and it does not have to be perfect on day one. Half baked can be made 3/4 baked and so on...

2 points by malnourish 4 hours ago 0 replies      
Quite a true piece, this is.
Often we feel like this, but what I find more awe-inspiring is when I feel an idea that I have come up with is great, I meet someone with a rather similar idea.
1 point by Spreadsheet 3 hours ago 0 replies      
I have the exact opposite. I take a long time and much effort to come up with an idea, and then find out that it has already been found a long time ago, and it seems obvious.
1 point by marv_in 3 hours ago 0 replies      
This is a great article but I do wonder if it isn't merely trying to produce more wantrepreneurs (a term I learned while lurking on HN)

I think almost everyone would feel enlightened by the title but the way the article is written, it seems it's tailored to inspire those who cannot build but would want to dream rather than those who can build but feel like the implementation of a concept is obvious enough and requires no extra polishing.

Cssess - The Bookmarklet That Finds Unused CSS Selectors razorfast.com
15 points by driverdan 1 hour ago   2 comments top 2
0 points by frb 32 minutes ago 0 replies      
I like the bookmarklet idea, but find the interface confusing.

It also seems to have problems with some Google Chrome extensions like AdBlock, i.e. it lists all "unused" selectors that are loaded to block ads.

0 points by pierrefar 1 hour ago 0 replies      
It doesn't seem to be saying anything if there aren't any unused selectors.
The Fastest VM Bytecode Interpreter byteworm.com
72 points by m0th87 5 hours ago   11 comments top 5
20 points by Groxx 4 hours ago 1 reply      
Oh come on.

  gcc simvm.c
time ./a.out

real 0m0.374s
user 0m0.359s
sys 0m0.003s


  gcc -O3 simvm.c -o fast.out
time ./fast.out

real 0m0.006s
user 0m0.001s
sys 0m0.003s

Comparing optimized compiled code against unoptimized compiled code is worthless. .NET does some optimizations as it runs, and JITs, your standard `gcc` does very few.

/me goes to comment on the blog.

edit: bah! Foiled!

>Hmmm, your comment seems a bit spammy. We're not real big on spam around here.

Please go back and try again.

edit2: holy cow, that spam filter hates me. I can't get anything to post...

2 points by jasonwatkinspdx 2 hours ago 1 reply      
This is a compiler, not an interpreter, as it uses .NET's dynamic assembly api to emit .NET IL which is then JIT'd to native code. The benchmark is also likely optimized away by static analysis.

For an actual benchmark of various bytecode interpretation schemes see:


These micro benchmarks also take some care to attempt realistic branch prediction rates.

Running these on current hardware, switch based interpreters still perform quite well. Direct threading gets you slightly more performance. I'd say that sticking to ANSI c and just using switch is a good plan. If you need more performance then you likely should go ahead and implement a native JIT of some sort or use JVM/.NET.

1 point by fleitz 3 hours ago 0 replies      
His 'VB' emits byte code for the .NET VM which is highly optimized. Also, VB.NET runs on the same VM. VB.NET has a lot of 'features' that are performance nightmares but it's not that slow if you know what to avoid.

Oh, I didn't see that VB was run on mono, run that code on a windows machine and I bet it will beat the -O3 optimized C

2 points by steveklabnik 4 hours ago 1 reply      
So... who wants to take a crack at why this would be?
1 point by pmjordan 4 hours ago 1 reply      
Anyone got a cache of this? Site seems to be getting hammered.
Lessons Learned: A non-designer's attempt at a redesign noahlitvin.posterous.com
8 points by haon99 52 minutes ago   discuss
Lichess - Don't register. Play Chess. lichess.org
128 points by Uncle_Sam 8 hours ago   40 comments top 22
43 points by jambo 6 hours ago 2 replies      
Please don't tell me Safari 5 is deprecated and ask me to "upgrade" to Firefox.
4 points by lionhearted 6 hours ago 3 replies      
Disappointed. I got paired with a newbie who was screwing around.


The site, though, is beautiful and a joy to play on. My last online chess was at Yahoo Chess, and this feels like walking on air compared to Y! Chess's clunky interface. Beautiful site, very pleasing to use.

A nice feature to keep semi-serious players around would be some way to get scored or sorted, so you somewhat consistently can get decent matches. Overall I really like it though, cheers.

Edit: Got a full game in - http://lichess.org/bsba_b - I was black. Made some mistakes, I'm rusty. But the interface is really a joy, I like it a lot.

19 points by dxq 6 hours ago 2 replies      
How to troll online chess:

1. Open up Chess.app

2. Turn CPU difficulty all the way up

3. Start lichess game as black

4. Mirror lichess opponent's moves into Chess.app

5. Mirror Chess.app opponent's moves into lichess

6. Talk incredible amounts of smack

4 points by martincmartin 1 hour ago 0 replies      
Anything similar for Go?
5 points by greyman 3 hours ago 1 reply      
I still prefer to download a standalone client and connect to FICS and choose time controls, opponents, etc...
3 points by TeMPOraL 1 hour ago 0 replies      
I was positively surprised by the fact that the site presented itself in my native language (polish) and it didn't suck. It's probably the first time ever I saw a site that autodetected a language and it actually felt nice. Not everything is translated though, and I hope you'll fix it one day :).
5 points by RoboTeddy 7 hours ago 0 replies      
Awesome! I love that Chess 960 (aka Fischer Random) is a prominent choice.

It's a variant of chess where the back rank with all the pieces on it are in a random order (although the board is mirrored, so each side has their pieces in the same order).

My brother is a strong chess player, but eventually gave up the game because to improve he was having to spend more and more time memorizing opening lines. With chess 960 there are 960 different starting positions, so memorization doesn't help at all. I hope it gets more popular, it's a more purely strategic and tactical than standard chess.

2 points by PostOnce 2 hours ago 0 replies      
A Lichess is a female Lich.

How many D&D scenarios have you play a game of chess against a Lich?

Sometimes, I feel it worthwhile to waste karma on these musings. Daydream more often.

4 points by jensv 6 hours ago 3 replies      
Here's a replay of me playing someone who outclasses and outplays me in every way but becomes overconfident and makes a careless mistake that costs him/her the game. I find it amusing because I don't imagine it being common for a weak player to beat a stronger opponent.


Once again I make no claim on my ability to play the game of chess. (I suck) This was more luck than anything but it's a good example of how you shouldn't give up/become too cocky before crossing the finish line.

2 points by KC8ZKF 1 hour ago 0 replies      
How can you offer a draw?
2 points by colombian 2 hours ago 1 reply      
I've been thinking about doing this for a while. There's so many times when I want to play a game of chess with a friend online, but don't want to take the time to register an account at any of the big chess sites.

My idea would have been a service where you click "New Game", it generates a unique link which you then give to your friend.

Anyways, incredibly well done.

1 point by Kilimanjaro 3 hours ago 1 reply      
Love it! visuals are nice but can be improved. wooden board, 3D pieces etc.

Before matching players in a random game, ask for a level like novice, intermediate and pro.

I like the chess roulette idea...

2 points by melvinram 6 hours ago 0 replies      
not bad but i prefer chess.com
2 points by Natsu 4 hours ago 0 replies      
Nice, but I hit a bug where the other guy couldn't see my move. We both thought it was the other person's turn :(
1 point by ronnoch 5 hours ago 0 replies      
This is one of those ideas I feel like I should have thought of.
1 point by cicada 4 hours ago 0 replies      
This is nice. I was a little saddened that the replay and analyse option after games did not actually analyse games, but with the export I can download the games into my favourite chess engine and have it analyse the games for me.

[edit: noticed that there is a forum, don't go there. While someone occasionally posts an interesting game like http://lichess.org/analyse/0mbole the level of conversation is roughly what you'd expect from a 4chan /chess/ board.]

1 point by kurumo 3 hours ago 0 replies      
Not bad at all as far as interface goes, but their timer is buggy. In 5 0 it ate 15 seconds of my time, apparently due to lag.
A thought I had for a while: do analysis on games as they occur and try to estimate opponents' strength, as a way to detect cheating of the type where one of the players mimics a computer. Computationally expensive, but would be fun to try.
1 point by Natsu 4 hours ago 0 replies      
Castling on the queen's side is very clunky. If you move the king two spaces, it should castle for you. It works just fine on the king's side, though.
3 points by arjn 4 hours ago 0 replies      
Nice. I like not having to register. Thanks!!
2 points by lazyant 5 hours ago 1 reply      
While I was playing I couldn't find the clock
1 point by QuantumGood 2 hours ago 0 replies      
Freechess.org lets you choose your interface, and has a ton of quality opponents.
2 points by phillco 6 hours ago 0 replies      
Very nice!
15% Off "Learn Python The Hard Way" For Christmas sheddingbikes.com
28 points by rayvega 3 hours ago   6 comments top 3
2 points by kmfrk 1 hour ago 0 replies      
I know what I'll be getting this Christmas.

On another note, there are much more profitable ways to sell e-books than through Lulu: http://news.ycombinator.com/item?id=1797868.

8 points by lwhi 1 hour ago 1 reply      
How is this not an advert?
0 points by jgjg 57 minutes ago 0 replies      
wow, 15 whole percent
π does not equal 4 axiomaticdoubt.com
124 points by iamelgringo 9 hours ago   62 comments top 20
19 points by cousin_it 5 hours ago 1 reply      
What... ouch. This is not math, this is... I don't even.

Read the post closely. The author introduces a set S of squarey curves approximating a circle. This set has an obvious correspondence with the natural numbers: there is curve #1, curve #2, etc. Then the author defines a function f: S->S that takes curve #n to curve #n+1. Wait, that doesn't sound right! The function f has no interesting structure whatsoever, it's exactly equivalent to defining f(n)=n+1 on the naturals. Of course, taking the "limit" of a function f: S->S makes no sense at all.

What would make sense is taking the limit of a certain function N->C, where N is the naturals and C is the set of all curves on the plane. That is, the limit of a sequence of curves (not of a function from curves to curves as the OP tried to say). To talk about such limits, you need to define what it means for a sequence of curves to converge - a "topology" on C. There are many ways to do that, some more outlandish than others. One way is pointwise convergence: assume a parameterization t->C_i(t) on each curves in the sequence, and require that C_i(t) converges co C_lim(t) for each t separately.

Now, pretty much any reasonable notion of "convergence" on the space of all curves has to imply pointwise convergence. That is, pointwise convergence is a very "weak" notion of convergence: if we have a sequence of curves that has a limit in some reasonable sense, then it had better coincide with the pointwise limit, dontcha think?

And here we come to the second facepalm moment in the post. Under pointwise convergence, the sequence of squarey curves under discussion does not converge to some "right angled fractal beast". It converges to the circle. As n grows, every point on S_n comes closer and closer to some point on the circle. Ain't nothing more to it.

Now the correct explanation for the original puzzle. Pointwise convergence of curves doesn't imply that their lengths converge to the limit's length. Hell, we don't even need 2-dimensional space to show that! A simple straight line will do. Imagine a human traveling a straight road of 1km length in this fashion: he takes two steps forward, then one step back, then repeats. In the end he will have traveled about 3km instead of 1km. As we make the human and his steps tinier and tinier, his movement looks smoother and smoother to an external observer, but he still travels 3km in total instead of 1. Or maybe (going back to the 2D space) the human could take a step left, then forward, then right; this would make his path look like a fine comb that approximates the straight line more and more closely, but it's always 3x longer. Something like this is happening in the original puzzle.

Finishing touch: there are notions of convergence where it's true that the length of the curves in the sequence always converges to the length of the limit. One such notion says that the direction of travel (velocity vector) must also pointwise converge to the velocity vector of the limit curve. Under this definition of convergence, the original sequence of curves does not converge, because it makes too many sharp turns.

16 points by extension 7 hours ago 0 replies      
In a similar way, you can "prove" that sqrt(2) = 2 by approximating the diagonal of a unit square (length = sqrt(2)) by iteratively dividing two adjacent edges of the square (length = 2).

One interesting and useless law that this reveals is that the perimiter of any convex blob of pixels is equal to the perimiter of its bounding rectangle.

13 points by cscheid 7 hours ago 1 reply      
Geometric convergence is tricky. Specifically, the issue here is that uniform convergence does not imply convergence in length or area or any other such measures. (see figure 6 here: http://www.sci.utah.edu/~etiene/publications/verifiable-vis.... . disclaimer - I'm a co-author)

Imagine a circle and its diameter. Now imagine two circles with half of the diameter, lined up so that the diameter lines align. Now split those two in four, etc. The circle becomes a snaking line whose total length doesn't change, and the snaking line converges uniformly to the line. Clearly, however, pi is not 1.

What you need is convergence in position _and_ angle. A curve that converges in position and angle _does_ converge in length: the reference I know which shows this is reference [9] on the above-mentioned paper. (edit: in case you don't want to download the gigantic file --- yay for publishing in graphicsy places --- the reference is: K. Hildebrandt, K. Polthier, and M. Wardetzky. On the convergence of metric and geometric properties of polyhedral surfaces. Geometriae Dediacata, (123):89"112, 2006.)

11 points by pixcavator 8 hours ago 0 replies      
Just because the conclusion is wrong it does not mean that there is no point here. What's described is exactly what one has to deal with in digital image analysis. Here is a write-up and a link to a paper: http://inperc.com/wiki/index.php?title=Lengths_of_curves. The paper proves essentially that there is no good way to approximate lengths of curves with any grid, even if the size of the mesh goes to 0.
10 points by RiderOfGiraffes 8 hours ago 2 replies      
Nice and fun, and brings into focus the definition of "distance" and how it interacts with the concept of a metric. Using the L<sub>1</sub> metric gives a different value of pi than using the L<sub>2</sub> metric. Obviously.

It's easy enough with arguments like this to show the "length" to be anything you choose. Such demonstrations are instructive.

EDIT: Changed lower-case ell to upper-case for clarity.

4 points by martincmartin 8 hours ago 1 reply      
For any given n, all the points of the "right angled fractal beast" lie within some distance epsilon(n) of the circle. As n increases, epsilon(n) approaches zero, so in the limit, you have a circle, and at every step along the way, the length is 4. It's just that the length of the resulting shape isn't the limit of the lengths of the sequence of shapes.
1 point by patio11 8 hours ago 1 reply      
You can also demonstrate this is incorrect by calculating the area of the parts of the square cut off, which is the sum of an infinite geometric series. You will find it doesn't equal the area of the unit square minus the area of the inscribed circle.

Here, let's try: the square is 1x1. Consider one quarter of the circle: radius of the circle is 1/2, half a diagonal of the square is sqrt(2) / 2, diagonal of the removed square is (rt(2) - 1) / 2. Area of the square removed is ((rt(2) - 1) / 2) ^ 2. (This is trivial via the pythagorean theorem, saving some math.)

Alright, that's the first square we accumulate. Now the magic happens: every step, we cut the square's side in half, but make two of them. Agree with me so far? Good. If we cut the side of a square in half, we cut its area to a quarter, but since we have two squares now the total area is 1/2 of the last square. Agree with me so far? Good. We can trivially sum infinite geometric series: t1 / (1 - r), where t1 is the first term and r is the fraction each term gets multiplied by. In this case, it turns out that in any one quadrant the sum of the series of squares removed is 2 * ((rt(2) - 1) / 2) ^ 2, or just (rt(2) - 1)^2 / 2.

Multiply by 4 to get the picture over all four quadrants, and we get 2 * (rt(2) - 1) ^ 2. A little simplification and we get 2 * (2 - 2 rt(2) + 1) = 6 - 4 rt(2)

So, we've got a unit square, so the area of the square is 1. If we subtract the area of the infinite series of squares, we get 4 rt(2) - 5 =~ .657. We expect the area of the circle to be pi / 4 =~ 0.7853975. Thus, the square minus and infinite series of squares doesn't approximate the known area of a circle at all.

8 points by a-priori 8 hours ago 0 replies      
You can "disprove" the Pythagorean equation the same way, by taking the limit of the Manhattan distance between two points as the grid size approaches zero. It approaches d_x + d_y, not sqrt(d_x^2 + d_y^2).
11 points by nazgulnarsil 8 hours ago 0 replies      
troll math/physics are the only 4chan releated things that consistently make me crack up.
8 points by jcampbell1 7 hours ago 2 replies      
Why would anyone assume that because a shape converges, the arc length must also converge?

A troll can also prove that 2 == 1 by continuously folding the peaks of an equilateral triangle down to the baseline.

Another fun one:

$1 = 100¢

$.1 = 10¢

$.1^2 = 10¢ ^ 2

$.01 = 100¢


$1 = 1¢


4 points by huhtenberg 6 hours ago 0 replies      
A simpler and a bit more elegant version - http://i52.tinypic.com/2daesf4.png
2 points by jbapple 6 hours ago 2 replies      
When I first saw a "proof" like this, the explanation of its incorrectness was something like "limits don't preserve curve length". I wasn't satisfied with that answer until I took a first course in real analysis, which explained (some of) the reasons behind calculus.

Real analysis was very satisfying, in somewhat the same way that building low-level software or libraries is satisfying -- I got to understand the guts. It was also fun to learn about erroneous historical assumptions made due to insufficient rigor. IIRC, until at least the 1870s, it was believed that any continuous function must be differentiable almost everywhere, and that in fact this should be obvious. It turns out that one can construct continuous functions that are nowhere differentiable!

This was one of my favorite topics in the class:


5 points by vilhelm_s 8 hours ago 1 reply      
Over at Everything2.com we discussed this 10 years ago:
1 point by augustl 8 hours ago 1 reply      
This is similar to Zeno's paradox of Achilles and the tortoise: http://en.wikipedia.org/wiki/Zenos_paradoxes#Achilles_and_th...

The paradox lies in "infinity" and "never". Achilles will overtake the tortoise when he's one atom away from the tortoise, and similarly at one point your corner removal will reach the atom level, where you can no longer reduce it and maintain a square shape.

At atom level, when your squares consist of three atoms in a L pattern, you can't reduce it further without distorting the squares

Assuming, of course, that atoms are the smallest particles.

1 point by csomar 8 hours ago 1 reply      
Because in Infinity you can't predict things with sight. Actually, it seems like the rectangles have become a lined curve, but in reality they aren't. They are just too small to be noticeable.

4 - π will be that small, tiny difference.

1 point by cies 7 hours ago 0 replies      
try to find the perimeter of australia..
depending on the zoom level you find a different perimeter.
if the 'troll' from the article adds smoothing to his 'ad infinitum' squarish circle then he finds pi.
1 point by finin 5 hours ago 0 replies      
Obvously, the science is not settled™.
1 point by ADRIANFR 8 hours ago 0 replies      
The easiest way to informally prove that the demonstration is false is to imagine starting with a circle in a triangle instead of a circle in a square. Or with any other weird shape around the circle and follow the same "cutting" algorithm to infinity. This way you can prove that pi is equal to anything greater than pi.
1 point by gyom 4 hours ago 0 replies      
Same issue as with fractals. What's the length of Britain's coast ? Infinity ?
0 points by sleight42 8 hours ago 1 reply      
There... are... FOUR... lights!
Dilbert on intentionally confusing pricing dilbert.com
53 points by gahahaha 6 hours ago   32 comments top 13
8 points by gamble 2 hours ago 1 reply      
One of Scott Adams' great insights, but I'm surprised more people don't notice it. Any time you have a professional seller and an amateur buyer, confusion is the persuasion technique of choice.

Car dealerships institutionalized the practice decades ago in the form of the 'four-square worksheet', where they try to introduce as many variables as possible so that they have plenty of places to hide their margin. This is why car salesmen hate it when you don't bring in a trade-in or use in-house financing. It's hard to baffle someone when you're only negotiating a single number.

9 points by ZeroMinx 4 hours ago 1 reply      
Would be funnier if it wasn't so true in a lot of areas (mobile phone operators spring to mind. I don't know how it is in other parts of the world, but in the places I've lived in Europe, most operators have different pricing depending on time of day, day of week and the operator of the person you're calling(!))
1 point by araneae 20 minutes ago 0 replies      
The worse culprit of this I have seen is DSW.

They have color coded stickers that correspond to 30-70% off each item. So if you want to figure out how much it actually costs you have to do the calculation in your head.

What makes this so obscene is that they actually individually print the original price on that colored sticker; it's not like it would be any less convenient for them to put down the actual new price.

22 points by robinhouston 3 hours ago 0 replies      
What a relief to see a dilbert.com link here that goes to an actual Dilbert comic, rather than Scott Adams blog.

(For my money, these few panels are more insightful and entertaining than any of the long dilbert.com posts that have been posted here in the past few weeks.)

3 points by compumike 3 hours ago 3 replies      
On a smaller scale:

A strange one I've noticed only in the last year or so is non-monotonic pricing on fountain soft drinks at places like gas station convenience stores. I'm not talking about the marginal ounce, but the total price: they'll have a 16oz cup for $1.29, 22oz for $1.49, and then 32oz for $0.99! The latter is featured with a big yellow sticker on the soda fountain, and maybe an outdoor poster. Of course, all of these are probably an order of magnitude higher than the input costs, but it's (intentionally?) confusing and disorienting. I've got to pay more for less, and more if I want the one that will fit properly in my cupholder.

1 point by artsrc 26 minutes ago 0 replies      
Every store charges $199.99. The intention is to affect you differently than $200.

What would happen if a retailer said "We want a straight forward relationship, and not to manipulate you, so unlike the bad guys we are providing straight forward pricing"?

9 points by gort 4 hours ago 2 replies      
What on earth is going on in that URL?
1 point by patrickgzill 30 minutes ago 0 replies      
I noticed this at Target while wandering the aisles today - 3 for $8 of X? How many people do that math in their head?
4 points by da5e 3 hours ago 1 reply      
I noticed this at the grocery stores. They introduced odd fractions. One week something would 5 for $4 or 3 for $3.50 etc. Also they put the sale signs in black letters on red cardboard so they were very hard to read. And of course they placed expensive things at eye level and cheaper things less accessibly.
1 point by brianwillis 1 hour ago 0 replies      
I'm negotiating car insurance at the moment and see this pattern all over the industry. Policies are so elaborate and multi-faceted that they're almost impossible to compare. Intangibles like quality of customer service are also difficult to measure.

If someone's looking for an idea for a startup - Yelp for insurance companies would be a lifesaver for me right now.

2 points by lwhi 1 hour ago 0 replies      
Nokia has pretty confusing numbering for it's phone ranges - consecutive numbering hasn't usually coincided with a more feature-rich (better) phone. Another example of segmentation?
2 points by yread 4 hours ago 0 replies      
reminds me of this whole AMD/Intel TDP/ACP/Max power/Sustained power. Making sure you are comparing apples to oranges...
1 point by joe_the_user 4 hours ago 0 replies      
I like how the web makes this kind of thing harder...
99 Prolog Problems google.com
40 points by swannodette 5 hours ago   15 comments top 4
5 points by ses 4 hours ago 2 replies      
Very nice, Prolog is a vastly under rated language which is very useful for a lot of logic and decision making programming problems.
1 point by kingkilr 3 hours ago 0 replies      
Nice collection, would be awesome if there were a way to submit solutions online and have them tested.
1 point by gsivil 4 hours ago 0 replies      
Great work. So well structured and easy to browse. Thanks
0 points by cb33 5 hours ago 4 replies      
...but a bitch ain't one. sorry.
Measuring the speed of light using marshmallows in a microwave efnx.com
9 points by efnx 1 hour ago   6 comments top 2
1 point by elliottkember 4 minutes ago 0 replies      
I once saw this demonstrated live on a kids' TV show. The guy was basically a crazy scientist with very little idea what kids could actually understand.

His trick must not have been vetted before he went on, so as he started putting screws in the microwave and trying to explain things, the poor hosts were getting more and more flustered and concerned. It was hilarious.

0 points by RiderOfGiraffes 1 hour ago 2 replies      
ADDED IN EDIT: My apologies to efnx - when I saw that the the submitted link referenced another site, I thought it was just referencing it. The comments below show that the referenced site was actually doing something different.

I'll leave this here as a reference, but I was wrong.

mea culpa


Here's the actual link:


From the guidelines at http://ycombinator.com/newsguidelines.html:

  In Submissions 
Please submit the original source. If a blog post
reports on something they found on another site,
submit the latter.

X-Ray Backscatter Imaging Safety From Basic Principles compilerbitch.livejournal.com
43 points by robhu 6 hours ago   7 comments top 4
4 points by RK 29 minutes ago 0 replies      
Here's my take on the post from a radiation physics point of view.

I'm not convinced that these pose a great radiation risk. I would be mostly concerned about people with genetic conditions, who could not normally undergo x-rays, but then again flying itself might be worse from a radiation point of view. I'm much more concerned about the civil liberties issue.

Firstly, I'll say one thing: there is no such thing as a truly safe radiation dose.

The problem with this statement is that there is very poor data for low dose, long term exposure. And as you can imagine, it's not exactly easy to set up controlled experiments. The generally accepted model is the linear, no threshold model, which agrees with his statement. But there is some evidence for a threshold limit (below which cancer doesn't occur) and slight evidence that small amounts of radiation is actually beneficial (hormesis).

At a fundamental level, the main effect we need to be concerned with is high energy particles smashing into a piece of DNA and doing just the right amount of damage to cause the cell concerned to start doing something it shouldn't.

Actually, for photons (x-rays/gamma rays), most damage is done by so called indirect damage, where the photon creates a free radical (in this case OH.), which then interacts with DNA.

it's worth remembering that one hit that gives you cancer or leukaemia is enough to kill you. Just one. Even though most interactions won't kill you, it only takes one good one to finish you off.

This is just plain hyperbole. You almost certainly need multiple radiation interactions to produce DNA damage that will result in fatal cancer. Most DNA damage is repaired by the cell, most persistent DNA damage is benign, and most cancer is killed off by the body. That's not even to say anything about the fact that once a cancer gets to the point of discoverability that most are survivable (you still don't want cancer though!).

I remember hearing somewhere, years ago, that there is an extra component between the primary and the secondary that slows down hard X-rays to soft X-rays

This was in reference to the hydrogen bomb. You can not (generally) change the energy of x-rays. You can "harden" an x-ray beam energy distribution by filtering out the lower energy x-rays, but not the other way around. I assume he really meant neutrons.

The main mistake he (and others) makes is seeming to not understand the nature of radiation dose and how that relates to the body. Dose is simply the amount of energy deposited by radiation per unit mass. It can be thought of as a density like quantity. The related term equivalent dose is used for setting radiation exposure limits and takes into account the biological effects of different radiation types (and energies) and different tolerances of organs and tissues.

When people see that low energy radiation is mostly absorbed near the bodies surface, this seems to concern them a lot. What is more important is what the actual dose is. From a general carcinogenesis point of view, it's actually considered better that the dose is not to the entire body

What's generally not understood is that limit of dose to a specific part of the body (e.g. skin) is higher than the limit of the total body dose. This is because your body is better at dealing with localized damage, than it is with systemic damage.

6 points by icegreentea 2 hours ago 1 reply      
Not disagreeing with the math or anything... but does anyone see the stomach and lungs and stuff are? I mean, since we don't have a true global source of x-rays there's bound to be some shadowing (ass cheeks for an example), and all the stuff going on in the chest looks like a combination of shadowing, artifacts, and human mind gone wild?

If we can only see the shin bones cause there's like half a centimeter of flesh there, how can we see the lungs without seeing the rib cage???

1 point by raquo 41 minutes ago 0 replies      
Um... you could go into the scanner wearing a radiation-measuring device on you that sends data live to your server. I even doubt that would be illegal, although you'll probably end up on a couple lists.
0 points by tybris 1 hour ago 2 replies      
How about tin foil underpants?
You're Fired 20 Signs that a Pink Slip Is Coming wisebread.com
3 points by iuguy 23 minutes ago   discuss
My Windows Live Mesh Cluster Fail pantuso.com
44 points by cincinnatus 7 hours ago   16 comments top 7
20 points by Groxx 6 hours ago 1 reply      
This reads like it could be a good ad for Dropbox. That version would've been in the file's history. A 5 second repair-job.
7 points by sriramk 5 hours ago 0 replies      
I'll send this to the Live Mesh team
2 points by kenjackson 6 hours ago 2 replies      
That's pretty horrible. I must admit that I haven't "upgraded" to the new version of Mesh yet, due to concerns with it. First, it's not really Mesh -- it's Sync, with a name change. Second, the original Mesh was architected by Abolade Gbadegesin, probably one of the best architects in the industry you haven't heard of (and now an architect on WP7). I don't know who did Sync/Mesh.

I do wonder what would cause such an issue. You'd think that simple timestamps would catch this issue. I wonder if the original poster changed his clock to match the time for this Ignite conference and that screwed everythign up?

5 points by Z3UX 4 hours ago 0 replies      
I use Live Mesh and this happened to me once but every time it syncs, it moves the "old" file to the recycle bin... It just doesn't deletes it! I have to manually delete it, so if shit happens, I can always just look in the recycle bin. Did you search there? =\
1 point by dholowiski 3 hours ago 2 replies      
The words duh, and backup both came to mind when reading this article. When I do computer repair, I always carry 2 verified copies of all my softwAre tools on two different mediums. With a file like this, why wouldn't you verify it before the event, and bring the file multiple ways- mesh, email, flash drive and cd?
1 point by joelhaasnoot 5 hours ago 0 replies      
Sounds horrible, for that exact reason I use SugarSync and Live Mesh together to have stuff on multiple platforms. And I email lots of things to gmail: very easy with the drag and drop support in Chrome.
1 point by u48998 4 hours ago 1 reply      
SugarSync is not bad either, 5GB for free compared to Dropbox's 2.
Phrases that announce ‘I'm lying‘ boston.com
81 points by robg 7 hours ago   50 comments top 28
42 points by swombat 7 hours ago 4 replies      
Calling these "lying qualifiers" seems a bit excessive.

"To be honest", for example, is extremely common and doesn't all that often precede lies, despite its face value meaning. Sure, sometimes it precedes a lie, but then, so does the word "the". For example, "Look, to be honest, I really don't know why the server crashed yet, but I'll do what I can to find out." This is a sentence that many who run startups will have uttered at one point in their life without any intention of misleading anyone.

Even the "ultimate but-head" that the author presents, "I'm not saying that...", which he implies means "I'm pretending that I'm not saying that...", is not at all such a clear case. "I'm not saying that X" can and often does mean, very simply, that you want to be clear where your next statement stops. For example: "I'm not saying that the deal is off, but we're going to have to really work on clauses 3 and 4 before we can move forward." or even, more melodramatically, "I'm not saying that you murdered her, I really don't think there's enough evidence to make such a case at this point, but the evidence really doesn't look great for you right now."

Seeing as the author is clearly quite knowledgeable about words and their meanings, the question is, then, why is she making such a flimsy case? The answer is, perhaps, to be found in the conclusion:

Please don't take this the wrong way " and really, I hate to say it " but the true audience for the but-head may not be our listeners, but ourselves.

11 points by DanielBMarkham 5 hours ago 0 replies      
This is an awful article. The title is linkbait and the opinions offered are given with little contradictory evidence.

Anticipating what somebody's response might be -- "you hurt my feelings!" or "You're lying" -- is part of human communication. Why have three exchanges when I can just anticipate your response and cover the most likely mistakes you might make? Moves the conversation along faster.

They also serve a critical role in the emotional nature of discourse. If I say, "To be honest", I am preparing the listener for something that might be more blunt than they are prepared to hear. "No offense, but" gets the reader ready to hear something they may find offensive. It's not that I am being disingenuous. Far from it. I'm simply trying to apply a little balm before the burn comes.

In life we have to say things to people that they may not want to hear. It is critically important that we learn how to "do the dance" with throwaway words and phrases like this in order that we can give -- and get -- information we may find hard to digest. Yes, you can pull out a broad brush and say it's lying, but you're entirely missing the point of such phrases by doing so.

Written communication to some degree mirrors vocal communication. We will always have a need to help each other emotionally as we talk about important things. Calling each other liars because the literal meanings of phrases don't exactly match up with the intention of the speaker is to confuse the practice of language with the semantic meaning of the words, something any linguist worth his salt should know not to do.

7 points by IsaacSchlueter 3 hours ago 0 replies      
Fun 1-month social experiment

Carry around a notepad.

Week 1: Every time you say "but", make a mark. Don't try to change anything, just keep track.

Week 2: try to not say "but", ever.

For weeks 3 and 4, do the same thing, but with commas.

Periods are more powerful than commas.

Weak: "Look, to be honest, I don't know why the server crashed, but I'm doing what I can to find out."

Strong: "I don't know why the server crashed. I'm working on finding out."

Weak: "I'm not saying the deal's off, but unless we can sort out clauses 3 and 4, I don't see how we can move forward."

Strong: "Clauses 3 and 4 are blockers. I would like to figure them out so we can move forward."

Weak: "I'm not saying your brother is fat or lazy, just that he could do with some more exercise and maybe get a job."

Strong: "Your brother is fat and lazy. He should get a job and lose weight."

Weak: "I know it's none of my business, but she could do a lot better."

Strong: "I don't like her boyfriend. Luckily we're grownups and don't have to agree on everything."

For every person who is shocked and offended by this approach, two people will respect and trust you for it. It's a net win.

4 points by Locke 5 hours ago 1 reply      
I don't think this article is making a claim about whether or not these phrases indicate that someone is about to lie to you.

The phrases themselves are often untrue.

For example, if I say "It's not about the money, but...", what follows is not necessarily a lie. What the article claims is that I'm about to make an argument based on money and that I'm trying to preemptively deflect any counter-argument. Therefore, the phrase "It's not about the money, but..." may, strictly speaking, become untrue. But that doesn't necessarily have any bearing on what follows.

6 points by mark_l_watson 5 hours ago 0 replies      
A few years ago I started almost universally replacing the word "but" with the word "and" in conversations. This word substitution has the added benefit of sometimes just causing me to not say what I was going to say. If something does not sound right with this word substitution that is an indication that what I was going to say was unnecessary.
2 points by T_S_ 3 hours ago 0 replies      
The article overreaches. It's like complaining about greetings. When I ask "How are you?", it doesn't imply that I don't care, even when I don't. I am not lying, I am observing social convention (being polite).

Social convention requires us to use "softeners" that indicate the speaker is aware that the listener has an independent feelings and opinions. It is not required that the speaker sincerely and deeply care.

True lies (nice phrase?) are more manipulative. They are more confident and attempt to limit the range of acceptable responses. Most of the ones cited don't.

4 points by cousin_it 5 hours ago 0 replies      
Not quite related, but fun: sometime ago I figured out that if you say to someone the phrase "I sometimes lie", they know with 100% certainty that you're telling the truth.
1 point by sbaqai 4 hours ago 0 replies      
They didn't cover this one, which I think is pretty common as well:

"You're probably going to [exaggerate other person's negative reaction], but..."

This will usually dampen the other person's negative reaction. You've presumed the person will react unfavorably to whatever it is you're about to say. You, in a way, have suggested the person will have a bias to be negative, before you've even stated anything.

No one likes to hear that about themselves, so people will tend to overcompensate by being even more dispassionate than they normally are. Before anything is ever said.

"You're probably going to hate me for saying this, but..."

"You're going to think this is silly, but..."

"You're going to think I'm a jerk, but..."

I think in each case, you'll find the listener consciously or subconsciously suppress their reactions so as to not to come off as hating the other person, or thinking they are silly or a jerk.

8 points by konad 6 hours ago 0 replies      
I'm going to start using some of this "inappropriately" and see what happens.

I'm not racist but it's cold in here.

lol, if you tried you could find racism in lots of innocent sentences prefixed with that.

2 points by ScottBurson 5 hours ago 0 replies      
Just the other day I was in a line at Sears' automotive department. There was a lady in front of me who had brought in a dead battery. She was about to leave it with the Sears guy when the man behind me said to her, "It's none of my business, but there are terminals attached to that battery that you might need when you put the new one back in the car" (or something like that). He was right, and they were grateful to him for pointing it out. I thought it was an interesting politeness, actually, that he prefaced his comment as he did. In his place I would probably have started out with "Excuse me, ...", which I don't think is wrong, but his more elaborate intro perhaps made it clearer that he knew he was butting in, albeit with the clear intent to be helpful.
2 points by electromagnetic 5 hours ago 1 reply      
It's nice that someone is actually pointing them out, not that most people don't already know that these statements are but-heads to begin with. Everyone knows "I'm not racist, but..." is followed by a racist statement. So the article in and of itself is essentially nothing more than blogspam.

What would be nice is if they provided some counter-interjections to use right after someone uses a statement like this. If someone says "I'm not saying X, but..." it would be nice to know a polite and decisive way to respond with "Oh yes you are".

1 point by Qz 4 hours ago 0 replies      
This is a common mistake to make when you don't really understand how language works. The dictionary definitions (or 'meanings') of words are mostly irrelevant. The only purpose of words is to link a signifier to a mental construct. All the phrases listed in the article are not used as phrases (related signifiers), but as whole signifiers. The dictionary meanings of the individual words in the phrases, along with what those related meanings would imply for the phrase as a whole, are irrelevant to the rest of the sentence, and only serve to provide historical context.
2 points by dholowiski 3 hours ago 0 replies      
And nothing says "this is a desperate grab for page views" like unnecessarily splitting your article into 3 pages.
4 points by AlexMuir 7 hours ago 0 replies      
My favourite used by any tech PR - "we don't have anything to announce right now, but..."
1 point by jonpaul 4 hours ago 1 reply      
This reminds me of "Sorry-buts"...

When someone almost always says "I'm sorry, but..." they are never usually that sorry. I've noticed these phrases often used by those who have a hard time taking responsibility for their actions or failures.

2 points by makecheck 6 hours ago 3 replies      
Or generally, only add meaningful words. A "to be honest" or "in fact" can be removed without changing the sentence. Brevity is nice.
1 point by danielha 3 hours ago 0 replies      
So a phrase including a "but" will be contrary. Got it.
3 points by zackattack 6 hours ago 0 replies      
These are very passive agressive and emotionally manipulative. I'm glad that they're being called out in this article.
1 point by JofArnold 5 hours ago 0 replies      
In my experience they vary considerably across languages and cultures. I suspect they are important language constructs in cultures that aren't inherently blunt. For example, as a British English speaker expressions like "I'm sorry to make a fuss, but..." are there not to enable lying but to express humility.

Sometimes. There's always exceptions of course.

1 point by CallMeV 3 hours ago 0 replies      
Love this. Perhaps the best response should be to respond with the exact phraseology just used, e.g. to "Don't take this the wrong way, but ..." followed by some negative personal criticism you could reply with "Don't take this the wrong way, but now I really want to punch you."
1 point by sdizdar 5 hours ago 0 replies      
I believe that for non-naive English speakers like me these "I'm lying" phrases are very annoying. Mainly because we still translate sentences into our own mother language (or some kind of proto-language) and then try understand the meaning.

For example, "Look, to be honest.." - what does it mean? You were not honest before? Or "I'm not saying..." - but you are saying?
Why do you need that introduction? What do you want to communicate with that?

I believe that native English speakers swallow and ignore these phrases more easily.

Am I wrong here? Do other non-native English speakers feel the same?

1 point by julius_geezer 4 hours ago 0 replies      
Really, if there were a point to the essay, she might have included "I'm not prejudiced, but..." after which some feel free to let go with remarks to give Ben Tillman pause.
1 point by willyt 5 hours ago 0 replies      
That these qualifiers are always bad is a pretty aggressive conclusion. A linguistic signal that you are about to disagree with someone is often useful as it takes the edge off a statement that would otherwise seem overly combative. However, this is probably highly cultural thing. I am British and I work in London. My German friend found it hard here at first because he would be too direct and people would perceive it as rude. He used to find it difficult to get people to do things for him and had to adjust the way he used the language. Having said that, it's true British people can take too long to get to the point :-)
3 points by mikecane 7 hours ago 0 replies      
"We'd like to pay you for this but ..."
1 point by chopsueyar 4 hours ago 0 replies      
Anecdotely, I have attempted this with my girlfriend on several occasions, using the phrase, "Don't be offended, but..."

I can confirm it does not work.

1 point by lwhi 4 hours ago 0 replies      
'With all due respect', does usually come with the caveat that no respect is deserved.
1 point by jj_aa 5 hours ago 0 replies      
I was hoping this would cover "Are you calling me a liar?" which seems to be a euphemism for "I dare you to explicitly accuse me of lying so I can change the subject" used by people who are lying.
2 points by jobby 6 hours ago 1 reply      
"I'm not a racist, but..."
L-99: Ninety-Nine Lisp Problems ic.unicamp.br
19 points by slig 4 hours ago   3 comments top 3
1 point by silentbicycle 28 minutes ago 0 replies      
This list was originally written for Prolog, and it looks like not all of them have been fully translated. Here are a few notes to help read it:

In e.g. "Write a predicate hbal-tree/2 to construct...", hbal-tree/2 means a predicate with two values. Lisp's cons would be cons/3, cons(Atom, List, Result). In Prolog, you can leave other arguments (not just the "result") as a variable and will often serve as a generator for all possible values. hbal-tree/2 would be used as hbal-tree(T, R). If T was defined and R wasn't, it would return a balanced version in R. With R defined but not T, it would generate all permutations of trees that balance to R (perhaps very slowly). T and R both defined would check if R is a valid balanced version of T.

Also, Prolog syntax uses "name(arg1, arg2)." rather than "(name arg1 arg2)".

1 point by alextp 1 hour ago 0 replies      
This is in the webpage of a professor at my university. His class was entertaining, and he is clearly really smart, but he scared off most of the students by asking them questions about the material, and teaching only the minimum necessary.

These problems are really cool, and seem to cover a lot of ground from silly list manipulation techniques to dynamic programming.

2 points by nickpinkston 1 hour ago 0 replies      
If you havin' Lisp problems I feel bad for you son... You got 99 problems, but parens ain't one...

J/K - This actually looks like a great start - like when I started Scheming for the first time.

Flash Ads Are Broken flashadsarebroken.com
29 points by jamesjyu 6 hours ago   16 comments top 7
8 points by melling 5 hours ago 5 replies      
I uninstalled Flash on my Mac about a week ago. Wanted to see if I could reduce the fan noise and heat. The one thing that might make me reinstall is that YouTube only supports 1 in 10 videos in html5, if that.
12 points by technomancy 4 hours ago 2 replies      
Actually I kind of hope people keep using flash for ads since it's so easy to avoid them by just not having it installed.
1 point by lamnk 1 hour ago 1 reply      
Recently i discover Chrome's Click-to-Play flash builtin feature (you can reach it in Preferences/Under the Hood/Content Settings/Plugins). It's similar to the ClickToFlash plugins for Safari: http://clicktoflash.com, but it's integrated in Chrome, you don't have to install anything to use it. Disable flash really enhanced my browsing experience: pages load faster, cpu usage down, more battery time ... If you want to see a specific flash object just click on it.

Too bad they removed the feature in Chromium 9 :( Instead you must block all sites and use a white list for site-wide exceptions.

2 points by ecaradec 5 hours ago 1 reply      
Nice idea but windowless flash are also more cpu consuming, so ads would use more cpu. I wonder what's the environmental impact of a change like this would be ;)

What's strange was that performance was my original thought when seeing that title, flash is breaking the web is so many ways.

I'm not sure it would change anything for Chrome though, the plugin in a process seems to use the windowless model by default. I'm not sure about that, but the rendering speed while doing my experimentations with http://swiffout.com seemed to suggest that.

1 point by willscott 3 hours ago 0 replies      
In defense of this practice, it seems like the fact that ads force themselves above everything else is quite useful in preventing click fraud.

Wouldn't allowing the flash ads to have a non-window wmode make it would be much easier for malicious websites to trick visitors into clicking on ads that they weren't aware were there?

1 point by radley 2 hours ago 0 replies      
Has anyone here considered using an ad blocker instead?
2 points by Xuzz 5 hours ago 0 replies      
Or is it just that using Flash for ads is an abuse of the tool?
Creating PDF ebooks With LaTeX (& two samples from The Project Gutenberg) mostlymaths.net
9 points by RBerenguel 2 hours ago   3 comments top 2
2 points by wtallis 1 hour ago 1 reply      
I've done pretty much this for the few e-books I've bought. None of the e-book applications for OS X do proper justification with automatic hyphenation, and some of them (such as B&N's eReader) don't even use subpixel antialiasing. The DRM is generally pretty weak, and it only takes a few regexes to convert them in to valid LaTeX code. After you clean it up a bit and add the semantic markup necessary to get proper chapter divisions, etc., you get a PDF that's a true book, suitable for printing, with typography that is actually readable.
1 point by ziweb 13 minutes ago 0 replies      
I just don't like the fonts in LaTeX. From what I remember, the Memoir class dosen't work to well with XeTeX.
Prof Gives Lecture to Prove He Knows Students Cheated; Over 200 Students Confess thoughtcatalog.com
181 points by nano81 17 hours ago   95 comments top 23
77 points by gojomo 15 hours ago replies      
But was it really cheating? Some students have pointed out that the professor said repeatedly that he composed the tests himself. Given that, then plausibly, using example tests from other sources would be a legitimate preparation method. (For example, the SAT doesn't penalize people for reviewing lots of practice tests, because it's assumed the actual questions during a real test will be novel.)



Now, it was probably common knowledge from prior semesters that this professor's exams were from the standard test bank. So those reviewing test bank questions may not have had pure motives in their study strategy. But it makes it less cut-and-dried, especially given that the students may have memorized (for example) 5 answers to potential questions for every 1 that happened to appear on the test. At some point, knowing all the answers to all potential questions is knowing the material... or else the whole idea of formulaic tests is bankrupt.

25 points by holdenc 13 hours ago 2 replies      
What the professor knows:

- Some students had an advance copy of the test

- The grade distribution indicates cheating

What the professor doesn't know:

- Who cheated

Unless the university has access to a students network traffic proving they had access to the test, there's no way to be sure who cheated. The fact that the professor trudges through threats and vagaries for a full 15 minutes only seems to underscore this.

23 points by RiderOfGiraffes 11 hours ago 0 replies      
Previous submissions of the same story from various sources. They all have some discussion:



http://news.ycombinator.com/item?id=1922243 <- This has the most comments


18 points by dschobel 13 hours ago 2 replies      
You have to think that if the professor really could identify the culprits he'd be limiting the retakes to them.

Maybe the real test here is for the students to realize that there is no "forensic analysis" in the world which could identify a cheater with 100% confidence except for the confession he is trying to bully out of them.

27 points by jsolson 14 hours ago 4 replies      
So, at least where I went to school (Georgia Tech) it is well known and accepted that students have word of basically every question that's ever been asked for any given course. Professors also commonly post previous exams as study guides for courses.

Is this not common elsewhere?

8 points by ltjohnson 7 hours ago 0 replies      
I'm a 5th year PhD student who is teaching a large (80 student) section of a course, this is the 4th course I've taught. I've also taken plenty of exams as a student, and they are still fresh in mind.

I would want to know more information before I decided the students were cheating or not. The instructor refereed to an "exam room", and gave an hour range that the new exam could be taken. So the students are not all taking the exam at the same time, this makes it seem possible that the exam is online. If the exam is online, and the students can take it at home vs take it in a proctored room, that would change what would be cheating. If it were online at home (I don't think so from the video) then reviewing the test bank while taking the exam would be cheating. If not, then having seen a question before the exam may or may not be cheating, depending on HOW you saw the question.

If you did not acquire questions in an unethical way, then it's not cheating, it's just studying. As an instructor, I will sometimes put problems from the book onto my exam. If the students worked the problems before because they were studying hard, then good for them! I want my students to study, because it will help them learn. I also provide a sample exam with previous exam questions on it; I write most of my own questions and it's important for students to get used to my style. As a student, I had to take a written exam for my PhD. When I was studying for the exam I asked Professors for help, one of my Professors gave me some of his questions. I worked out every single question. He also submitted one of his existing questions to the exam and I recognized it when I was taking the exam. Cheating? No. I just got lucky (and worked my ass off).

If test questions are acquired by malicious means, or knowing that they are going to be on the exam, or are the test bank that is going to be used to make the exam. Then it is cheating. So if students knew that the questions came from a test bank, and downloaded the test bank (I'm sure it's on the web somewhere) to gain an advantage they cheated.

Finally, as an instructor. Writing a decent exam is surprisingly hard. My goal with an exam is two-fold, figure out how well the class as a whole is doing, and separate the students into their grade groups. The ideal exam has some problems that even the D students can answer (to separate them from the F's) and some problems (usually just 1 problem) that are a stretch for the A students. And a mix of medium problems for everyone. If you have too many easy problems, the grades will creep up and you won't separate students. If you have too many hard problems, the grades will creep down and you won't separate students. Writing an exam from scratch is very time consuming. I use my private test bank, and try to add 1 or 2 new questions to the bank when I'm writing each exam. I can understand (but don't agree with) an instructor pulling entirely from an existing bank to write an exam.

3 points by Hoff 8 hours ago 1 reply      
Your job as a teacher or as a presenter is to extend the available materials, and to provide me with insights that I might not gain from Googling existing materials.

Not to prevent me from accessing the available materials.

Not to control access to information.

If what I am learning from your teachings and from your tests and from other students can be entirely replaced by Googling through test banks, then you're not helping me advance.

If a presenter is reading off the slides?

If you're not utilizing what is available, whether Google or Khan Academy or iTunes classes or otherwise, you're not helping me make connections. To think. To research.

We see similar transitions arising in many human pursuits. In journalism. Booking travel. Financial markets. Programming. Music. And education. And in an earlier era of teaching, simply bringing calculators to a test.

Don't make me memorize. Make me think. Make me research.

It appears the professor has unwittingly also proved his teaching approach has failed.

5 points by ajays 6 hours ago 1 reply      
The solution, of course, is to have open-book, open-notes tests. Let the students bring any notes, books, etc.; anything but a communication device.
The questions need to be novel and challenging enough so that the students who understand the material can walk out in no time; the students who don't, can sit around flipping through their notes.

Of course, this approach requires the _professor_ to do a lot more work. (The few times I taught, I used this approach and always got rave or begrudging reviews).

So really, I have no sympathy for this professor if he adopted the "security through obscurity" approach (as in, the problem set wouldn't be accessible to students). I don't blame the students for doing what they did; in real life, don't we expect employees to use whatever resources they can to solve problems?

4 points by srean 13 hours ago 1 reply      
I don't think it is really possible to keep a question bank secret. Some students tend to follow up with those who had taken the course last time, at least in my university. So if the question bank is voluminous enough, why not just make it open ?

Whats the worst that can happen, people might go through it and learn all the solutions. Well, let them, that's the purpose of the course anyways. But the question bank cant so small that it does not explore the full diversity of problems. And no one is claiming that all questions will be from the question-bank, throw in a few off question-bank odd-balls each year.

But how could they analyze the submissions to figure out (even approximately) who cheated who did not ? Apart from trawling their email and phone calls and wire taps that is....:-) I suspect part of the "forensics" was a bluff.

I can only guess that there are a few problems in the set that historically have a low probability of being solved correctly. So whoever solved those can be marked suspicious.
But a test will have only a few of those.

But it sure sucks to be in a course where the instructor is unaware of the problem that QB is available and you are unwilling to look up the QB. Particularly where the QB was particularly designed for the top percentile.

2 points by kleinmatic 3 hours ago 0 replies      
I might have missed something in the video, but if I were an innocent student, the benefit for me in falsely claiming I cheated far outweighs the risk in defending my innocence.

The choices as I see them are these, whether you're innocent or not: 1) say that you cheated, and you get to retake the test as though you never took it the first time -- you don't even fail the test! -- but you never get to ask this professor of a lecture with 600 students for a favor. 2) don't admit that you cheated, get caught in some dragnet based on pretty flawed statistical reasoning (or better yet, a witch-hunt), and "not graduate." 3) Best case scenario: You say nothing, don't get accused of anything, and you get the undying loyalty of the professor, though that loyalty fails at the first try, because it doesn't extend to you getting out of a test you by definition shouldn't have to take in the first place.

I'm a bit stunned that only 200 students "confessed."

6 points by xentronium 14 hours ago 0 replies      
Scaring shit out of you since 1981.

While it is generally true that good students should not cheat, but using questions from standard question bank was somewhat asking for it :)

Nice and simple trick with distribution and disturbances, though.

1 point by icco 2 hours ago 0 replies      
This disgusts me, but I totally believe it, as a college student seeing these kinds of numbers do not surprise me at all.

Where I go to school though, the test is given at one hour on one day. The whole you have 52 hours to take the test thing. It seems like whoever takes it first could still help others study.

2 points by brisance 10 hours ago 0 replies      
Outside of the United States, there are test standards called the GC(S)E "A" and "O" levels which are roughly equivalent to entrance exams for college/senior high respectively. Because these exams have been going on for DECADES, the examining body has basically given up on guarding these questions i.e. they are regarded to be in the "public domain". Enterprising publishers have called these collections of questions the "10 year series", which are exam questions from the previous decade. There is not a single person in this part of the world who does not own a copy when preparing for those exams.
14 points by gsivil 17 hours ago 1 reply      
4 points by rsobers 10 hours ago 0 replies      
This is definitely cheating, but there's an important lesson for the professor: if you care about cheating, don't be lazy. Write your own exam questions and change them often.

You can tell that this is the most exciting event in this professor's life in the past 20 years. Maybe he should try varying his material.

2 points by julius_geezer 9 hours ago 0 replies      
A close relative teaches in a continuing-ed masters program. The first two or three times she taught the class, the grades on the midterm were OK, but reasonably distributed. This fall, they were uniformly excellent. She concluded that the students had copies of her exams from previous semesters, and rewrote the final.

As far as I know, it never occurred to her to tell the students off. Of course, these are twenty-somethings and probably a lot less susceptible to brow-beating.

5 points by kapitalx 14 hours ago 0 replies      
The students actually were asked to confess if they had seen the sample test before the example or not. They weren't confessing to actual cheating.
1 point by jtchang 5 hours ago 0 replies      
I use to have a professor that actively encouraged us to review old tests, question banks, friends, anything we could get our hands on. Hell his tests were even open book/notes.

The tests were genuinely difficult. You could pass by looking at the material because some of the questions were just lecture examples with numbers changed. But to really ace the test you needed understanding of the material.

1 point by ccomputinggeek 8 hours ago 0 replies      
For most courses the exams don't stray far from what's already been asked before. Competition between universities has made this problem a lot worse. Students choose courses with high pass rates and favorable grade ratios.
1 point by reason 9 hours ago 0 replies      
The entire education system is essentially one big game, from the obscure admissions process to professors sticking to predetermined grading distributions; and these students are simply playing along.
2 points by CallMeV 10 hours ago 0 replies      
I just wish I could plusvote this one twice.
1 point by cool-RR 12 hours ago 1 reply      
What a petty man.
-3 points by ghshephard 16 hours ago 2 replies      
Nude.js | Nudity detection with JavaScript and HTMLCanvas patrick-wied.at
119 points by pa7 14 hours ago   33 comments top 9
8 points by snowmaker 14 hours ago 4 replies      
Slightly off topic, but does anyone know of a server-side implementation of the same concept? I've been looking for a good one.
23 points by burgerbrain 13 hours ago 4 replies      
Now if only they would make one that detected violent and hateful content.

You know, things people should actually be concerned about children seeing.

6 points by matthijs 9 hours ago 0 replies      
Even a really close up picture of a face will be seen as nudity. Trying to detect a body (or parts of a body) and determine how much skin is visible would probably be a better approach.

Also quite relevant is this site: http://www.yangsky.com/researches/physicallinguistics/PLUnde...
Besides a "breast detector/nipple detector" he also created a couple of weird detectors like a "cowgirl sex position detector" among others.
(The link is sfw, the individual detectors are not)

3 points by pa7 6 hours ago 0 replies      
The algorithm is mostly based on this paper:
but there are some steps open. I've implemented this algorithm because it's not as hardware intensive as the usual nude detection algorithms (such as searching for specific body parts)
3 points by seanlinmt 13 hours ago 2 replies      
Interesting concept.Scanning through the code, reading just the comments, it seems to base the nude-not-nude decision by the amount of skin shown.

Hmm.. I guess it depends on what your definition of nudity is.

0 points by cabalamat 3 hours ago 1 reply      
> The detection algorithm runs at the client

Thank you. I really want Firefox to be even slower running unnecessary JavaScript.

1 point by Mpdreamz 14 hours ago 0 replies      
Wonder what came first, the clever wordplay or the actual feature. Really cool stuff though.
1 point by seejay 13 hours ago 1 reply      
I couldn't help but click on the message :D

pretty useful concept, i must say...

-4 points by iwr 13 hours ago 0 replies      
If you opt out of the nude.js, the pat-down bot gets to fondle your dangling pointers.
Pacing Yourself avc.com
37 points by harscoat 8 hours ago   3 comments top
2 points by kurtosis 4 hours ago 1 reply      
This confuses me. If it is impossible to time the market, then why does he think it is "pretty clear that the market is getting overheated"? [edit: in the comments he explains that he's looking at "revenues and cash flow and discounted cash
flow to get values", but if these are only weak predictors that don't enable one to time the market, why worry?]
Ask HN: Why no SQL Query Tools for iPad? Am I missing something....
6 points by jason_slack 56 minutes ago   4 comments top 3
1 point by jsatok 12 minutes ago 0 replies      
I agree that it's missing. I'd really like a SQL tool for the iPad, as I need to use an SSH client, then use mysql on the command line to query my databases.

I don't know anything about the porting process, but Sequel Pro for Mac is open source.

Could it be ported? http://code.google.com/p/sequel-pro/

2 points by thehodge 47 minutes ago 1 reply      
I have exactly the same query with SVN / Git tools, the iPhone has an SVN editor but it hasn't been updated in over a year and hasn't been ported to the iPad... there is a massive gap for even a small editor with git/svn support
2 points by Flemlord 19 minutes ago 0 replies      
Because you'd have to be insane to thumb-type SQL queries.
Exercise: a requirement for sleep? joel.is
57 points by joelg87 11 hours ago   28 comments top 12
6 points by icegreentea 7 hours ago 3 replies      
Once you start exercising more and get use to it, you'll have to be careful when you do your exercise. I find that anything that blasts my heart rate into high (+140.. guess its all relative though) for long periods of time (more than 30 minutes) will prevent me from sleeping for the next ~2-4 hours. I'll sleep fine afterwards, but during that time, trying to sleep is a usually a lost cause.

There are always exceptions though, and it really varies from body to body.

The basic advice being 'listen to your body' and 'adjust to how your body reacts' applies to everything to do with exercise.

(Also, noticing your note about 20 minutes transit. Strongly consider running/biking to the gym. Dunno what type of weather you have over there, but in anything above -10, you should be fine with a 10 minute run with sweatpants over shorts and a sweater. Just bring one of those satchet bags with shoes, lock, extra jacket or something. You'll save time, and feel badass when you bounce into the gym heart already pounding, and a few randoms looking at you going 'wow, he's ready')

6 points by jcro41 2 hours ago 0 replies      
I've read many anecdotes about exercise improving sleep, but research seems to show something else:

In a representative study that he led several years ago, for instance, college students " some athletic, some sedentary " kept detailed sleep and exercise diaries for months. At the end of that time, the researchers cross-referenced the diaries and found no notable correlation between exercising more and sleeping better or vice versa. Meanwhile, in a second part of the same study, a group of adults wore monitors that recorded their movements and sleep patterns. The participants also filled out activity diaries. Using the objective data from the monitors, together with the diary reports, the researchers found only marginal impacts on sleep from exercise. The most active volunteers tended to fall asleep about a minute and a half faster than those who were the least active. Otherwise, their sleep was virtually identical.

From http://well.blogs.nytimes.com/2010/05/26/phys-ed-does-exerci...

1 point by sp4rki 9 minutes ago 0 replies      
Exercise does not guarantee a good night's sleep and can actually hinder it. Good health does (guarantee a good night's sleep). The link between exercise and sleep has more to do with the fact that people who exercise are mostly in better health that the counterparts.
3 points by awolf 5 hours ago 0 replies      
Absolutely agree that exercise is vital to good sleep and furthermore good sleep is vital to good health.

A few other sleep hacks:

- Sleep in complete darkness. Increases melatonin production. It's best if you can sleep until you wake up without an alarm which means not being disturbed by the sunrise. More reading on the link between darkness and melatonin: http://drbenkim.com/articles-sleep-darkness-prevent-cancer.h...

-Avoid blue spectrum light exposure for an hour before bed. Not sure if there is any research on this but it definitely does the trick for me. I bought a couple red light bulbs to use to catch up on reading. Now the red light is part of my routine that seems to just trigger me feeling sleepy as soon as I turn it on.

- Magnesium citrate before bed. Most people are deficient in magnesium anyway. Helps keep you regular and definitely knocks me out before bed. Check out Natural Calm.

7 points by michokest 9 hours ago 1 reply      
For the last couple years, I was working around 10 hours a day and did absolutely no exercise. It took me sometimes up to one hour to fell asleep, probably because of that.

Now I started going to the gym again, 3-4 times a week for one hour, doing light exercise to compensate all the hours sleeping. As a result, my back no longer hurts, I sleep better and feel a lot more focused in what I'm doing.

2 points by sudonim 1 hour ago 0 replies      
A little OT, but for me exercise is important for focus and positive thinking. I often get into a slump if I stop exercising for two weeks. Then, I go and run 4 miles and my head is clearer and I accomplish difficult tasks with ease.

I absolutely wouldn't be able to do good work if I didn't exercise. And, it helps prevent me from leaving dishes piled up and vegging out on the couch.

1 point by fauigerzigerk 2 hours ago 0 replies      
It's the same for me, but even short (10 minutes) intense exercises during the day help me sleep much better. That's fortunate because I wouldn't be able to fit hour long exercises into my workday.
1 point by oceanician 5 hours ago 0 replies      
I personally find that once you loose routine from exercise you do it less.

I've often thought that it would be better if you could find others that regularly want to exercise doing something that you also enjoy at the same time, but I've not figured out a way to do this. Somet like sports-buddy.com would be the idea there I guess.

I also found that late night exercise was actually a hinderance to sleep. A problem when the most popular time slot for badminton is 8pm til 10pm which is too late for me I've found.

Leaving work early to play badminton 6 til 8 worked much better for me, both in terms of better exercise and sleeping better, but I did find that if I didn't eat a snack mid afternoon (3.30ish) then my energy levels dropped off too quick.

I'm slowly getting better at exercising again through going for regular small bike rides, but hope to get my shoulder injury seen to with the new companies healthcare soon, which I hope will mean more badminton again next year :)

So, perhaps it's more the finding a sport that interests more than gym and swimming, and provides some social interaction is what we're all looking for?

2 points by noelwelsh 8 hours ago 1 reply      
Keith Norris http://theorytopractice.wordpress.com/ writes a blog I like that has some great ideas for short intense workouts. I never have trouble sleeping after a heavy deadlift session, for example, and you can annihilate yourself in 20 minutes of lifting. Alternatively you can mix stuff throughout the day: pushups, pullups, etc.
2 points by rsheridan6 9 hours ago 2 replies      
I think the best solution for busy people would be a treadmill desk. As a student, I used to study while briskly walking on a treadmill, which meant that I only had to sacrifice driving time.
2 points by doubleg 8 hours ago 1 reply      
In my experience the type of exercise matters a lot: after my average cycling training (50-100km) my legs are hurting but I feel more energetic and awake.
Mostly it results in staying up later than normal.
1 point by pghimire 6 hours ago 0 replies      
I, for some reason, cannnot fall asleep if I workout at night. I get so pumped up that sleeping becomes impossible. Working out in the morning works the best. I feel energized throughout the day and byt the time bedtime comes around I am wasted.
Ask HN: My lifetime mentor died. How to move on?
55 points by mattblalock 6 hours ago   29 comments top 20
26 points by michael_dorfman 4 hours ago 1 reply      
First of all: remember that you are lucky. I know it's hard to see it that way right now, but you were given an incredible gift in the time that the two of you had together. The fact that it was cut short so abruptly and meaninglessly doesn't take away from that; if anything, it highlights it.

In terms of "how", there is no magic answer; you just try to keep learning, and keep giving to others, to the best of your ability.

You say that you used to speak for an hour each day; I'd suggest that you spend a portion of that time writing down things you remember-- lessons, anecdotes, etc. The time may come, years from now, when you'll be glad you have some tangible reminders of his advice.

Good luck to you.

8 points by RBr 3 hours ago 2 replies      
1) Talk to a shrink. I'm not a big medication guy, so simply having an impartial, 3rd party can help. Plus, they know grief so they can help you find some strategies.

2) Channel your Father. I don't mean in some Psycho (movie) sort of way. I mean that likely without knowing it, you know what your father would have said for a long time. You could likely say "what would he have said" and have him there with you. Sometimes, writing questions and then answering them as if you were him can reveal the answer... and help.

3) Tell other people who your father was. Go out of your way to talk to people and when some advice pops into your head that your dad would have conveyed, relay that. If possible, mentor someone yourself. Passing on experience really lets folks live on. Even if the people you're passing stuff on to aren't related (like a son or daughter), mentoring people is as valuable for the mentor as the person being mentored.

7 points by transmit101 4 hours ago 0 replies      
Three months is not much time at all to deal with a situation of this magnitude. Be patient with yourself, and give yourself a lot more time. In my own personal experience, it took 2 years to deal with losing somebody close to me. Even after that of course, things were never the same as before, but I eventually felt myself again, and could enjoy the memories I held.
Again personally, but I found keeping a journal a great release. Good luck
2 points by gabrielroth 2 hours ago 0 replies      
My condolences.

I can think of two pieces of advice, from my experience, that stand a chance of being helpful.

(1) Don't expect yourself to respond differently from how you're responding. At various moments in a single day you may be miserable, numb, and surprisingly cheerful. None of these is the wrong response, especially when the loss is so fresh. If you're still feeling perpetually distraught in two years, talk to a shrink. (Talk to a shrink now if you think it might be helpful, but don't do it because you think your response is somehow disproportionate or invalid. It isn't.)

(2) Get used to the fact that this event will place a layer of friction between you and most other people. Hopefully you have one or two people in your life who you have talked to, at length, about what you're going through. Others, even good friends, will regularly say things that feel callous and unsympathetic. Try to be patient with them.

2 points by dctoedt 2 hours ago 0 replies      
Let me add my own condolences, and reiterate that it will take longer than three months. I'm still affected by my dad's death a year ago (today) after a long and difficult illness. You've got it even tougher, given the brutal circumstances and the suddenness of the rip in your universe.

Mourning takes time, and there's not much you can do to speed up the process. I strongly suspect this folk wisdom underlies the traditional rule that a widow(er) shouldn't remarry before a year has elapsed.

5 points by dawson 6 hours ago 1 reply      
I'm sorry for your loss. I found that time does heal most wounds. From experience, try not to make any big decisions right now, you'll tend to be emotive and reactional, rather than rational. Eat healthy and get lots of sleep (psychological effects of trauma cause real physical effects).
4 points by Mz 6 hours ago 0 replies      
No one close to me has died, but I have had other big traumas in my life and big changes. I found that going out and finding something constructive to fill my time was a good move at some point, sometimes after having a period of mourning/wrapping my brain around the issue. I also spent some time in my twenties watching tear-jerk movies (alone and late at night) and crying my eyes out. After a while of that, I stopped feeling sad all the time. It helped me release those emotions.
1 point by akulbe 53 minutes ago 0 replies      
I am SO sorry for your loss. I cannot even begin to understand or appreciate the gravity of what you have experienced.

In my humble opinion, the best thing you can do to put life back together, and honor your father's memory... is to mentor someone else.

Pay it forward, if you will.

This will cement the lessons he taught you, in your mind, and you will learn more through experience.

I would also venture to say that you will come up with wisdom of your own, as times goes on.

As much as it hurts, this experience of losing your father, and how you respond to it, in your life... will be part of makes you who you are.

If you ever need/want to talk, don't hesitate to drop me a line.

8 points by jonezy 4 hours ago 0 replies      
it's your turn to be the mentor, find someone and do for them what your father did for you.

I'll bet that was his intention all along.

1 point by ScottBurson 2 hours ago 0 replies      
My heart goes out to you. I can't imagine what that must feel like. As others here have said, it's perfectly understandable that you've been in shock and grief.

I think the best suggestion I could give is to be easy on yourself. It's good that you're starting to feel ready to begin moving forward, but don't rush anything. Be glad for what you can do, and don't worry about what you're not ready to do yet. Taking a long walk every day might help.

3 points by cowmixtoo 4 hours ago 0 replies      
mattblalock: My business mentor / great friend died a little over a year ago and its been very hard to adjust. There really isn't anything to say that will help except for it will take time to adjust and move on. In my case I was "lucky" because my associate died of cancer so I was able to say final "goodbyes", etc. In fact, he final gift to me was being able to describe the process of dying and how he felt at each stage.

BTW, it turns out there ARE atheists in foxholes.

2 points by jacobroufa 3 hours ago 0 replies      
My condolences. My father plays a huge role in my life. He's got Parkinson's Disease and has had it for well over a decade now... it will eventually kill him. So I've had time to think about this. The truth is, when it comes time, I have no idea how I will deal with it. But my father, being the person he is, would want me to live my life to the best of my ability and live it without getting hung up on the little things. The reality is that we all die eventually, like it or not. To honor the memory of our loved ones we should do what they would want and I doubt they would want us to be so stricken with grief as to shut down our lives. I like what michael_dorfman had to say; you are very fortunate that you got to spend as much time as you did with your father. Cherish his memory, always.
1 point by lwhi 2 hours ago 0 replies      
Get some bereavement counselling - coming to terms in something that must seem so unjust, can't be easy.

It will be very useful to be able to process the hurt you're feeling, in the company of someone who has good experience helping people who've dealt with similar losses.

2 points by shareme 4 hours ago 0 replies      
Sorry to hear about your loss. Obviously no one can replace your mentor. However, I am sure your mentor would have wanted to pass down the things they did to someone.

As you go through that process you will find that sooner or later anew pursuit pops in mind that is connected to your mentor.

1 point by alexwestholm 2 hours ago 0 replies      
That's a terrible situation. I'm very sorry for your loss.

My father has conveyed to me some enormously valuable things over the years. When his time comes, I think a major part of dealing with it, for me, will be both preserving these things and passing them on. If you can put to paper some of the wisdom he's given to you, and then spread that to others, I'm sure you'd be doing him proud. And beyond that, I'm sure you'd be doing something beneficial for yourself and for us all. Good luck.

2 points by PostOnce 2 hours ago 2 replies      
Build something he would be proud of.
1 point by ecaradec 5 hours ago 0 replies      
Whenever I feel bad because the world around me is falling, I always repeat myself that it's just a normal reaction. Take your time, it's ok be sad, you don't have to accomodate people around you.

You were also very lucky to have build such a warm relationship with your father, something many childs are never able to do and regret later. Only time will make you feel better, and he still be here with you as you'll remember his insights all your life.

2 points by perucoder 4 hours ago 0 replies      
Sorry to hear about your loss. Like the other's have said, time will make things easier to deal with. Be alert though for signs of destructive behavior, as this can make your life even more complicated. Increases in drinking/drugging, isolating oneself, excessive risk taking, etc.
1 point by trizk 2 hours ago 0 replies      
He would have wanted you to move onward and succeed. In fact, that is the only way to do his memory justice.
-1 point by xenophanes 5 hours ago 1 reply      
Software Engineering: Coping When You Must Repeat Yourself jjinux.blogspot.com
20 points by kapilkaisare 7 hours ago   5 comments top 4
2 points by Xurinos 1 hour ago 0 replies      
I wholeheartedly agree with the author where he talks about documentation. Documentation is presentation, and you present to different audiences. You will repeat concepts.

However, duplicate code is the greatest sin in software design. Almost every good practice or rule we have conjured is an attempt to reduce code duplication. Redemption comes in the form of abstraction. How could anyone defend duplicate code?

The author mentioned two kinds of duplication in tests. The first is a case of "You're doing it wrong." Here is a good rule of thumb for tests: if you find yourself copy-pasting between the code you wrote and the test you write for that code, you are not testing the code. Find an alternative way to test it. You will find a lot more value in it.

The second is a discussion of setup and teardown being repeated. You are writing a lot of extra noise. Perl's Test::Class, for example, allows you to write one setup and teardown for all the tests in a Test::Class child. Reduce copy-paste by grouping together classes of tests. Even without a nice test framework, setup and teardown are trivial to implement yourself. Don't write tests that are a series of lines in one large main function.

Sometimes you can factor out this duplication. However, in less dynamic languages like C, it may not always be easy to do so.

What does this "less dynamic" mean? The example is easy to refactor into a function for both:


C can abstract. It is not as good at abstracting as Lisp (what language is?), but there are solutions for most situations.

Don't ever accept the idea that code duplication is legitimate.

9 points by frou_dh 5 hours ago 1 reply      
Overeager DRY-ing can also bind together unrelated code. Two areas might only overlap for a fleeting period before rightfully diverging.
3 points by nerfhammer 3 hours ago 0 replies      
DRY when it makes things simpler. Sometimes you would have to make things so much more complicated in order to completely not repeat yourself that it ends up not being worth it if it's not maintainable or difficult to debug what it's doing.

The point of DRY is to keep things simple and more maintainable. If DRY ends up making things more complicated and less maintainable overall then hold your nose and use your judgment. DRY makes some people miss the forest for the trees; KISS is better than DRY, which ought to be subservient to it.

1 point by mathgladiator 4 hours ago 0 replies      
I completely agree. I think DRY is a very single-developer orientated aspect. There is value in repeating your self or copy and paste programming as that can enable further polish and customizing where DRY causes more intense mental activity to keep everything clean.

Inspired new blog article: http://blog.mathgladiator.com/2010/11/avoid-dry-for-product-...

Steve Wozniak on what to do as an entrepreneur if a startup is not working tvdeck.com
7 points by patel 3 hours ago   1 comment top
2 points by patel 3 hours ago 0 replies      
I believe it's very hard for any startup entrepreneur to realize the company isn't going anywhere or there is no real business in what was set out to be done. Sometimes entrepreneurs don't know when to quit on old efforts and re-focus the mission of their startups. Entrepreneurs can only expect to see flat growth for an X amount of time before they have to accept the reality and brainstorm for more ideas, and I believe this isn't stressed enough in Silicon Valley related (bootstrapped) startups.

I think what drags most entrepreneurs on for the longest time is the fact that they think their startup's going to be a big hit tomorrow, next week, or next month.

It's like eating chocolates, people think I'll just eat one more or two more, but before you know you've wasted a day eating the whole box; the end result is nothing (left).

All entrepreneurs should never be afraid of change, because everyone still has their brain at the end of their day as Steve said.

My question to fellow hackers:

"Have you ever folded a startup? Please elaborate, if possible."

Instapaper's backup method marco.org
156 points by hugoahlberg 1 day ago   41 comments top 13
25 points by joshu 23 hours ago 1 reply      
on delicious, we had a thing that would serialize a user to disk for every day they were active. inactive users were not re-serialized.

this let us have day-to-day backups of individual users. this was necessary when broken clients would delete all the user's items. so we could easily restore an individual user (or do a historical recovery.)

10 points by ams6110 19 hours ago 0 replies      
The scenario he presents of being able to recover from an unintentionally broad delete or update query would seem to only work in the simplest of databases. He says:

- Instantiate the backup (at its binlog position 259)
- Replay the binlog from position 260 through 999
- Replay the binlog from position 1001 through 1200
And you'll have a copy of the complete database if that destructive query had never happened.

This only works if the changes in positions 1001-1200 were unaffected by the undesired changes in position 1000. Seems rather unlikely to me, but maybe in the case of his particular schema it works out.

17 points by lockesh 21 hours ago 1 reply      
Anyone else find this scheme completely atrocious?

1. Relying on a home computer on the critical path for data backup and persistence for a business

2. Relying on a high latency, low quality networking path between the slave db and the 'home mac' rather than a more reliable link between two machines in a datacenter.

3. A poor persistence model for long lived backups

4. No easy way to programatically recover old backups

What's even more disturbing is that this isn't a new problem. Its not like we don't know how to backup databases. This solution seems very poorly though out.

7 points by mseebach 23 hours ago 4 replies      
It seems unnecessarily exposed to an event affecting Marco's home - fire, burglary, natural disaster etc. It would appear more prudent to back up to a cloud location. Either, as he mentions, S3, or a VPS somewhere.
5 points by bl4k 21 hours ago 1 reply      
I don't think backing up the entire db to a laptop is a good idea, since laptops can get both lost and stolen. As somebody who uses the service, I am not super-comfortable with knowing that a full copy of my account and everything I save is sitting on a laptop somewhere.

It would be much better if these dumps were made to S3, or somewhere else that is actually in a secure datacenter (and a step that includes the word 'encryption').

6 points by rbarooah 18 hours ago 0 replies      
Would the people who are upset that Marco is using his 'home' computer feel the same if he instead said it was at his office? Offices get broken into or have equipment stolen too - I'm not sure why people think this is so irresponsible given that he works from home now.
3 points by rarrrrrr 20 hours ago 0 replies      
FYI You could run either tarsnap or SpiderOak directly on the server for a prompt offsite backup. Both have excellent support for archiving many versions of a file, with de-duplication of the version stream, and no limits on how many historical versions are kept.

Also, "gzip --rsyncable" increases the compressed size by only about 1%, but makes deduplication between successive compressed dump files possible.

(I cofounded SpiderOak.)

3 points by ludwigvan 11 hours ago 1 reply      
[Disclaimer: Instapaper fan here, so my opinions might be biased. It is probably the application I love the most on my iPad and iPod Touch. Thanks Marco!]

Marco has recently left his position as the CEO of Tumblr; and I think concentrates on Instapaper much more than ever (I assume it was mostly a weekend project before, requiring simple fixes); therefore I have no doubt he will be making the service more reliable and better in the future (switch to S3 or similar).

Also, don't forget that Instapaper web service is currently free, although the iOS applications are not (There is a free lite version too.) There is a recently added subscription option (which AFAIK currently doesn't offer any additional thing); and I hope it will only make the service even better.

About security, I do not consider my Instapaper reading list as too confidential; so I don't have much trouble thinking the backup computer being stolen. Of course, your mileage might vary. As far as I know, even some accounts do not have passwords for Instapaper, you just login with your email address.

4 points by philfreo 20 hours ago 0 replies      
I upvoted this not because I think personal laptops and Time Machine are a good process for db backups, but because making backups is still a huge pain and problematic area, so the more attention it gets, the better.
3 points by zbanks 1 day ago 1 reply      
That's really an amazing system. Super redundant.

A relatively easy boost, which he briefly mentioned, would be to also store the data in S3. That should be easy enough to be automated, which could provide a a somewhat-reliable off-site backup.

However, Instapaper has the benefit of a (relatively) small DB. 22GB isn't too bad.I don't know how well this would scale to a 222GB DB with proportionally higher usage rates. It'd be possible, but it would have to be simplified, no?

4 points by dcreemer 22 hours ago 1 reply      
Are the primary and backup DBs in the same data center? If so, how would you restore from an "unplanned event" there? I ask because I faced that situation once years ago, and very quickly learned that uploading 10's of GB of data from an offsite backup will keep your site offline for hours.

In the end I ended up _driving_ a copy of the DB over to a data center. Adding a slaved-replica in another location is pretty easy these days.

1 point by konad 8 hours ago 0 replies      
I just dump data into Venti and dump my 4gb Venti slices encrypted to DVD and keep an encrypted copy of my vac scores distributed around my systems.

If you're doing full dumps every few days, you're doing it wrong.

1 point by japherwocky 19 hours ago 0 replies      
are those binlogs timestamped? what wonderful graphs you could make!
North Korea Working With Uranium at Vast New Plant nytimes.com
48 points by talbina 10 hours ago   32 comments top 5
9 points by talbina 8 hours ago 1 reply      
"American officials know that the plant did not exist in April 2009, when the last Americans and international inspectors were thrown out of the country. The speed with which it was built strongly suggests that the impoverished, isolated country, which tested its first nuclear device in 2006, had foreign help and evaded strict new United Nations Security Council sanctions imposed to punish its rejection of international controls. "
8 points by radicaldreamer 2 hours ago 0 replies      
It wasn't "discovered", the North Koreans showed it to a visiting nuclear scientist, who would know exactly what he's being shown. It's probably a negotiating tactic for more hard currency/aid for the regime.
4 points by ck2 8 hours ago 4 replies      
Sigh, so when are we sending kids to die in North Korea?

Because North Korea doesn't even have the electric infrastructure or appliances to explain that development for a power plant.

This is all going to end very badly.

8 points by mike_esspe 8 hours ago 0 replies      
This looks like North Korea is starting the next crisis, expecting aid in exchange for stopping their actions.

Some explanation about previous crisis: http://www.atimes.com/atimes/Korea/KK12Dg01.html

1 point by iwr 6 hours ago 1 reply      
Nuclear weapons are just invasion insurance policy. Also, useful bargaining chips in exchange for foreign aid.

The solution would be just to halt all foreign aid and sign a peace treaty, or remove all options, including the nuclear one, from the table. This would give the NK leaders no foreign enemies, perhaps leaving lower ranked party members seeking to overthrow them.

Cool Physics: Visualizing microwaves in a microwave oven gaurabc.com
92 points by gchakrab 19 hours ago   12 comments top 7
1 point by meatsock 2 minutes ago 0 replies      
what's the black bar 2/3rds of the way up?
20 points by huhtenberg 17 hours ago 0 replies      
Blogspam. Here's a proper link - http://kossover.squarespace.com/journal/2010/11/12/seeing-wh... - and it mentions that he borrowed the idea from http://www.youtube.com/watch?v=mcEYvkvfWE8, which appears to be exactly same setup sans the narration.
4 points by dschobel 16 hours ago 0 replies      
Another neat microwave physics experiment if you have kids, measure the speed of light with a microwave + chocolate bar: http://www.wired.com/geekdad/2010/02/leftover-valentines-cho...
8 points by TheNewAndy 17 hours ago 0 replies      
I've seen this done with a 3d lattice of marshmallows connected with toothpicks. It was done without the carousel, so the finished product gives you a nice 3d model of where the microwaves are.
4 points by jonhendry 18 hours ago 2 replies      
Neat, but it would have been better if he'd not used the carousel.
2 points by joe_bleau 16 hours ago 0 replies      
I've seen it done with thermal fax paper and graphite pencil marks.
1 point by vanschelven 15 hours ago 2 replies      
If you're going to try this at home you should be aware of the dangers of putting water in a clean glass in a microwave oven:


       cached 21 November 2010 23:59:01 GMT