Microsoft asking for engineer to work on a native compiler for C++ and C# - <AUTHOR> http://programmers.stackexchange.com/questions/177472/will-c-merge-with-native-c-compiler

<comment><USER2> This changes nothing. You could already compile to native code if you really wanted. This doesn't affect speed much at all - C++ gets the speed it does from not doing bounding checks on numbers or arrays, and from the way templates work, etc. Plus ability to optimize pointer usage, and managing memory directly so you don't need garbage collection.

It also doesn't help portability at all, since the C# libraries are still all mono/windows dependent. The CLR itself was never OS specific - it's the libraries.

Total non-story. People see 'native' and immediately think that making it 'native' somehow turns C# into C++ and enables QT or something...

<comment><USER3> Thank you. It is like nobody has ever heard of the ngen utility before. You have been able to compile a local copy of a C# application which runs "natively" since forever.

It does improve performance, but doesn't magically turn it into a ASM/C/C++ executable for the reasons set out above.

<comment><USER4> > It does improve performance, but doesn't magically turn it into a ASM/C/C++ > executable for the reasons set out above.

Isn't that, however, exactly what the Mono folks are doing with MonoTouch to get apps written in C# run on iOS (and approved in the App Store)?

<comment><USER2> Not really - they're just swapping out the libraries for ones that they can use on iOS. It's not going to be portable off of iOS, etc. (EDIT: That is, the iOS specific UI code - obviously non-platform specific library based code will be completely portable)

Plus it won't be as fast as writing it in C/obj C as it will have garbage collection overhead, type checking, bounds checking, etc etc. (For iOS style UI apps this isn't a concern as they're mostly just thick clients to real calculations done elsewhere, so speed barely matters as you are just relying on the speed of UIKit for graphics anyway.)

</comment></comment></comment></comment><comment><USER5> It's a link to a stackexchange post which contains essentially nothing but the link to a post on the Channel 9 forums :( Apart from this niggle, sounds promising.

Actual link here: [http://channel9.msdn.com/Forums/Coffeehouse/MS-working- on-a-...](http://channel9.msdn.com/Forums/Coffeehouse/MS-working-on-a-same- compiler-for-C-AND-C--Not-in-incubation-but-for-production-)

</comment><comment><USER6> Windows Phone 8 applications (C#) get AOT compiled to machine code.

Here's an overview: [http://www.silverlightshow.net/items/Windows- Phone-8-Compile...](http://www.silverlightshow.net/items/Windows- Phone-8-Compile-in-the-Cloud.aspx)

Some video sessions:

[Deep Dive into the Kernel of .NET on WP8 - (talk about compilation starts around the 22 minute mark)] <http://channel9.msdn.com/Events/Build/2012/3-005>

[Inside Compiler in the Clound and MDIL] [http://channel9.msdn.com/Shows/Going+Deep/Mani-Ramaswamy- and...](http://channel9.msdn.com/Shows/Going+Deep/Mani-Ramaswamy-and-Peter- Sollich-Inside-Compiler-in-the-Cloud-and-MDIL)

</comment><comment><USER7> Mono already compiles to native code with LLVM: <http://www.mono- project.com/Mono:Runtime:Documentation:LLVM>

</comment><comment><USER8> C# can "go native" right now.

NGEN precompiles the IL into native code if you use the normal framework.

Mono AOT compiles (and links) code into various architectures, but MonoTouch and Mono for Android (<http://xamarin.com>) would be the major public uses for it - native iOS / Android apps using C#.

If you wonder "can they be any good": go get the new Rdio app. It's done in MonoTouch (and their Android one, in beta, is done in Mono for Android)

</comment><comment><USER9> The link should probably go directly to the job posting, since the StackExchange -> Channel9 posts don't really provide any additional information.

The compilerjobs link (<http://www.compilerjobs.com/db/jobs_view.php?editid1=648>) has a bit more details:

"Specifically this work will include:

• Engineering parts of the reader for MSIL

• Creating a native compiler internal representation that the existing compiler can optimize • Designing and implementing new managed optimizations to augment the existing optimizer like range check elimination or speeding up C# constructs on vector machines

• Engineering and co-designing the ability to emit a new object file format that will support rapid linking

• Fixing all existing phases of the compiler so that managed code can be correctly and efficiently compiled with the new auot-vectorizing/auto- parallelizing Win 8 compiler."

So, this sounds to me like an element of high-performance computing (maybe with the recent work getting Hadoop running on Windows?), rather than a fully- native toolchain.

</comment><comment><USER10> Misleading title. It should read "Microsoft asking for engineer to work on a native compiler for C++ and C#".

<comment><AUTHOR> Done that!

<comment><USER10> Awesome :-)

</comment></comment></comment><comment><USER11> C# is probably my favorite language, although to be honest I don't have much experience with Ruby, Python, or Coffeescript. However, coding in C# (especially post v3.5) always feels like easy mode. You've got type safety but you've also got enormous flexibility with lambda expressions, extension methods, and so much other good stuff. And then the IDE becomes a real force multiplier instead of just a crutch to keep you from falling down as it can be with Java and other less savory languages, for example.

It'll be exciting to see how this affects the C# ecosystem.

Although it's even more interesting what this says about Microsoft's plans for the future of the CLR. It seems as though MS might be coming to the conclusion that it was a failed experiment, which is interesting given the success of other VM systems such as the JVM. It'll be interesting to see whether or not this move helps advance C# adoption outside of the windows platform.

<comment><USER2> Is it just me who doesn't really like VS.net IDE? I like C#, but I would probably prefer to use something like netbeans or eclipse over VS.net.

Mostly it's just how difficult and annoying it is to fix up a failed build. If you are trying to build something and it's failing because of strange 32bit vs 64bit incompatible libraries or any similar style of technical issues, you're left completely on your own with strange and vague build errors. On the pythin/java/ruby side this stuff is in fairly obvious config files and generally just seems to work. I can't be the only one who has run into this kind of stuff?

Also, the docs/code completion just doesn't seem to work as nicely as in Java where everything has nice big easy to read document blurbs on every function. For example, Bitmap.create<ctrl+shift> and eclipse gives me an awesome popup with all the different versions and a big documentation window from JavaDoc about how exactly to use the function and when/when not to use it.

With VS.net, I'm always having to go read up on MSDN pages in a browser which are poorly written. Just me?

<comment><USER12> I'm a junior developer who's been working with C#/.net/VS for about six months with very little guidance, so maybe take this with a grain of salt, but in my experience Visual Studio is regularly an impediment. We had a single with our setup project that took us a week+ of man-hours to resolve, stemming from someone opening a project up in VS 2010 instead of 2008, and then committing the changes. Almost every time I check out a project some of the assembly references are messed up. There are always more errors when I check out code than when I last checked in the project. It regularly takes me about half an hour to go from "Hm, let me fire up this project" to "okay, I'm at the breakpoint". In an environment where I'm working on like five projects, this seems nuts to me.

Coming from python and php, the syntax highlighting is pretty sweet (but then, using the python REPL, I hardly needed it. It's sort of like "look at this problem you didn't have before that we solved!"), and I'm starting to understand why people like static typing, as it reduces certain classes of errors.

I think I want to go back to python and Vim or Notepad++, though.

<comment><USER13> All abstractions are leaky. Visual Studio and its associated files are meant to act as helpers and thus abstract away several details of the project, what it does with them but there's still a process to it all.

Project files are like build scripts and changing them can cause breaks. Just like wanton changes in a build script can do the same. If you proceed working with VS, I'd suggest familiarizing yourself with project files and how they're set up. All automated processes make assumptions and rely on certain conventions. I've yet to meet an automated process that can adapt itself to any situation to suit its user's whims.

For new developers I generally recommend they review all changes they commit, including project files. Just because its an abstraction or things happen automatically doesn't mean you can just push all changes into the repository. When you open a 2008 project in 2010 you are prompted that changes will take place for example, so it's not like it was a stealth change.

Once they're properly set up project files are pretty maintenance free, but certain behaviors can make them unstable to use.

For example, if you need to support both VS2008 and VS2010, just create duplicates, it's no different than having build scripts that are not backwards compatible, you'll have to keep multiple versions around. Or just keep the VS2010 conversion locally and don't commit that back into the repository.

Anyways, you can go back to a simple text editor and just use msbuild manually, if you prefer keeping track of everything manually. best of luck!

<comment><USER12> >> I've yet to meet an automated process that can adapt itself to any situation to suit its user's whims.

That's pretty valid. We may be living in an edge case, and I trust that if everyone's experience with VS was as bad as mine, it just wouldn't get used.

Thanks for your thoughts.

</comment></comment></comment></comment></comment><comment><USER14> Isn't this somewhat related to the goal of the Roslyn CTP (<http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx>)?

<comment><USER15> Doubtful. These are entirely different parts of the toolchain, and the goals (while similar in wording) are entirely different from each other.

<comment><USER16> No, if you watch the videos, Anders specifically says that they plan to eat their own dog food on this one and expose APIs to the same compiler they use. He also says that they're rewriting the C# compiler entirely in C# as part of Roslyn.

<comment><USER15> Exactly, and that has nothing at all to do with the position posted by Microsoft in terms of this thread.

</comment></comment></comment></comment><comment><USER16> This is really strange to me as Anders Hejlsberg says they're implementing the C# compiler in C# as part of the Roslyn project. [http://channel9.msdn.com/Blogs/Charles/The-Roslyn-Project- Me...](http://channel9.msdn.com/Blogs/Charles/The-Roslyn-Project-Meet-the- Design-Team)

<comment><USER17> But a managed code compiler could still generate native (and managed) code if needed.

Or a new C# compiler could be written in some kind of native C# variant that generates both managed and native code.

<comment><USER18> Like bartok, the MSIL->x86 compiler in Singularity.

</comment></comment></comment><comment><USER19> Using the .NET Micro Framework C# can already run pretty close to the metal - so why not?

See <https://tindie.com/shops/nwazet/netduino-go/> for an accessible example set up.

<comment><USER20> .NET Micro framework is actually a different beast in that's it's close to the metal but it's not compiled to a specific architecture. The MF is a bytecode interpreter vs the mainline dotnet framework which is JIT'd or AOT compiled (with NGEN).

This approach gives a couple advantages and a couple disadvantages. Specifically, the advantages the debugging and reloading can be done extremely quickly, the bytecode is small thus giving a lot of functionality per the byte of storage space, and it's significantly easier to port from microcontroller to microcontroller. Downsides, it's pretty slow - typically the heavy lifting happens in the HAL/MF, and you can't write interrupt handlers directly in it - although you can indirectly via the managed driver interface.

</comment></comment><comment><USER21> This would open lots of possibilities, however teaching all those c#_with_no_c++_background programmers about proper use of destructors and RAII may be hard ;)

</comment><comment><USER22> This title should include a question mark.</comment>


Elegant Coding: The Problem with Today's Software Thought Leaders - <AUTHOR> http://www.elegantcoding.com/2017/04/the-problem-with-todays-software.html <comment><USER2> 'Thought Leader', ugh, I suspect many of the people that have had most influence over the years would hate the term as much as I do.</comment>


Watch Paint Dry Online - <AUTHOR> https://www.watchpaintdry.online/#.WedYLKcWwic.hackernews <comment><USER2> it's only a picture, I'd have loved a real live feed</comment>


The State of European Tech 2016 - <AUTHOR> http://www.atomico.com/state-of-european-tech/2016 <comment><USER3> Regarding salary. I think 45-50k Euro is a pretty decent entry level salary in Germany if you're coming out of university (debt free) depending on the region. That may look shocking compared to the SV numbers but you can live a good life off 50k and a lot of the stuff will be taken care of (education of your children, healthcare) which reduces the stress level quite a bit.

If you want to start a company, you'll face some social issues (failure is considered failure) but the infrastructure is decent enough. The social issues have changed a lot in recent years though. Anecdotally I feel like recruiting good devs right out of universities is a lot easier if you're a typical startup because many of the good developers will have fought the standard curriculum of the java-bot and be rather happy to work in a more agile setting (but still want to stay in their home country).

<comment><USER4> Healthcare is absolutely taken care of for American six-figure tech workers. My premium is $2.50/mo and all my care is free or for a nominal fee, like $20. US healthcare _is_ systemically broken, but not for people who command high wages.

Having kids in college is at _least_ 30 years out. Knowing that an expense 30 years away will be taken care of is better than the alternative, but would do nothing for my stress level in the next ~20.

I don't buy that either of these things make any actual difference for an early-career programmer.

Probably the most important thing is rent. I suspect most European cities can offer a 1-bedroom apartment within 30 minutes of work by foot/public transit for a much lower proportion of a developer's salary than SF can, even when developer salaries are much lower. And in places not SF, $50k USD is not particularly low for a developer salary.

<comment><USER5> Peace of mind with healthcare isn't so much about one-off costs when you catch a nasty flu. What happens if you're unable to work for months/years due to a health issue? Will you be able to pay your expensive rent and other expenses without worries?

Also you're a bit naive if you think raising kids will cost you only once they go to college. If you compare direct (daycare, preschool) and indirect (like moving to a good neighborhood) costs in the Bay area vs. a big European city, the difference is easily 5 figures year. And then there are things like parental leave.

But of course, as a 20-something you might not need these things.

<comment><USER4> Then those (like rent, as I mentioned) are the much more compelling arguments.

If I'm unable to work for months, I'll have to draw down my emergency fund (probably move somewhere cheap to slow the burn rate). If in Europe I don't have to save for this, and can freely spend all of my paycheck, then that's a huge benefit. Ditto with retirement, which takes ~15% off the top of American salaries (unless you are irresponsible or in crisis so not saving for it).

Preschool is a valid point; moving to a good neighborhood is captured in rent.

I'm just saying healthcare and education aren't the interesting arguments. Housing costs and socialized savings plans are.

</comment></comment></comment></comment><comment><USER6> Direct link to PDF:

[http://www.atomico.com/downloads/state-of-european- tech/atom...](http://www.atomico.com/downloads/state-of-european-tech/atomico- state-of-european-tech-2016-full-report.pdf)

The slideshow won't go full screen for me, so it's next to useless.

</comment><comment><USER7> Would be great if this was legible on mobile... Does anyone have a good summary?

<comment><USER8> First sentence is a great summary...

<comment><USER9> > _We're excited to share the second edition of The State of European Tech > report with you._

Ah, so they are excited.

<comment><USER8> I meant the first sentence of OP's comment lol. "not visible on mobile"

</comment></comment></comment></comment><comment><USER10> Yeah, so this is a pr stunt. However there are many really good startup scenes here in Europe in my experience. Stockholm is one of them: "everything" in the heart and kids departments taken care of. Lots of ambition and talent. Comparatively low vagues so less burn. Lacking VCs, but the startups that have made it invest a lot here (time and money and mentoring). Compared to the craze in sf, i would say this is the perfect place to start a small and successful business. In particular in the b2b domain. So, if you can live with being well off and not insanely rich, and looking to move out of the us - <USER2> should give Stockholm a chance.

<comment><USER11> Sweet, how's the apartment rental market in Stockholm?

</comment></comment><comment><USER12> You can ask yourself how many big companies that came into existance for example in last 20 years are from the USA or from the EU. That tells you a lot how vibrat the industry is on either side of the atlantic.

</comment><comment><USER13> why the need for bs like this in a study:

I see no limits to the ambition of young Europeans. We've broken the glass ceiling etc.

Looks dumb to me. Just show me the data compared to American tech.

<comment><USER14> Wait...there was a glass ceiling preventing Europeans from creating companies ?

<comment><USER15> Well, there were actual problems preventing people from creating companies.

Such as the 10'000€ minimum assets that were required for an Ltd. in Germany until a few years ago. (The problem was basically: How do you handle a company going bankrupt? The legislators said that any company should always have enough assets to cover its liabilities. Obviously not compatible with the snowball-scheme based startup scene).

<comment><USER16> It's actually 25000 euros. This was somewhat fixed with the introduction of the mini-GmbH (GmbH - something like Ltd.), but a mini-GmbH comes with some extra strings attached, so it's still very far from a UK Ltd. or a US LLC in terms of ease of setting up.

This is indeed an obstacle to creating a company, but there are quite a few more, all having to do with just plain ol' bureaucracy (handling monthly tax reporting, interacting with the tax authorities, handling insurance, etc.) The previous issue of The Economist made a case that these bureaucratic problems are even bigger in Italy.

I've recently been kicking around the idea that it's kind of weird that some hard-hit places in the EU like Spain or Greece sport up to 50% unemployed young folks (18-35) - these people are highly educated, just out of college, eager to build/work and yet they are economically inactive. My theory is that this is because it's hard to set up any sort of business activity due to the bureaucracy. It's also socially discouraged because it's risky.

<comment><USER17> There have always been options to start without capital requirements, usually at the price of personal liability. The idea is that you need a bit of "skin in the game" to protect vendors.

If you're in something like software and have no immediate plans for employees or large investments you can get the bureaucracy done in 30 min. It's literally a one-page form with address, name, purpose.

<comment><USER16> Well, my "self-employement" form was actually 8 pages long and it featured a lot more items than address, name, purpose and processing it took about 4 weeks. To be fair, I could start my business as soon as I sent that out, but I could not invoice clients until I got the reply, which included my new tax number. This is how it works in Germany. Add on top of that the mandatory monthly VAT tax reporting.

That is a significantly higher cost of entry when compared with an Ltd/LLC, not to mention a sole proprietorship.

<comment><USER17> Here's the sole proprietorship form, it's actually one page: [http://www.hamburg.de/Dibis/form/pdf/Formular- Gewerbeanmeldu...](http://www.hamburg.de/Dibis/form/pdf/Formular- Gewerbeanmeldung.pdf) – but obviously it depends a lot on the individual circumstances (like the tax ID you need for cross-border transactions). VAT is annoying, but it's only monthly if you're above 120000 Euro or so. We've started only filling in our revenue (which I can get within a few seconds) and file the tax we paid to suppliers with the yearly declaration. It's much faster to do it all in one go.

<comment><USER16> I had to fill out this form: "Fragebogen zur steuerlichen Erfassung" and I have to report my VAT using the Elster system monthly, even though my VAT is always 0 (my clients are all outside of the EU).

I went this way after consulting some other folks in Berlin and a tax consultant that I found myself. I'm kind of surprised that there's a different, easier way to go. Thanks for sharing the information.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> (cough cringe PR cough)

You could create similar optimistic charts for US, China, India, etc.

The EU ( 550 million ) tech industry is dwarfed by the US ( 350 million )

Looking from a higher abstract plane, EU produces the least new entrepreneurs and innovative companies compared to the beast that is US and Asia.

The EU also has the most unstable political and financial system globally with entire countries on the verge of defaulting on their sovereign debt.

The reason why every European developer migrates to London is to escape the craziness of the continent.

Every European developer's final 'dream' is to work in the US tech industry - London is the second best thing to reach.

(.. Money Talks .. )

You can see how much value that tech is given in europe by just looking at the salaries in europe vs N.A - so much for valuing hard tech.

Seeing that both the US and Europe have similar numbers of developers (~ 3 mil) - how is european tech industry 1/8 the size of the US ??

Oversupply of developers due to better engineering school ? ( my sides )

More like MBAs from Cambridge are not as smart as their counterparts graduating from Sloan in creating value out of tech.

\-- Not an American --- Direct experience with London and Berlin tech scene ---

<comment><USER19> Completely agree. I live in Europe, am a part of the tech scene, and am sitting in the contitental craziness you speak of in Germany. This report is largely nonsense.

It talks about "top research institutions" are in Europe, neglecting the #1,#2,#4,#5, and #6 in the world are in the USA. [1]

Honestly, I have no idea why an investor would want to try to tackle this nightmare of 30+ target markets, especially when you have huge homogeneous markets in the USA and Asia.

1\. [http://www.topuniversities.com/university- rankings/universit...](http://www.topuniversities.com/university- rankings/university-subject-rankings/2016/computer-science-information- systems)

<comment><USER20> Hmm. I'd really like to hear more about how you see things if you've got the time..

I'm about to exit london for .de simply because of quality of life concerns; the 1000ft view I'm holding though is I'm pretty sure I'll be able to build a crew there which will have fun working on difficult problems, and hopefully even find a reasonable amount of 'stuff' to do (surely with internet access and some good staff picks that could be applied almost anywhere in the world?) -- while you're probably right in that the vast floods of VC cash won't be so available there (I don't think the situ in london is much diff anyway) or that things are more complex w/r/t markets; I'm not sure that I really care too much about "30+" target markets when we're talking B2B hardcore geekery stuff. We make an API to solve -some-random-hackernews_capable_consumer-problem- then I'm not sure having a few diff VAT rules around .eu is anything more than some extra time billed by my accountant..

What I'm more concerned about is the work/company culture differences there which will probably at a minimum will prevent me whoring myself out for some quick cash to fund my devs, should things get tight, and at a max make it much harder to sell to Gmbh's there...

Are you in Germany? Ever worked with a German company or tried to integrate your product with theirs? The vogons have a quicker moving bureaucracy, I was really shocked. The crazy adherence to working hours, clocking in/out for breaks and such even for senior technical staff creates a really strange dynamic especially if you're used to letting your teams do whatever the hell they want as long as you're delivering. This kind of free attitude to work seems largely to only exist in London, at least to me -- and once you've walked on the wild side it's hard to accept a master.. _shrug_

Germany may have excellent technical prowess in manufacturing and such; from our side of the perspective though, so far to me at de $bigcorp it seems like SAP, 2 week change windows, hour long discussions on what FTP client the customer uses, J2EE, Oracle, monitored lunch breaks and some very overqualified staff (call me 'dr') who aren't even interesting in moving faster...

I guess there are a lot of startups there which follow a model more like what we're used to, but after so long you're not going to be able to avoid working with the vogons if you're selling them software they want to integrate with..

I'm not sure the majority view of big german businesses really even understood what agile was pushing for.. Hopefully I'm wrong, I'll find out soon anyhow, but things seem really fucking backwards compared to how we've been living even in the relative backwater that's London....

What's your view?

<comment><USER21> I'm curious what this wild side is like. "letting your teams do whatever the hell they want as long as you're delivering" sounds like working remotely from a beach is common. Yet almost all job postings I see from companies in London are on site. Or does it mean I can leave work after six hours on very productive days?

<comment><USER20> Well, as it goes, as often as I'm able to (sometimes it takes a while to change the culture/gain enough trust to be left alone) I don't put _any_ requirements at all on attendance/appearence/sanity/whatever as long as everything is being done and the team is performing. Nailed all the work for the day before 12:00 and want to hit up the pub -- how could any sane person stop you? Working remote makes you more productive and no one else on the team feels you're just slacking, then go for it.

It's not some intentional psychological ploy or anything, but I've found that people generally don't take the absolute piss if you let them manage themselves totally (we are all adults, after all, and who the hell am I to tell anyone how to handle themselves professionally as long as our obligations are being met)

Sure, everyone has to get together sometimes, but being onsite and having a normal lifestyle doesn't work for everyone, especially some of the 'top tier' engineers I've had who tend to be a bit wild.. Pushing 'school rules' on people just leads to them exiting, and it's no use kidding yourself that they need you more than you need them.

One of the best engineers I ever had had some sort of really insane drink/drugs lifestyle, he would drop commits in between 2-7am and they'd be brilliant, then he'd vanish for a few days, and repeat. Did I depend on this person completely for the whole project? No. But why should I care as long as no one else is annoyed by this behaviour on the team, and the work was solid?

I've never had someone actually emigrate during a role, but often people would go away for a few weeks and it wasn't a problem, again, as long as work is being done.

I'm not really sure why this isn't the case everywhere, but as long as my staff act like adults then they'll be treated as such. Onsite requirements are usually a symptom of a lack of trust or an insecure lead.

<comment><USER21> That's when you are running a team, right? But it's not the norm to walk into any corp in London as a devops/dev/whatever contractor and work like this. There is no reason why you couldn't run a team that way in Berlin or anywhere else in the world.

<comment><USER20> Depends on your attitude really.

If you rock up to a client and immediately let them set any kind of requirements on your life instead of having a "this is our goal, make it so!" relationship then a subtle kind of power relationship has been created, where they'll think it's acceptible to mandate employee rules on you like this.

If you're a contractor, then the corp you're whoring out to is _NOT_ your employer and you must not let them act as such (this makes it worse for all of us, not just you).

They're paying your buisness to do something for theirs, how you do that is your business and yours alone. There's no need to be a total weirdo about the whole thing and go off on one because they want you at a meeting at 10 some day or whatever -- you have to be diplomatic and be mindful of the way you're being percieved by the perm staff -- but generally I will not tolerate requests from clients w/r/t anything like attendance outside of meetings, dress code, general sobriety or whatever else which isn't impacting the deliberables we're providing, and wouldn't attempt to push them on my staff either (contract or not).

I've walked away from several really lucrative contracts because of this sort of client behaviour and I don't regret that at all. Your clients aren't, and never will be in control of you, you're there because they need you and they should treat you with the respect an engineer with your day rate has earned.. _shrug_

Generally, this sort of attitude has been accepted in every contract I've had in london in the last 5 years or so..

The secret is to get this point across very soon after, or even before, starting the gig. Absolute confidence is probably rq too tho...

edit: butterfingers

<comment><USER21> Makes perfect sense, thanks. I think the situation here is very similar. Telling a contractor when and where to work can get the client in legal trouble ("Scheinselbstständigkeit", one of those lovely german words ;). How that works out in practice probably depends on the company. If you work a gig at Siemens it might be different than at a startup (that is funded well enough to afford freelancers).

I only have experience with two big corps so far (keep coming back to the second one ;), but I've seen quite a few contractors at both and some of them were just plain flaky. That of course makes it worse for all of us as well, wrt to clients tolerance for things like remote work, etc.

<comment><USER20> Hmm.

I'll be in Berlin next week (I missed Nikolaus and I have some belated shoes to fill; failing that though definately again around silvester)

If you're up for a beer or sixteen on me, I'd really find the insider scoop useful on a more personal medium; I'm sure we could probably both get something from it, at least the worst would be a lot of free beer!

You can find me on freenode as 'cyb3rpunk' (inside a shiny new irssi in some tmux somewhere so might take me a while to respond) if you're up for it -- otherwise, prost!

<comment><USER21> Totally up for it! Will ping you on irc.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: Logo Crunch – Multi-resolution logo maker - <AUTHOR> http://brandmark.io/logo-crunch/ <comment><USER2> Not only is this not computer vision, but the image processing employed is quite naive and the results are poor. One need only move the Simplify slider all the way to the right on the default N/S America globe icon and then start inching it back to the left to see a solid example of this. I'm aware that I'm being very dismissive here, but the "it uses computer vision" marketing bs really grinds my gears.

It looks like it's just doing server-side [http://www.imagemagick.org/Usage/morphology/#basic](http://www.imagemagick.org/Usage/morphology/#basic)

Hello massive diamond kernels.

<comment><USER3> We took 'computer vision' out of the title above.

<comment> unkown-unknowns I am curious to know, does the HN software have an automatic trigger for comments that mention "title" or is it more a case of mods looking at the front page every now and then and if a comment about the title is sufficiently highly voted in a frontpaged post you look into it and make a decision?

<comment><USER3> The latter. I used to have an automatic trigger but it broke when I ported my client software from one obscure Lisp to another, and I haven't yet gotten it working again.

Basically we do cmd+f title a lot.

</comment></comment></comment></comment><comment><USER4> On iPhone, when I choose random Logo I always get image of North and South America on a globe.

The effects on scale are pretty good. Would be cool to see comparison vs more traditional image scaling methods. Thanks for sharing this

<comment><USER5> Is Central America missing for you?

But I get the same logo as well when tapping random on Pixel.

<comment><USER6> Central America is there. It does kind of drop out of the reduced images when you get down towards 48x48 but that makes sense because it's the smallest feature.

As for the random button the author replied and they've locked it to a single image for now to help with the load on the servers. Single image is easier to cache the responses for.

</comment></comment></comment><comment><USER7> Can't get it to work on Firefox due to it trying to load jQuery from code.jquery.com where the CORS-policy disallows it. Specifically:

> Cross-Origin Request Blocked: The Same Origin Policy disallows reading the > remote resource at > [http://code.jquery.com/jquery-1.12.4.min.js](http://code.jquery.com/jquery-1.12.4.min.js). > (Reason: CORS header 'Access-Control-Allow-Origin' missing).

<comment><AUTHOR> oops, fixed!

</comment></comment><comment><USER8> Is the code available for this? Would be amazing to integrate in a build pipeline. Thanks!

<comment><USER9> This is pretty standard image processing techniques, which you can streamline yourself. Not sure if there exists out-of-the-box solutions, but you can easily create your own with for example scikit-image (python).

Here are some selected functions.

Opening: [http://scikit- image.org/docs/stable/api/skimage.morphology.h...](http://scikit- image.org/docs/stable/api/skimage.morphology.html#opening)

Closing: [http://scikit- image.org/docs/stable/api/skimage.morphology.h...](http://scikit- image.org/docs/stable/api/skimage.morphology.html#skimage.morphology.closing)

Dilate: [http://scikit- image.org/docs/stable/api/skimage.morphology.h...](http://scikit- image.org/docs/stable/api/skimage.morphology.html#dilation)

I recommend starting at the user guide: [http://scikit- image.org/docs/stable/user_guide.html](http://scikit- image.org/docs/stable/user_guide.html)

<comment><USER10> And some OpenCV tutorials on those same operations:

[http://docs.opencv.org/2.4/doc/tutorials/imgproc/opening_clo...](http://docs.opencv.org/2.4/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html)

[http://docs.opencv.org/2.4/doc/tutorials/imgproc/erosion_dil...](http://docs.opencv.org/2.4/doc/tutorials/imgproc/erosion_dilatation/erosion_dilatation.html)

</comment></comment></comment><comment><USER11> Would be nice if the image processing was implemented locally. The operations used don't seem too complicated for javascript + canvas.

</comment><comment><USER12> Also not working on latest stable Chrome x64, upload not working, just keeps going, no errors in console.

<comment><AUTHOR> server's at 90x but uploads do complete eventually.. just really slow right now from hn traffic!

</comment></comment><comment><USER13> Very useful tool! Thanks for sharing! Works perfectly on my iPhone.

</comment><comment><USER14> This is incredibly useful, regardless of the veracity of its "computer vision."

A technique that seems to work well for it with simple drawing style icons is to thicken and simplify as the image gets smaller, so it seems like the stroke of the drawing is consistent across sizes.

</comment><comment><USER15> really cool idea but it didn't work for me. It distorted the logo and made it look much worse. Would be great if you generated a unique url for each icon that is uploaded so i could share it with you.

<comment><USER14> That would entail them permanently storing the images, which they probably don't want to do.

</comment></comment><comment><USER16> Genuinely useful, and easy to use. Thanks for sharing this!

</comment><comment><USER17> Nice, but nowadays everybody uses SVG for their icons, because they render well at normal to higher resolutions.

Resorting to a bitmap at low resolutions seems a bit odd.

<comment><USER18> The techniques detailed on the page (reweighting lines, removing fine details) seem like a worthwhile reason to at least use a different file for the "tiny" image. Unless SVG renderers start using those techniques at a small enough size.

It looks like only Firefox or Opera would support an SVG favicon: [https://en.wikipedia.org/wiki/Favicon#File_format_support](https://en.wikipedia.org/wiki/Favicon#File_format_support)

</comment></comment><comment><USER19> I've manually tried to hack together a few favicons. This seems like a way better solution if, like me, you don't have much design skill.

</comment><comment><USER20> I am not sure if web site works on mobile.

<comment><USER21> Genuine question: Are people creating app icons while they're on the go? Or am I the only one who defers all development to one's laptop (or desktop) computer.

<comment><USER20> I wanted to try a random one to see what it actually was, because i was waiting someone in the parking lot.

<comment><AUTHOR> does the page load? more details would help me identify the issue

<comment><USER20> The page loads, but normally i see earth logo on desktop, but on phone it's just blank. This is on android chrome. Looks to be a issue with the margins/alignment of the image, i think.

<comment><AUTHOR> thanks, I'll look into it

</comment></comment></comment></comment></comment></comment><comment><USER22> Is it supposed to work with transparency? I only get black pixels instead.

</comment><comment><USER23> Couldn't get it to work in my iPhone . Too slow/times out

</comment><comment><USER24> I wonder if it can be used for mip map generation.

</comment><comment><USER25> This is beautiful.

</comment><comment><USER26> Unrelated: Does anybody know why the favicon of [http://www.fast.ai/](http://www.fast.ai/) an "H"?

<comment><USER27> Based on a Google Image search of that image, I'd say "because the WordPress theme they are using sets that".

</comment></comment><comment> rkuykendall-com Slow but fun.

</comment><comment><USER28> Needs title fix, this isn't really "computer vision".

<comment><AUTHOR> maybe "basic computer vision"? dilate/erode/open/close filters come from computer vision afaik.

<comment><USER29> These kind of fundamental methods in computer vision are commonly called "image processing".

"Computer vision" typically refers to computations that have an interpretative component (image analysis), i.e. programs that actually "see" something. Interpretation basically refers to the inference of the state of the "world" (or a part thereof) from an image. Image processing is often used in pre- processing for computer vision applications, but it also has many other purposes which do not need image analysis, such as in photo and video editing, as well as in generative applications, e.g. 3D engines and video games (which can in some sense be seen as the inverse of vision). Therefore, image processing is not exactly a subset of computer vision.

<comment><AUTHOR> at least I didn't call it AI :]

<comment><USER30> No but you did say:

> Discover the deep learning tech behind Brandmark

<comment><AUTHOR> that's more referring to the other stuff on the site

</comment></comment></comment></comment></comment></comment><comment><USER31> Doesn't work.

<comment><USER32> For all the complaining one sees on HN about bug reports from users, you'd think we could come up with something better than "Doesn't work."

<comment><USER33>
        When
        I visit the site for the first time

        Then
        I expect to see something related to the title from the HN submission

        Except
        I see a blank page and an app that has broken in a fundamental way that I do not have expertise/time to look into</comment></comment></comment>


How to Fix Unstable K8s Cluster/Out-of-Memory Nodes - <AUTHOR> https://forum.zenko.io/t/how-to-fix-unstable-k8s-cluster-out-of-memory-nodes/514 <comment> chupa-chups Why was this flagged [dead]? This is quite interesting information. I am genuinely curious.</comment>


Ask HN: What's the most appealing and effective homepage title/tagline font? - <AUTHOR>

For the blog I started recently (http://1p1e1.tumblr.com/) I used - IM Fell DW Pica SC: http://www.google.com/webfonts/specimen/IM+Fell+DW+Pica+SC I find it interesting choice for a blog, but probably not a good one for startup's website? What do you think? Is "less is more" valid for fonts as well? Is it overkill to pick a "fancy" font?<p>Suggestions and links with examples are welcome. <comment><AUTHOR> I like the <http://www.any.do/> tagline font - it's simple, clean and effective.</comment>


Thank HN: I'm taking a year off HN - <AUTHOR> I'm 40 this week. The last ten years has been challenging in many, varied ways. My HN post history should give you an idea: I've been looking for direction for some time. I have yet to find my path, whatever that may look like.
I live and work well away from the startup world, but the level of posting around here is something that keeps drawing me back, again and again. And again. And I'm spending _way_ too much time around here. Time I should be spending reading and writing books, getting exercise and fresh air, talking with people, tinkering with cars, that sort of thing.
From someone you will likely never meet in real life: thank you for the high quality discourse. Thanks for showing me all the amazing things you make, your words of wisdom, and for curating an environment where I'm never the smartest in the room. You're basically a daily drug to me, and I must go cold turkey until I can get a handle on my consumption.
From midnight GMT tonight, I'm taking a year off HN to start making things, and I'm looking forward to catching up in November 2019 to read all about what you've made, found and hacked. You'll be a `hosts` file entry until November 2019. Don't worry, I still love you.
All the very best. <comment><USER2> I'm 40 as of last week! High five 1978!

We all have our vices and consumption excesses that when unchecked are unhealthy. Social media became that for me and started to cut into time I'd rather be spending doing something else. So I quit in 2016 and have been much happier without it. HackerNews has not become that for me but if it did I would do the same.

I took the hosts file approach as well and it has been sufficient to remind me and catch the occasional lapse.

Best of luck!

</comment><comment><USER3> Interesting, I was introduced to Hacker News by CGP Grey on the Hello Internet podcast, declaring he was taking a long break from Twitter, Reddit, and HN. About a year ago I decided to avoid all media as a sort of test. I later also deleted all of my social media accounts.

Media does seem to have significant psychological effects, comparable to drugs. I think reading books has to be the healthiest way to consume media, because unlike movies, shows, podcasts, surfing, and scrolling, it takes an active effort to do, and thus you get out of it everything you put in. Passive media consumption leads to spending more time with what has no value to you. I believe it should only be done with other people, to establish context and references between each other. I feel the same way about recreational drug use. In general it is good to choose activities that connect you to others, rather than separate.

My time spent away from the internet and media, really has broadened my view of the world. I've thought a lot about motivation, narrative, and relationships. I seem to be bent on figuring these things out, and trying to uncover the inner workings of life. This does me no good though, and the analysis and overthinking is crippling. My focus recently has been on not complicating life. It is not an optimization problem. Instead I'd like to let go of the need to understand, and simply experience and appreciate more.

As for Hacker News, I am quite pleased with the postings I've seen so far, and is inspiring and motivating to me. I will be wary of HN leading to a decrease in productivity and becoming a time sink.

Apologies for the slightly off topic rant, I just had some thoughts I wanted to get out.

</comment><comment><USER4> Good idea and good luck with this, especially the timing. I was just reading Judson Brewer's book on mindfulness and addiction (The Craving Mind) and he mentioned December is the most challenging month for people to quit smoking, not to say you have an addiction, but rather a change of habit.

I just edited my hosts file to visit hn for a little break in the middle of the day. About to re-enable for some focused time this afternoon.

</comment><comment><USER5> > You'll be a `hosts` file entry until November 2019.

If you find that is not effective, the apps Freedom, ColdTurkey, and SelfControl are useful apps to download. Humans are tool-users and should never feel ashamed of that.

</comment><comment><USER6> I've done 6 months or so before without visiting. At first it's habitual. Find another source of content you like to consume to replace it and/or your will power will need to be that much stronger. Find something else you are excited for and look forward to. After a while you'll forget to even bother checking. Your 12 months might turn into 18, 24, or just weekly or once daily as part of a ritual when you wake up or something. It's not hard. Just think, what life was like before Hacker News.

</comment><comment><USER7> Read your previous post. You might find cognitive behavior therapy useful. It applies to both depression and addiction. It's a framework for analyzing your thoughts and emotions.

</comment><comment><USER8> Thinking of doing the same, but I wish I could delete my account (just account, not posts). I guess if I want to leave a service I'd also like to be really "gone" from it!

<comment><USER9> You could turn on noprocrast with a huge minaway and a small maxvisit to accomplish approximately the same thing.

</comment></comment><comment><USER10> Good luck! Be consistent

</comment><comment><USER11> Or just use the _noprocrast_ setting. I set mine to boot me off after 1 hour, doesn't let me back for 6 hours. Works great.

</comment><comment><USER12> Be safe and happy trails.

</comment><comment><USER13> Best of luck - and happy birthday!

</comment><comment><USER14> Good luck and happy birthday!

</comment><comment><USER15> High quality? It was web-boys trying to one up each other and bootcampers from toxic work environment practicing how to insult the parent poster without sounding aggressive.

<comment><USER16> > _how to insult_

This is usually done by silently downvoting.</comment></comment>


Our Django Book is Launched - <AUTHOR> http://pydanny.com/our-django-book-is-launched.html <comment><AUTHOR> So, full disclaimer: I was one of the editors of this book.

This is a really great 'best practices' book for Django developers of all skill levels.

In the Django community, there are a variety of practices that people tend to use: webapp structure, coding conventions, library preferences, etc. As a Django developer, finding out 'which way should I do X' is often harder than it seems: there are tons of articles on Google, but it's difficult to make sense of which recommendations are right.

This book takes a really great approach to the problem by introducing readers to a great deal of information: which way you should do X, why, and how it works. Instead of just getting a solution, you'll understand why things should be done that way, and how it works.

Furthermore, I can tell you that as an editor of this book, both Danny and Audrey (the authors) took quite a lot of feedback, and made a lot of progressive changes to the content. This (in my opinion) is a huge selling point, as you know all the book's content has been reviewed by numerous influential Django developers and users.

Anyhow, this is a really great book, and quite cheap for the asking price. I'd highly recommend you read it, regardless of your skill level.

<comment><USER3> Having recently started Django for a small gig, I have found searching for Django documentation, tips, and practices, to be extremely difficult and confusing, especially coming from the Rails world where blog posts seem a dime a dozen.

I spent a long time looking for good info only to find outdated or poorly maintained docs, and a very little sense of "community".

I'll probably grab this book to get me jumpstarted. I'm happy, yet sad that I have to find my information this way -- says something about the community IMO (not a bash on you, but just a nag on the Django community as a whole as I feel it doesn't really like helping beginners).

<comment><USER4> This is really surprising to hear. I think Django has some of the best documentation out there. I rarely have to go to blogs or Stack Overflow because that answer usually exists right in the docs.

Could you give an example or two of issues you had that you couldn't find the answer to in the docs?

</comment></comment></comment><comment><USER5> I just completed reading it.

I haven't been working with django recently and having completely read the book, I am now up to date.

* The book has a lot of practical advice having developed using django for years. For example, the book recommends, whenever you have a custom manager, always explicitly define `objects` as the default manager, before the custom manager.

* The book makes a recommendation; but also mentions alternatives where applicable. The authors prefer a 3 tier project layout but also suggest that a lot of people prefer the 2 tier layout where the `manage.py` is in the root of the repository. Similarly in the chapter on the Class Based Views. The book suggests an approach and also includes other ones.

* Includes the latest and the new changes in the django 1.5 wrt the User model and how to inherit.

* Recommends and suggests many good third party applications. More books need to do this.

* Provides good review material (if you already know) about Security, Deployment, performance etc.

All of this, just over the top of my head.

Real world advice is often hard to come by. Whether you are a professional or a novice or just checking out django, you should buy this book.

<comment><USER6> If this is off the top of your head, why post the exact same thing to reddit?

<comment><USER5> I posted it on reddit first off the top of my head directly.

Then I noticed the thread on Hacker News and started writing a comment; deleted it and copy-pasted from _my own_ reddit comment and went to bed peacefully.

Which part of this is not right?

</comment></comment></comment><comment><USER7> One of my big concerns is user / session security.

I have tried to follow and reason through discussions on stackoverflow and much of tpatchek's notes. I would be interested in how "high level" the security chapter is from anyone who has shelled out already.

For example I assume I will

1\. only use persona or openid (avoids storing passwords in my servers thus making a lot of things much much easier)

2\. sessions - store absolutley nothing in a session cookie other than a nonce session id, and lookup everrything I need from cache on servers form that sessionId

3\. That seems to be it really

I just do not know where to go to have this discussion sensibly - any hints?

<comment><USER8> Disclaimer: I'm one of the authors.

The book covers 7 pages that gets you started down the road of understanding security. We provide you the stuff you have to know, and point you towards better resources.

Keep in mind we aren't professional security experts. If your site needs to be that secure, the best thing you can do is to hire the services of a carefully vetted security expert.

<comment><USER9> I think a great title for the security chapter should be Django Unchained.

I look forward to reading this- Thanks.

<comment><USER8> ROFL

</comment></comment></comment></comment><comment><USER10> Congratulations, it's great to see a new Django book and it looks like you've nailed a really important topic. Looking forward to reading it!

<comment><USER8> Coming from you, this really means a lot to the two of us. :-)

</comment></comment><comment><USER11> Just finished the first chapter and I'm probably not putting it down again (after I write this comment). This feels like something Django really needed (or I needed for Django), despite its extensive documentation. I find analogies are very helpful for my understanding and the ice cream one is perfect. The fact that "Each Chapter Stands On It's Own" is the great too!

<comment><USER8> I'm one of the authors. Can we use "I find analogies are very helpful for my understanding and the ice cream one is perfect." as a quote on the site?

<comment><USER11> Of course! I really appreciate the time you all put in this book and I keep finding huge changes I can make in my code (ch.2 on db and ch.3 on layout -a very difficult topic to research a few months ago) I'm at webpowerlabs.com for reference. Thanks again and great job!

</comment></comment></comment><comment><USER12> Considering purchasing since I was thinking of diving into django for my next project..

If I buy the PDF now, and you eventually release an EPUB or other format, will I get access to those files (with updates) as well?

<comment><USER8> Honestly, I don't know enough about ePub distribution to answer you. I would love to do that though.

<comment><USER13> I will purchase your book as well, but with a hope that there will be an ePub version released in the future. I have a junky Sony e-Reader that is not so great at touch controls for things like zooming and panning (necessary with most PDFs) and an ePub would reflow the text as needed based on font size.

</comment></comment></comment><comment><USER14> This is a really great book. The formatting does need a lot of work (I see no chapter or section headings in the PDF) and an ePub version would be very useful.

The actual content of this book is excellent though. I feel like I keep up with new developments in the Django community pretty well, but there's a lot of advice in this book I hadn't heard before.

<comment><USER8> Alright then, I'm one of the authors of this book.

There are chapter and section headers in the book, but we've had a couple people using PDF readers on Linux who don't see them. Can you email me at firstname.lastname@example.com and let me know which PDF reader you are using so we can test and hopefully fix the issue?

Thanks!

<comment><USER15> I'm having trouble on Linux Mint stock pdf reader (Evince). No chapter numbers appear on the table of contents, and the chapter title doesn't appear on the chapter pages

By the way, if you update the book, will we get the updates as well?

</comment></comment></comment><comment><USER16> I develop Django professionally, bought the book, and just finished a quick read through. I am very impressed. Some may rightly say you can get all the information in the book elsewhere and for free, I wouldn't want to. This book would have saved me many hours over the last few years. $12 is a bargain. I think the depth and breadth is just right and would highly suggest it for (nearly) every level of Django developer.

My one complaint, to not just this book, but pretty much the community at large is there exists scant documentation dealing with 'enterprise grade'database migration (..both data and schema, for some reason data is always left out) with Django and South.

Nice work.

P.S. - I've made a small pull request to your django template as it doesn't work in it's current form.

<comment><USER8> I'm one of the authors.

Your observation about enterprise grade migrations is interesting. We'll see what we can do to add to the book.

</comment></comment><comment><USER17> True story: I asked a guy at work if he's seen Django Unchained, and he seriously said "No, and I didn't know we had a Django book in our library"

</comment><comment><USER18> First suggestion: show the 2nd level in your Table of Contents. That's helpful for customers like me who would buy the book if they knew a bit more details about what's inside (I don't want to buy something and then find out I know most of the contents already).

Another suggestion that would get me to buy the book: does the book addressed particular issues that I know I need to figure out (and will save me from having to do my own research). In particular, would be useful if the marketing of the book told me that it would discuss specific tasks/decisions. Some examples of tasks:

-how to code my django app so it works in both python 2.7 and python 3? What's the best way to do that? Django six? How do I setup virtualenv to support my dual configuration? I think this is what the django core team is doing nowadays so I can also adopt the same strategy, right?

-what's the best way to replace django templates with jinja2?

-for python 3, what is the alternative to PIL?

-as mentioned elsewhere, how do I do database migration when the models change. Especially, what are the different alternatives for doing the migration (django south seems too complicated -- can I just make sure the manage.py db schema and the actual db schema are the same as the docs suggest?)

-should I use store much of my model data in a json field so I don't have to deal with db migration? Any software packages or coding tips about this?

-how do I use SQL Alchemy with django? Issues with doing this (besides not getting a lot of django goodies).

-how do I configure django-social-auth ( <https://github.com/omab/django-social-auth> ) beyond the default setting (ie: the pipeline)

-what is a good web host for django. Answer: webfaction. How do I set up virtualenv on webfaction?

<comment><USER8> Thanks for the comments! I'm one of the authors!

1\. For Python 2/3 compatibility, we recommend SIX. 2\. We recommend using Jinja2 where you need it, not as a replacement. 3\. PIL on Python 3 is not yet solved. This is part of the reason why the Python web world has not transitioned over completely. It's a huge blocker. 4\. We plan to cover South in depth. In the BETA or FINAL editions of the 1.5 book. 5\. You implement SQLAlchemy in DJango via "import sqlalchemy". You do lose lots of goodies (ModelForms, Admin, a bunch of views, etc) 6\. django-social-auth is something we hope to cover before FINAL 7\. On web hosts (webfaction, Heroku, et al), we didn't want to turn the book into a tome about deployment. Each provider does things differently, and we would have to keep track of all that and update when host providers change their services. So rather than describe deployments in depth, we're going to link to their documentation and let them handle it.

</comment></comment><comment><USER19> I purchased this book because Audrey and Danny put on great events in LA area. I've been to one of them and they were extremly helpful and the event was great :)

I'm sure the book has a ton of useful information and I will definitely be reading it.

You should purchase the book if you believe in giving back to the people who give there time to open source and helping others.

Thanks again, Fernando

</comment><comment><USER20> Congratulations! If I may suggest a few things:

\- How about adding a sample in the web page?

\- You may to consider using PayPal in addition to Gumroad. Gumroad is awesome, but some people may only be able to use PayPal (e.g. no International Credit Card) or prefer it. I use both for my book and I sell way more copies on PayPal.

<comment><USER21> +1 on payment options. As someone with a British credit card, the site won't verify my card (I suspect I need to be able to put my name as per card and address on it). So much for being able to buy it :(

<comment><USER22> I was able to use my HSBC Visa Debit card - there was no verification though - payment just went straight through.

<comment><USER21> Had to go speak to my bank, turns out that Gumroad came up as fraud and HSBC froze my entire account! The bank said it should work now but I'm pretty put off.

<comment><USER23> I had exactly the same issue with my Royal Bank of Scotland account - <USER2> was flagged as fraud (the security people at RBS said they had several complaints about Gumroad) and I had to get my account unlocked.

People using British accounts - be VERY wary about making payments to Gumroad. I'm waiting till this is available on PayPal or Amazon.

</comment></comment></comment></comment></comment><comment><USER24>
      # Normally you should not import ANYTHING from Django directly
      # into your settings, but ImproperlyConfigured is an exception.
      from django.core.exceptions import ImproperlyConfigured

The humor in this book makes it a joy to read, but the content is what makes it a must read!

</comment><comment><USER25> Purchased! This looks awesome, I literally just set up django yesterday and had a huge amount of unanswered questions while setting it up. Like you have mentioned, I had a real hard time finding the 'best' practices to set up the environment. Anxious to get home and start reading.

<comment><USER26> how can i get the django book published by hackers

</comment></comment><comment><USER27> Congrats Danny and Audrey on the launch. I'm excited to read this. It sounds like a valuable resource.

</comment><comment><USER28> Nice! Will add it to the portuguese Python compendium i'm working on in my spare time <https://gist.github.com/32d09bb884b3428c8fa7>

</comment><comment><USER29> Just bought the book, not really spelunked it much yet but looks pretty cool so far - I'm just getting to grips with django and other python web frameworks generally.

One tiny annoyance is the lack of pre-generated bookmarks based on the contents page. See [1] for example of how Uncle Bob's clean code PDF ships with these (my PDF reader is Foxit). These bookmarks save a hell of a lot of time navigating back and forth in a large PDF document such as books.

[1] <http://i.imgur.com/kytfm.png>

<comment><USER8> Just so you know, I'm one of the authors.

I agree with you 100%.

Unfortunately, the tool we used to format the book doesn't do this for us, so we either have to use a third-party product to do it manually OR write a Python script to generate the bookmarks.

We intend to start working on the Python script tomorrow, and I really want to get it into the BETA release.

Thanks for the feedback!

</comment></comment><comment><USER30> I did purchase this because I will find it very useful, but I do want to say that providing an ePub format is clutch. Please, please do what you can to provide this format in the future!

<comment><USER8> Working on it!

</comment></comment><comment><USER31> I definitely look forward to reading this over the weekend. Just purchased. I've already learned quite a bit from pydanny's blog over the years, so hopefully the book follows suit.

</comment><comment><USER32> Just bought a copy--hope it's useful for my next intern :-)

</comment><comment><USER33> I bought it and after a quick view of it seems to be a good catch! I am a beginner to Django and before this I have read the "The Definitive guide to Django"

</comment><comment><USER34> I've done some own small projects based on django. Read the turorial, read alot of best practises on the tubes and a lot of trial and error. I did just buy this out of curiosity and for $12 and after reading the book for about a hour now, I think this is a great summary of best practise with explanations _why_ something is considered best practise.

Haven't read more than 50 pages yet but I like it. Great job!

</comment><comment><USER35> Met pydanny and audrey last pycon PH. I'll be buying this book in support for their awesome work. By the way, can we buy the ebook via paypal?

</comment><comment><USER36> Already? The movie only just came out! Nice work.

</comment><comment><USER37> As a new django user, one of the most confusing issues to deal with is deployment. Many guides say a few hand-wavy things about deployment, and then move on. Can anybody summarize what this book says about deployment?

By the way, congratulations on releasing this! I've been looking forward to seeing what the "mad secret project" was.

<comment><USER38> Chapter 25 is a short 4 page chapter on deployment. I do look forward to having a chance to read it all.

</comment></comment><comment><USER39> Is it only for 1.5? Will the best practices carry over for someone looking to understand more about structuring 1.4 projects?

I'm working on a 1.4 project right now and while 1.5 sounds great, I'm not sure we're quite ready to upgrade. But we've been looking for a best practices book more recent than the ones covering 1.0 on amazon.

<comment><USER39> I answered my own question. Bought it, looks great. From the book:

"This book should work well with the Django 1.4 series, less so with Django 1.3, and so on."

</comment></comment><comment><USER40> Does it mostly focus on Django on Python 2, or is there a good portion that deals with Django on Python 3 as well?

<comment><USER8> We decided that until there are working implementations of Django running on heavily trafficked Python 3 site, it would be best to focus on Python 2.7. Heck, for that matter, Python 3 is experimental in Django 1.5. We wanted to keep our readers in a safe spot and advocate safety over cutting edge.

That said, we tried to make things as Python 3 friendly as possible. :-)

<comment><USER41> I'm patiently waiting for book version 2 then.

</comment></comment></comment><comment><USER42> Is there anything like this but for Flask?

<comment><USER8> That's a very good question...

</comment></comment><comment><USER43> It has ice cream on the cover? Sold. Seriously, I like books that feel warm and fun, even on serious topics.

</comment><comment><USER44> Glad to see that you're using Gumroad, but here's an alternative place to sell "previews" of the book -- <http://timebx.com/>.

Might be worth a shot later down the road when you are trying to sell to a less captive audience (as compared to the HN crowd).

</comment><comment> c-star I was going to buy this book but it doesn't seem like django.2scoops.org/ uses HTTPS. I'm not comfortable giving away my credit card numbers and CSV without it. Strangely, the website shows "HTTPS Secure" on the top left corner.

Would there be another payment method?

<comment><USER45> Once you click through to the actual Gum Road page, you reach a secure site.

<https://gumroad.com/l/uyqN>

</comment></comment><comment><USER46> The project layout structure is great. All Django developers should follow this.

</comment><comment><USER47> This looks fantastic and the timing couldn't have been better for me. It's been a while that I started a new Django project and I was looking for exactly this type of best practices just this afternoon.

</comment><comment><USER48> We develop our site in django and just bought the book. Excited to read it!

</comment><comment><USER49> Will it be available on the Kindle or as an ePub or solely PDF and print?

<comment><USER8> I'm one of the authors.

Because of the formatting issues of Kindle and ePub, the negative reviews Python books get when formatting breaks in those formats, we're not sure yet it we'll publish it in mobi/epub.

That said, if you have any advice on getting Python to look good in those formats, we would love to hear it. :-)

<comment><USER20> Just bought the book, congrats!

I've written about using Sphinx to write technical books, you may find it useful: <http://pedrokroger.net/2012/10/using-sphinx-to-write-books/>

I see you used Pages to write the book. AFAIK Pages can export to ePub automatically (but I don't know if the result is any good). Maybe you could consider to export the ePub and distribute it with the PDF even if the ePub is a "beta" version. I think it could be useful for a lot of people.

</comment></comment></comment><comment><USER50> This is great. As a new Django developer one of my most frequent Google queries is "best practices about x in django". I am thrilled to finally have so much of that stuff in one place.

</comment><comment><USER51> I've been looking for django books that use 1.4 but didn't find anything, so great news for me. Purchased it right away and can't wait to give it a read this weekend. Thanks!

</comment><comment><USER3> Is this useful for Django 1.4.3 development? I know this is a 1.5 book so I'm not sure how much of the API/stack has changed and how relevant the book will be for me.

<comment><USER8> I'm one of the authors.

Most of the book will work with Django 1.4.3. There are some exceptions such as use of the {% url %} template tag, the custom user model, and some other areas.

</comment></comment><comment><USER52> Will this be available on Google Books? I'd like to keep all my purchases in one place, plus I prefer the reflow-ability over a PDF.

<comment><USER8> What format does Google Books require?

<comment><USER52> Looks like ePub if you're going to add re-flowing text (I see in the other thread what a pain that can be, but I think it works fine for Programming Python which I have through Google Books).

They also support PDF, which I'd still prefer to purchase through Google directly if only to keep my stuff in one place.

[http://support.google.com/books/partner/bin/answer.py?hl=en&...](http://support.google.com/books/partner/bin/answer.py?hl=en&answer=106169)

[http://support.google.com/books/partner/bin/answer.py?hl=en&...](http://support.google.com/books/partner/bin/answer.py?hl=en&answer=40288)

</comment></comment></comment><comment><USER53> Oh my god, I've been waiting to read this ever since I saw the movie. wait, I don't remember any "Python"s in the movie....

</comment><comment><USER54> I didn't see it in the chapter list, so probably not, but is there anything in your book about writing (good) tests?

<comment><USER8> That's covered of the Chapter 18, which has a Secret Chapter Title.

<comment><USER54> Thanks!

</comment></comment></comment><comment><USER55> Is there a way to buy it using PayPal? Am not to keen on sending a credit card number...

<comment><USER8> Our publisher, gumroad, uses Stripe to accept payments. If that doesn't work, we're looking into PayPal, but that might be a few days.

<comment><USER56> I found the checkout process needlessly confusing. The split between the first and second page once I clicked was not clear to me, and the name of the button beside the price box was "Gift". With the arrow above it specifying a price, I didn't understand if I was entering the price of the book, or an additional sum. Could I have paid less and still received the book?

Finally, once I have paid for the book, it seems I can't get back to the page again, so I guess I'm not supposed to be able to buy another copy?

I would look over the usability of the checkout process, I almost didn't buy it because of the perceived ambiguity. And I would have preferred to use Paypal.

</comment></comment></comment><comment><USER57> Thank You for the free alpha copy! :) definitely will buy the final version - or Donate

</comment><comment><USER58> Feedback from a 4 month newbie: I've read several chapters. Overall the book is great but I have some specific suggestions, which I'll wrap in the context of what my biggest barriers to learning Django and web development have been.

Background: I starting learning web development with Django 4 months ago. I knew nothing but procedural programming (from late 80s) and a little CSS (Wordpress) before starting. I did Learn Python the Hard Way for a week then dove in.

Barriers to learning Django and Web dev:

1) Setting up the development and production environments has taken up at least 1/3 of my last 4 months of learning. This book would have helped with that significantly.

Suggestion 1: It would help even more if, in addition to your sample setup on github, there was a virtual machine or Vagrant file intended for beginners to get up and running quickly.

I've developed a VMware VM for myself along these lines (based on bitnami's Django stack on top of Ubuntu 12.04) and will use your book to improve it - especially changing my project layout template.

Suggestions 2: Answer a specific question the book didn't address: Is a virtual machine (one per project) a fine alternative to using virtualenv? If not, why not?

2) Django docs do a great job telling me what each command does, but rarely which of many alternatives is best to use (and why), and how best to structure projects. So I end up doing hours of searching each week (Google, Stack Overflow). This is where Two Scoops really nails it - would have shaved at least 2 weeks off my 4 months learning time. [can use this as a direct quote on your site, if you like]

Suggestion 3: Chapter 4 talks about keeping apps small and loosely coupled but not how to bind multiple reusable apps together, especially ones where tight coupling seems natural. I know there are techniques for this but I don't know which is best.

Suggestion 4: Chapter 6 briefly discusses when to drop down to SQL. Would love to see this expanded to several pages, with perhaps a long list of common situations where it does make sense to drop down to SQL. Either that, or a link to an excellent external resource.

3) Django is a tour de force in OOP. If you're weak on OOP, the tutorial and most other parts of Django is tough going. Practice and learning how to use my IDE (PyCharm) to navigate code eventually got me over this hurdle. This is not something addressed by your book, which is fine.

Suggestion 5: In Before You Begin section, perhaps add a single sentence that urges beginners to learn Python and (importantly) OOP before starting the Django tutorial.

4) No Django doc clearly explains the basic concept of web pages with no state, but context passed around to keep track of things. I still don't 100% understand why there are so many different ways of dealing with context, and which Django commands are best for given situations. Not currently in your book and maybe it doesn't fit in. But just want to mention that this was, and continues to be, a hurdle.

5) Deployment is way too hard for a beginner. I'm using dotcloud so that made it easier but again - having a virtual machine for distribution to beginners would be super helpful.

Suggestion 6: Expand chapter on deployment.

6) Would love to see an entire book devoted to building a single, substantial project that did a lot of typical things, but with all best practices implemented and explained in context. The project would use 2-3 existing Django apps and create 2-3 additional ones from scratch, and would show how to have intermediate apps to tie together 2 apps that need tight coupling. It would show this apps environments of dev, testing, staging, and deployment on either dotcloud, heroku, or gondor.io. It would show how to make the app look reasonably attractive, perhaps using Zurb or Twitter Bootstrap. I think this would make a terrific companion book to Two Scoops.

Hope some of this is helpful. Thanks for writing this book! I've had it for less than a day and I've already learned a lot.

<comment><USER8> I'm one of the authors. Can you send this review to me at firstname.lastname@example.com?

Thanks!

</comment></comment><comment><USER59> Can somebody comment on how readable the book is on a Kindle?

<comment><USER60> PDFs generally are painful to read on any kindle other than the Kindle DX.

</comment></comment><comment><USER61> Do you discuss or use the built in admin thing in Django?

<comment><USER8> Yes we do. Admittedly it's one of the few short chapters in the book. We do plan to add more content in either the BETA or FINAL releases.

</comment></comment><comment><USER62> wow congrats. Love the graphics. Can't wait to dive in!

</comment><comment><USER63> Congrats Audrey! =)

</comment><comment><USER64> I'll be checking this out soon. Thanks!

</comment><comment><USER65> It always puts a bad taste in my mouth when information/knowledge is locked behind a pay-wall. It frustrates me when I think that someone somewhere is getting turned down from what they want to learn from because they had no money to pay for it or doesn't have the means to pay for it. I know the authors should profit but why can't they do something like <https://mitpress.mit.edu/sicp/> or <http://debian-handbook.info/> or <http://www.aosabook.org/en/index.html> or <http://philip.greenspun.com/seia/> or <http://learncodethehardway.org/> or <http://10print.org/> etc etc etc... Aren't the authors of these books making money? Or is it the fear that people just won't pay for it if its also free to download even if they can?

EDIT: I didn't 'click-through' to the book's original site because there was no mention that the book is also available to those who can't afford on this announcing page. My mistake.

Another great resource: <http://gettingstartedwithdjango.com/> and videos here: <http://gettingstartedwithdjango.com/pages/gigantuan/>

<comment><USER8> Disclaimer: I'm one of the authors.

First, if you can't afford to buy the book, then do as we asked on <http://django.2scoops.org>. Email us and we'll send you a copy. Money should never be in the way of education.

Second, this book took hundreds of hours to write. For weeks we've put in 12-14+ hour days putting it together. We did it instead of working in an office or doing consulting. If we don't charge then we can't put this sort of thing together and maintain it.

Unless, of course, you want to sponsor us to do this sort of work. ;-)

<comment><USER65> You misunderstood me. I wasn't asking for a free copy or that you shouldn't charge for it.

<comment><USER20> So what did you mean?

<comment><USER65> Just what pydanny said above, only that I noticed it a little late.</comment></comment></comment></comment></comment>


How the rest of the universe works - <AUTHOR> http://www.lawofone.info/ <comment><AUTHOR> The universe can be divided up into that which is measurable AND reproducible (science), and that which is either not measurable OR not reproducible. For those looking for how the rest of the universe works (the latter), check out the link. Prepare for a paradigm shift... enjoy!</comment>


In response to GraffitiGeo Techcrunch article ...  - <AUTHOR> http://www.geograffiti.com/voicemarks/3923/

<comment><USER2> TC Article he is responding too: [http://www.techcrunch.com/2009/08/13/yc- funded-graffitigeo-f...](http://www.techcrunch.com/2009/08/13/yc-funded- graffitigeo-foursquare-meets-yelp-with-a-dash-of-augmented-reality/)

Here's the app: <http://www.graffitigeo.com/>

It's basically (it seems) a text version of this existing service: <http://www.geograffiti.com/>

I think the claim of "rip off" does have some validity :P

<comment><USER3> There are a lot of services that do some variant of geotagging. We've even funded one before (Flagr, in 2006). This is one of those domains where winning is a matter of getting the details right; the general idea has been around forever.

I'm guessing what the OP is responding to is the similarity between the names. But that was not intentional.

<comment><USER4> I'm the author of Graffitio: <http://appsto.re/graffitio>

I applied to YC and was flown out for an interview in November 2008. I was told that while it was a promising area, YC is reluctant to fund single founders. Fair enough.

A few weeks later, I responded to a technical plea for help from one of GraffitiGeo's founders in this thread a few weeks after that: <http://news.ycombinator.com/item?id=413929>

When we got in touch, we had a long and frank discussion about Graffitio and the space in general. I told him about the challenges I was facing, and some of my plans for the future. He brought up the idea that we team up, and I said I probably wasn't interested, but I'd let him know.

Then I got the email. He offered me 1.5% of their company for all of my source code, the name, and my 40,000+ users at the time. He went on to use threatening language such as "Graffitio is going to get stomped out of the picture" and "Your financial alternatives are bleak." I chose to pass on the offer.

The first version of GraffitiGeo that came out in the App Store was an _exact_ clone of my app, Graffitio, down to the terminology such as Graffiti and Walls. They started to differentiate themselves with later versions. Some of those differences were novel, but others were features that I'd mentioned to him in our conversation. To be fair, they could have arisen independently.

Graffitio is over a year old now. It was in the App Store on day 1. I should probably be more annoyed than I am, but honestly, I have a lot of reservations about this space now after being here for over a year. Dealing with the App Store is another headache. I haven't been able to get an update through in months. Anyway, the first round of geotagging apps have fallen flat IMO. Turning them into a "game" like Foursquare and GraffitiGeo isn't going to change the fact that they deliver relatively little utility.

There might be a magic combination out there that makes it work, but I don't think GraffitiGeo or Graffitio in their current state is it. I wish them luck in finding it. If anything, they've lit a fire under my ass to spend more time on Graffitio.

<comment><USER5> Very interesting.

I'd like to commend you–if your accounts of what transpired are true, I think you've handled it in a mature and respectable manner. A lot of people would be very bitter about this and resort to whining or threats of litigation.

That being said, there's 2 sides to every story. HN deserves to hear from the GG founders. Possibly from PG as well.

<comment><USER6> hey guys,

i had spoken with anoop early on (i started graffitigeo.com with a few of my college friends). i'll do a detailed response shortly, but anoop and i spoke on the phone today and we've both agreed that there were no ill intentions. what i had meant was that Graffitio as a product would be "stomped out" by other competitive applications who would focus on this space fulltime, as anoop was taking a job in new york full time. i was mostly interested in taking graffitio and improving upon it. at either rate, both anoop and i don't hold any hard feelings against each other and understand that this space is pretty competitive. the idea of "graffiti" and "walls" isn't entirely unique either, as i know of other companies exploring the space.</comment></comment></comment></comment></comment>


Does any animal besides humans commit suicide? (2001) - <AUTHOR> http://www.straightdope.com/columns/read/1878/does-any-animal-besides-humans-commit-suicide

<comment><AUTHOR> Animals that Commit Suicide - [http://query.nytimes.com/mem/archive- free/pdf?res=9F03EEDC10...](http://query.nytimes.com/mem/archive- free/pdf?res=9F03EEDC1039E033A2575AC0A9609C94649ED7CF)

article from 1895 nytimes

<comment><USER2> Just to add to the article you posted, I've heard that scorpions, if surrounded by fire, sting their own head. I haven't read/seen anything that proves it though, so it could be a myth.

</comment></comment><comment><USER3> Nightingales if caged!</comment>


Why Are Attractive Women Always Marrying Unattractive Men? - <AUTHOR> http://www.quora.com/Dating-and-Relationships-1/Why-do-good-looking-women-often-marry-men-who-are-way-less-good-looking-while-good-looking-men-more-often-marry-good-looking-women/answer/Gayle-Laakmann-McDowell

<comment><USER2> Why are you writing your own headline, that differs substantially from that of the linked article?</comment>


Text for Proofing Fonts: A Farewell to the Quick Brown Fox - <AUTHOR> https://www.typography.com/blog/text-for-proofing-fonts <comment><USER2> Author omits "Sphinx of black quartz, judge my vow", which is shorter, more ominous, yet easier to say than the qwartz sphinx one chosen instead.</comment>


Lets make the Objective-C Koans a reality. - <AUTHOR> http://www.puppysound.com/blog/2010/12/23/the-objective-c-koans.html

<comment><USER2> (Apologies for the "Wall o' Text(tm)")

Unit testing is important where no prior culture of testing exists. However, where a culture of extensive testing already exists, introducing Unit Testing can be an inefficient way of moving resources from one kind of testing to another. Worse, since the proponents of it sing it's praises in an entirely uncritical fashion, adopting Unit Testing can lead to a net drop in the amount of testing, since if Unit Testing is so good why bother doing any other testing?

TDD's proponents will often claim that before they took up TDD their code was buggy, but now that they write code to test their code they no longer write buggy code... this seems to me to be a deeply _deeply_ flawed argument.

So aside from a possible placebo effect, what are the real benefits of Unit Testing and TDD? Obviously someone that does no testing at all will receive a benefit if they start doing testing, even bad testing. As I write this of course it seems impossible to me that someone could write code and never test it... it just seems alien and bizarre. _Surely_ someone would want to run their code to see if it worked???

Unfortunately, I have worked with people who don't have that inner spark, who don't even have the curiosity to run their code before claiming it is finished. The mind boggles, but it is true.

Okay, so there are people for whom a little more rigour, a little more testng would be a huge improvement. They will receive the most benefit from TDD and Unit Testing.

Then there are the people who just can't do design. TDD is a form of design. I wouldn't argue that it is the _best_ form of design, but it is _a_ design, so again, compared to someone not doing any design at all there is bound to be an improvement.

Strangely, the benefits I think for a developer with a mature process are twofold, and never mentioned by the proponents, which seem to me to be odd.

Firstly, even a mature developer can get code block or writer's block. TDD gives you a way out of it, because instead of writing 'proper' code, you just add another test. I believe many professional authors have a similar system, they might force themselves to write a certain number of words a day, and if they are really and truly blocked they'll just sit there and type "wibble" a thousand times on the paper - or until their mental processes rebel :D and the blockage is broken.

We could try to trick ourselves with some kind of 'programming-ish' make work to receive the same benefit (like twiddling the ant file), but our brains are good at detecting this sort of thing and slacking off. Whereas testing is both good and important, so it won't trigger those mental 'defences'.

The second benefit for a mature development process is that Unit Tests can be a good place to put your regression tests. The regression tests in a large corporate environment usually rely on a lot of knowledge that can get lost. Nobody might touch a big corporate project for 5+ years, and when you need to know all the gotchas, those people have moved on to different organizations or different projects in the same organization.

Joel Spolsky talks about how if you get a super obscure bug arising from some strange customer configuration, that having fixed it once, you should never release that same bug back out into the wild, and he makes a lot of sense. Unit Tests are ideal for protecting you from those sorts of blunders.

===

Any proper Pattern has consequences (check the GoF if you don't believe me :D )

There are two really big drawbacks to Unit Testing and TDD in general:

The thing the proponents will often claim as a benefit of Unit Testing, that it lets them make large refactorings on a large codebase at will, in order to fix their own bad design... really just makes me want to scream at them that they should have invested in a decent design up front, they should get better at naming variables. If you suck at design, _get better at it_. A programmer who sucks at design is like a carpenter that doesn't understand about the grain of the wood. I cannot imagine that such a person really cares about their craft.

On particularly 'Agile' projects, the Unit Tests are sometimes regarded as being place holders (or even complete replacements) for the requirements. Unfortunately what happens is that you get told to make a change. Making any change at all will break some test, often more than one. In a perfect world the trick is figuring out whether the test that got broken was because of the change in functionality, or whether it was because of an unforeseen breaking of some other requirement. Sadly, in practice what happens is that the developers get so used to 'fixing' the tests when they change the code that it becomes like a fish breathing water, they assume a test will break, so they stop thinking about why it has broken - and the test just become a tautological reflection of the code and cease to be guardians of correctness.

===

Disclaimer: I do way more testing than any Unit Test or TDD evangelist I've ever worked with. But I do a variety of testing. I believe any one form of testing most likely suffers from diminishing returns, so having a variety of different kinds of tests ensures maximum benefit. I also believe that no amount of automated testing can substitute for the eyeball test where a real human sits down and examines the output, whether that be via a gui (where applicable) or via some other means as appropriate. Automated testing generally only catches those errors that are predictable, whereas a good human tester can surprise you, and can spot errors that you didn't predict.

<comment><AUTHOR> I appreciate the thoroughness of your comment. I also agree with some of what you said. For me, TDD is not so much about testing the code as it is about effectively writing the code. The only point that you brought up that I would like to make a counter argument to is the idea that you should get the design right on the first try. I don't agree that it is a good idea to design the system thoroughly up front. For me, using unit test to allow me to refactor throughout a project is very useful and allows me to become better at design everyday. It's an excellent way to prefect your skills as a code designer. It also leads to a code base that can be explained without any "well it used to..." sort of talk.

But again, I emphasis that I found everything else that you brought up to be perfectly valid.</comment></comment>


Chainsaws, Gunshots and Coughs: Our Smartphones Are Listening - <AUTHOR> http://blogs.wsj.com/digits/2014/07/03/chainsaws-gunshots-and-coughs-our-smartphones-are-listening/

<comment><USER2> A dupe of [https://news.ycombinator.com/item?id=8090814](https://news.ycombinator.com/item?id=8090814).</comment>


Urns in Wuhan far exceed death toll, raising more questions about China's tally - <AUTHOR> https://shanghaiist.com/2020/03/27/urns-in-wuhan-far-exceed-death-toll-raising-more-questions-about-chinas-tally/ <comment><USER2> Lets do some math.

Assume people live 70 years. That's about 25,000 days. Wuhan has 14,000,000 people.

One can roughly then assume

14,000,000 / 25,000 => 560 people die every day in Wuhan.

City was locked down for at least 60 days.

During that time you could expect

560 X 60 ==> 33,600 people to die of natural causes.

If no one was picking up their loved ones ashes for 60 days of course there is assload of urns stacked up.</comment>


The Horsewomen of the Belle Époque - <AUTHOR> https://www.theparisreview.org/blog/2020/01/09/the-horsewomen-of-the-belle-epoque/ <comment><USER2> Doing jumping tricks while riding sidesaddle is hard.</comment>


Slurpee Waves – Frozen Waves on Nantucket - <AUTHOR> http://client.jdnphotography.com/slurpeewaves/

<comment><AUTHOR> Related NY Times article: On Nantucket, Surf's Up, if You're Part Penguin [http://www.nytimes.com/2015/02/28/science/nantucket- frozen-w...](http://www.nytimes.com/2015/02/28/science/nantucket-frozen- waves.html?smid=tw-nytimes&_r=0)</comment>


"Are we all same and equal" or "Everyone is different and unequal"? - <AUTHOR> "An unexamined life is not worth living" - Socrates
Recently I had been thinking, discussing & reading up lots of philosophical theories/opinions to form better understanding of individuality and group/society. Got me thinking "what if" we can get to know opinions of millions of people worldwide from different cultures on a topic? It can result in meaningful insights and an impact which can help us form better understanding of ourselves and society. It just have to be easy and concise to make it actually happen and make something out of it.
This weekend I had time to take this kind of discussion/research to new level.
We organized a weekend hackathon at our workplace and created a dead simple gamified version of online philosophical discussion.
How it works:
All you need to do is post your views about the current topic of philosophical discussion on twitter with #ThePhilosophicalGame. That's it!
The benefits for philosophers :
* Discover what actually intellectuals in the world think about a philosophical question. Which can uncover many assumptions and have a better understanding of external world.
* Hone skills of presenting your arguments
The benefits for people who don't care about philosophy:
* Analyze, develop and formulate logical arguments
* Uncover assumptions and suggest alternatives
* Aptitude to examine various angles of topics
* Ability to write and speak clearly and effectively
* Interpret and assess various thoughts and theories
More info is on the website which manages this game: http://thephilosophicalgame.ml #ThePhilosophicalGame
FAQ:
* How to check current discussion topic: http://thephilosophicalgame.ml.
* Every topic has two sides of the argument, you have to choose your side and post your thoughts about the same to make a strong case about your side.
* How to see which side is winning : http://thephilosophicalgame.ml.
* What society thinks about the topic can be seen simply at twitter  #ThePhilosophicalGame
The same process repeats after couple of days on different topic.
Your feedback is valuable. <comment><USER2> FWIW, imo, wisdom is not a superadditive function of sets of opinions, nor will asking a group of people their opinions and averaging it constitute wisdom (but rather, the exact opposite - de facto, the least time-tested opinion possible), but the attempt to introduce more people to philosophy is worth commending.

Also, try to make the questions as defined as possible ("people" = individuals/bodies/ancestors/nationalities/citizenry? "same & equal" = equal in measures of 'potential'/so-called 'purity'/granted and guaranteed rights/talents and skills/past accomplishments/future ambitions/dreams and hopes/preferences and desires/moral systems and reputation/underlying hardware/historylessness/memorylessness/tabula rasa/free will/popularity?); maybe also make the question a binary one with only a true/false answer, because there are other ways to nitpick the current answers as being non- mutually-exclusive (i.e. does different imply non-equal at both a mathematical but also a social level?)

<comment><AUTHOR> Very helpful comment. Thanks @pizza

Opinions of a lot of people can help us form better understanding of external world(what others think about something). Isn't it?

<comment><USER2> Well, only in very specific circumstances: the circumstances in which it is more important to know the knee-jerk opinions of others instead of the opinions that will be selected over time because of non-change/survival due to pragmatic usefulness.

Consider that, for > 99% of the questions for which you might get an opinion out of people, the answers you receive will have never been actually applied in their lives - so, the answers you'll likely receive have never been empirically subjected to any real world test. The opinions that haven't been tested have a lower signal-to-noise ratio than those that have

</comment></comment></comment><comment><USER3> The abuse of the words "equal" and "unequal" is a common phenomenon.

same != equal

different != unequal

I am for "Everyone is different and equal".

<comment><AUTHOR> Agree with you @NumberCruncher Tweet your thoughts with #ThePhilosophicalGame :)</comment></comment>


Brian Beckman: Don't Fear the Monad - <AUTHOR> https://m.youtube.com/watch?v=ZhuHCtR3xq8 <comment><USER2> Idris Effects are a lot better

<comment><AUTHOR> Would you care to give more details?

<comment><USER2> Effects can keep track of resources, such as open files, not allow writing to a file that was open for reading, and force the caller to acknowledge error conditions.

It also doesn't have the issue with monad transformers and having to lift all over the place. Nor out-of-order transformers, such as StateT Reader vs ReaderT State.

You can also label effects, so you could have the equivalent of StateT Foo StateT Bar ... without having to remember which one to lift. You just simply refer to the state you want by its label.

It also introduces people to dependent types and shows some amazing concepts in a practical example.

Not that monads are bad, but once you got the concept down about a glob of data and lambda functions representing code you can run, Effects open you up to a whole new world.

<comment><AUTHOR> Thanks a lot! I will take a look at Irdis Effects. It sounds very interesting.</comment></comment></comment></comment>