Go as a Scripting Language - <AUTHOR> https://www.infoq.com/news/2020/04/go-scripting-language/ <comment><AUTHOR> As much as I like the idea of using Go to write scripts, I can't see this catching on. There just seems like there is too much overhead for something that should support "quick and dirty" programs.

That said, I'm still going to try it :)</comment>


The decline of the $10 million IPO, and why it matters - <AUTHOR> http://www.urgentspeed.com/applied_disruption/2010/04/why-ten-million-dollar-ipos-matter.html

<comment><USER2> This article is unpersuasive. Each of the supposedly anti-IPO changes had a very good reason behind it. These should be seriously considered before reverting to the old way of doing things:

#1: This is really a consequence of the other factors he cites.

#2: Decimalization made stock trading massively cheaper. When prices were quoted in eighths, the price at which you could sell was 12.5 cents lower than the price at which you could buy. This difference went straight into the pockets of brokers, not investors. It was basically free money.

#3: Internet brokerages. What, you'd rather get on the phone and call someone to make a trade? I love the convenience of E*TRADE and similar platforms.

#4: The growth of prop trading, in and of itself, didn't push out IPOs. It merely filled the void in profits left when IPOs stopped making as much money for the banks.

#5: Keep in mind how research used to be done: banks would effectively promise to write good research on stocks they brought to market. I think it's absurd and insulting to new companies to suggest that no one would buy their stocks unless accompanied by heavily biased "research."

#6: Guess what, shareholders are the owners of the companies. They should have a say in how companies are run. There's a balance between their interests and management's interests, but the author merely asserts that things went to far without providing evidence.

#7: While there's plenty of wealth outside the US, international investors are still able to invest in the US. I don't see why this is a negative for IPOs.

#8: Larger funds: I'll admit that I'm unsure about this criticism. I don't know enough about this area of the market.

#9: Keep in mind that Sarbox was passed to prevent Enron and Worldcom. Its requirements may be onerous, but they're designed to help prevent specific types of fraud that were extremely damaging to the economy. While Sarbox may have reduced IPOs, it also may have reduced the risk of fraud. It's difficult to say.

</comment><comment><USER3> This entire article is just a bunch of moaning and bitching about how things are not like they used to be back in the olden times when stock brokers could make easy money without being too smart or working too hard by just answering the phone, executing orders and taking bribes for "research." (Note that stockbrokers can and still do make a lot of money nowadays, they just need to be much smarter and trickier about it.)

There's a lot of wrong things in there but let me point out the most obvious. He talks about the abundance of 10 million ipo's in the 80's and 70's and the dearth of them today without even mentioning inflation. Let's take the only concrete example he provided: that of Intel which had an 8 million ipo in '71. In 2010 money, by using the CPI, this is 43 million (and note that the CPI tends to underestimate inflation). Are there 40 million IPO's today? Yes there are.

This small list listing only the most recent IPOs on the NASDAQ shows at least two 40 mill IPOs:

<http://www.nasdaq.com/reference/IPOs.stm>

So a mere cursory examination of inflation completely destroys the only concrete example he provided.

<comment><USER4> Yeah but the economy is a lot bigger now too. It is an indisputable fact that the U.S. IPO market smaller in both size and frequency.

It isn't the only cause, but Sarbox has hammered public companies with huge regulatory costs for absolutely no benefit-- indeed, there is some evidence that corporate malfeasance is easier today because the rules are so complex, the true risks are easier to bury. SarBox certainly didn't stop the corruption in public mortgage finance and investment banks. You could argue that the law was tougher pre-SarBox-- at least Enron and WorldCom crooks went to jail.

<comment><USER5> [...] _at least Enron and WorldCom crooks went to jail._

Good point — modern crooks got bonuses and their companies were saved from bankruptcy.

</comment></comment></comment><comment><USER6> Doesn't anyone else see a huge opportunity here? If we set aside regulation for a moment, there is a _huge_ demand for a liquid market for privately held stock. Both investors and companies would have huge benefits from being able to trade stock on a market that's not connected to the traditional exchanges. I'm standing on the investor side of things, annoyed out of my head that it is impossible to invest in the companies I'd want to unless I had a hundred million dollars.

There are probably _huge_ regulatory hurdles to a problem like this, but it would be interesting to see where the excact problem lies. Practically, you'd need to attract enough investors to make the market reasonably liquid, as well as gain enough confidence from the market at large that people would want to participate.

Does anyone know what regulation prevents someone from doing this?

<comment><USER7> > Doesn't anyone else see a huge opportunity here?

Forgive my ignorance, but isn't this essentially what sharespost and secondmarket are doing?

<comment><USER6> Hehe, forgive _my_ ignorance..these companies are doing pretty much what I was suggesting. I'm not that versed in the details of reasonably young companies.

</comment></comment></comment><comment><USER8> Let's talk about the list of software companies that are probably going to IPO in the next couple of years: Facebook, Groupon, Yelp, Pandora, LinkedIn, Zynga, Twitter

One of the big differences of today's IPO market, is that many of these company's founders have been able to take some money off the table. The founders are rich and early employees are able to have some liquidity via secondary markets. At the same time, there's a lot more capital available to large companies at this stage than there ever was. (See DST's recent investments, Andreesen Horowitz's recent investments). So, the typical reasons that have pushed companies to IPO aren't there any more. That lets technology companies run for a lot longer before they have to IPO or get huge acquisitions.

So, while there haven't been as many software company IPO's as there have been in the past, my gut is that the ones that we do have are going to be larger and more successful.

</comment><comment><USER9> A $10 million IPO doesn't make any sense when they will have to spend 20 percent of the IPO money on meeting Sarbanes/Oxley requirements in the first year. It it costs about $2 million a year to meet those requirements.

</comment><comment><USER10> I'm not sure I understand point #2 (decimalization). Can someone explain what he is getting at?

<comment><USER11> Stocks used to be priced in eighths of a dollar. So if a stock was selling for $1.50, the next increment up was $1.625 and the next step down was $1.375. They are now priced down to the penny, so a $1.50 stock can go directly to $1.51 or $1.49.

I'm not entirely sure why he cites this as a bad thing, but I'm assuming that there's some arbitrage opportunity to value investors when dealing with eighths of a dollar (since if a stock was priced at $1.50 but was really worth $1.55, you'd be getting $0.05 of "free" value by buying it).

<comment><USER12> Don't know if it's in any way the cause of anything related to a decline in IPO, but this spread is what the banks make money on and what enables them to do what they do, effectively a measure of their margin on trades. Going from an eighth to a hundredth just means their margins effectively were reduced, but was probably a result of an increase in volume / trading activity.

<comment><USER13> I think there is a couple of things going on here, though. Decimalization made stock market-making less profitable for Investment Banks. And the re- regulation of stock analysis prevents banks from using research analysts to tout stocks. By making it worth less to investment banks to invest in research, every customer has to invest more in research. Arguably this isn't too bad a problem - until it comes to smaller stocks, where the knowledge-base of the market is getting hollowed out - and liquidity dries up since no-one who is not in the stock has much incentive to do the initial research.

The same thing happened in High Yield Bonds. The NASD (FINRA) brought in reporting system for bond prices (TRACE) that made trading bonds inherently less profitable for the middle-men (though much more transparent for investors). That meant that there was less incentive for the middle-men to do research, causing researchers to leave to join hedge-funds. So the end-game is a very fragmented market, where if an investor wants to sell a bond, they don't have an audience that's had any consistent commentary on the situation from a 'neutral' middleman.

</comment></comment></comment></comment><comment><USER14> Back in the day, when a $10 million IPO was too big and you wanted to raise only a million or so one of the places you turned was to the Vancouver Stock Exchange. (It was also the place to lose your shirt or gain a fortune betting on penny stock mining firms).

It's changed hands and is now known as the Canadian Venture Exchange, and is still a great place for sub-$10 million IPO's. It's last IPO was for a mining firm who raised 5.75 million dollars selling shares at 50 cents a pop.

</comment><comment><USER15> very good article...but I think it's underestimating the culture shift of companies not even considering IPOs in that range

<comment><USER11> I'm not sure it's possible to disambiguate his point and the culture shift. i.e. perhaps the culture has shifted because of the issues he's described.

</comment></comment><comment><USER16> The part about small caps being sold and not bought is particularly interesting to me.

Right now I'm working on a stealth project that will address the needs of small cap and private companies wishing to raise cash on equity. We've had amazing feedback from the small number of companies and investors already involved. Think Kickstarter except getting equity instead of cheap plastic trinkets. We'll also have the ability to get someone to call you who can speak knowledgeably to the details of the deal and can connect you with a licensed & regulated professional to handle the execution. $10 million IPOs are very common, look at an exchange like the TSX.V it's filled with small IPOs in the Resource sector. A large part of the logic behind the proposed TSX / LSE merger is to address exactly the concerns of the resource sector and have a single exchange which is dedicated to the resource sector.

We're going to rock the startup finance scene pretty hard. If you're looking to IPO think Canada, not California. Our financial institutions are as rock solid as the Canadian Shield.

[http://www.theglobeandmail.com/news/national/toronto/globe-t...](http://www.theglobeandmail.com/news/national/toronto/globe- to/the-tsx-and-lse-merger-means-a-new-breed-of-banker/article1904593/)

HFT is much less common in Canada, and it's a perfect market to do a small IPO. In the last 20 years Canada has drastically changed it's tax code in relation to corporations. We also don't have Sarbox and other onerous requirements. I'm not an accountant but IIRC the small biz tax rate is something like 11%. A $10 million IPO is never going to make the front page of the NYT but they are definitely out there.</comment>


Eric Schmidt thought 'Don't Be Evil' was 'the stupidest rule ever' (2013) - <AUTHOR> https://www.theverge.com/2013/5/13/4326424/eric-schmidt-once-thought-dont-be-evil-was-stupidest-rule-ever <comment><USER2> It was brilliant play. In the beginning we believed in Google, so we (myself included) were all ready and willing to let them store our email, photos, documents, and anything else. They were here to index the world's knowledge! It wasn't even about the money! And now, I doubt most of us (at least, those of us who like to believe that we have any moral compass at all) only still have data on Google through inertia. Their ethical track record at this point is not encouraging.

<comment><USER3> It made google honestly.

Morality and justice are a pretty important topic among geeks, and geeks were the best salesmen of Google at the begining.

We needed it. Internet was going to be this incredible place were we would all share and learn, create communities and make people closer to each others. Money people didn't understand it, technical person did, so we though we found a place were finally, we could create such a thing.

Of course, it was bs.

</comment></comment><comment> daniel-cussen > "Now, when I showed up, I thought this was the stupidest rule ever, because > there's no book about evil except maybe, you know, the Bible or something." > In the end, though, he believes it has worked, by giving employees a way to > point out things they find unethical.

Worth pointing out rules are made, usually on two premises: should we and could we. Should we: is it morally sound? Could we: good intentions and morality notwithstanding, can it be enacted workably, to achieve intended effects and create little or no unintended effects?

</comment><comment><USER4> So this 'stupid rule' was referring more on Microsoft hate that was crafted and promoted in order to get developers into Google stacks. After many startups (android, youtube,chrome,gmail etc) acquisitions, that were popular into people 'search results', they reunite their privacy terms and stalk everyone life's therefore becoming top evil corp. enjoy!

</comment><comment><USER5> obviously, its a rather abstract concept thats very subjective at best, i dont suppose Hitler saw himself as evil</comment>


Illegal file-sharing policy criticised by BT boss - <AUTHOR> http://news.bbc.co.uk/1/hi/technology/8559059.stm

<comment><USER2> This is not too surprising, since piracy is the killer app for broadband. (Similar to Apple's promotion of "Mix, rip, burn" -- Apple has iTunes to be able to pretend that their hipster twenty-somethings are filling those gigabytes with tens of thousands of dollars of legitimately purchased music -- and Youtube.)

<comment><USER3> Pretend or not iTunes is #1 music store in US.

<comment><USER4> Just because iTunes is the most popular music store in the USA does not mean that most of the music on iPods in the USA comes from iTunes.

</comment></comment></comment><comment><USER5> Interesting...although it is obvious that if BT were required to terminate the contract of anyone who ever downloaded a song or movie, they'd be out a large stack of cash.

Livingston would much rather keep the contracts (and the money). And the gov should be happier with another tax.

But can you imagine how jammed up the courts would be if everyone fought it (which they would)?

<comment><USER6> > Livingston would much rather keep the contracts

Sure, but regardless of his motives, his line of reasoning can stand on its own very well: to continue the speeding-fine parallel, you would need very direct evidence of someone speeding before you could take their driver's license away. Many people depend on net-connectivity for their income, in the same way that many depend on their driver's license - thus it shouldn't be too easy to cut anyone off.

> But can you imagine how jammed up the courts would be if everyone fought it > (which they would)?

It depends - as long as the amount fined is reasonable, the cost and effort of appealing would stop people in most cases. On the other hand, if the rights- holders would be unreasonable about it, by pushing the fines too far or disregarding fair-use, they'd find themselves in court all the time - which is arguably a good thing.

<comment><USER5> Good points. In retrospect I think it would be pretty easy to beat a fine. Imagine the following scenario:

\- I download the song 'Happy Birthday' illegally \- I get caught and get a fine, which I have the option of appealing in court (lets say the fine is something outrageous like £500) \- I option to appeal but before the court date I go to HMV and buy a single of 'Happy Birthday' for £5, and scratch it up a bit so it doesnt look shiny new. \- I get to court with my CD and say "I already legally owned a copy of the song, but its all scratched so I downloaded it"

Strange thing is, you beat the fine but the record company still gets your £5 for the purchase (and you keep your copy)...so minus the hassle, everyone wins.</comment></comment></comment>


DynASM - <AUTHOR> http://luajit.org/dynasm.html <comment><USER4> If Mike Pall happens to read this, I feel like he's really selling the world short by not writing a book about dynamic language implementation. It could influence generations of programmers! Right now you have to piece together some of his mailing list posts and try to fill in the blanks, but a more thorough explanation from him would be invaluable.

<comment><USER5> He's also written a large article designing a garbage collector[1], which was very interesting to read.

[1][http://wiki.luajit.org/New-Garbage-Collector](http://wiki.luajit.org/New- Garbage-Collector)

<comment><USER6> I actually implemented a variation of that once. The quad-color thing is really brilliant once I understood it.

</comment></comment></comment><comment><USER7> My favorite blog post of all time is Haberman's "Hello, JIT World: The Joy of Simple JITs" which covers using DynASM. [1]

I wish there was better documentation for DynASM. I wonder what cool programming projects would be created if DynASM was better known and better documented.

[1] [http://blog.reverberate.org/2012/12/hello-jit-world-joy- of-s...](http://blog.reverberate.org/2012/12/hello-jit-world-joy-of-simple- jits.html)

<comment><USER8> > I wish there was better documentation for DynASM.

"The Unofficial DynASM Documentation" by Peter Cawley is not to be missed: [https://corsix.github.io/dynasm-doc/](https://corsix.github.io/dynasm-doc/)

<comment><USER9> None of Cawley's work is to be missed. Anyone interested in JITs ought to look into his work.

</comment></comment></comment><comment><USER10> I've used this. If the comparison is with writing an interpreter for whatever you want done, here's how I remember the tradeoffs.

Using DynASM itself was smooth sailing. It is officially undocumented, but like the site says, the code is sufficiently well commented.

Generating simple-minded machine code is easy enough (in my opinion) and the results run decently fast.

I didn't integrate run-time generated functions with exceptions and debugging (host language was C++). These areas seemed very sparsely documented (exceedingly sparsely, IIRC, for 64bit Windows) and looked like they would eat more work than everything else up to that point.

</comment><comment><USER11> Mike Pall really is a robot from the future [cf [http://wren.io/performance.html](http://wren.io/performance.html)]

</comment><comment><USER12> A while ago, I spent a fair amount of time evaluating JIT frameworks including DynASM. The one I ended up using is something called Xbyak ([https://github.com/herumi/xbyak](https://github.com/herumi/xbyak)) which I think is a bit of a hidden gem. Unlike DynASM, it doesn't require a preprocessing pass, is better documented and IMHO easier to use.

So if you're in the market for a lightweight JIT engine and target C++/X86, I'd give Xbyak a whirl too and see which one you like better.

</comment><comment><USER13> One should really note the major differences dynasm took from the more abstract and logical jit libraries, which try to abstract platform oddities from the user. Like LLVM, libjit, asmjit, v8, libgccjit, lightning or nanojit.

It doesn't care how you call a function, it doesn't even care about 2 or 3 address op syntax. All it does is adding simple template logic to let you handle the platform-specific abstractions by yourself.

And in the end it's easier to add your own prologue or prepcall1 macro, than relying on a library.

people always looked at the "most portable jit library". dynasm offers no platform support per se, as all the others do. you have to do by yourself. it's the least portable of all. but in the end it was much more powerful, and offered the most ports. you get the asm anyway by dissambling the target function. with the libraries (such as LLVM) you'd need to translate a high- level overview to the library API. with dynasm you just need to adjust your types, prologue, struct field accesses and epilogue. and dynasm is perfect and practical in doing this, whilst the other libraries try do to much more, with much more handholding and are much bigger and less effective.

I don't agree with the genius part though. lua itself was pretty much perfect already, and lua took most of the good parts from earlier dynamic languages, lisp and self, and esp. Inferno's "Dis VM". [http://doc.cat-v.org/inferno/4th_edition/dis_VM_specificatio...](http://doc.cat-v.org/inferno/4th_edition/dis_VM_specification) which was Lucent's faster and smaller competitor of Sun's stack-based and GC- heavy JVM. it just missed besides a jit a good OO, and luajit didn't add that neither. e.g. _why the lucky stiff added a nice OO layer on top of lua, plus a nice simple jit. much simplier than luajit.

luajit just objected to some questionable decisions in lua regarding performance, and then took over. esp. nan tagging makes a lot of sense, but the compiler optimizations are also pretty cool. esp. when compared to the massive LLVM overhead.

luajit is using the slower and bigger 3-address SSA and the optimizations based on that. but the CPU and the lua bytecode is just using the fast and natural two address op syntax, where it is not easy to add SSA. This is the genius part. [http://wiki.luajit.org/SSA-IR-2.0](http://wiki.luajit.org/SSA- IR-2.0)

<comment><USER14> Can you link to _why's work on lua and its JIT? My Google fu couldn't find it. (Unless you are referring to Potion which is entirely unlike Lua)

<comment><USER13> Yes, potion. It's a better rewrite of lua, as luajit. Same op and data layout as lua, just with a simple method jit (luajit does tracing and optimizations), plus a msg send based OO.

</comment></comment></comment><comment><USER15> As an electrical engineer I deal with assembly programming all too frequently. So clearly I am missing something important about the concepts presented here. Why on earth would I go to the trouble of writing assembly code to put in the middle of my C and then use another tool to strip the assembly and convert it to C? Because it turns out that I'm even better at writing C than I am at assembly. And although the power of assembly is fantastic, I vastly prefer C.

Thanks in advance for any explanation. I'm clearly missing something that should be obvious.

<comment><USER16> I didn't think most electrical engineers would work with Assembly code. Can I ask what type of electrical engineer you are?

<comment><USER15> I'm a jack of all trades design engineer in the R&D space. Assembly is appropriate for the very low end of the 8-bit microcontroller space. Especially for timing critical code. Like a bit banged RS-232 port. There are still micros with only a few kb of flash. Can be hard to fit much of anything in there. You can do some amazing things in assembly if you're motivated, which tends to happen when you have a fifty cent budget for a micro, two weeks left for delivery of prototypes, and code left to write.

</comment></comment></comment><comment><USER17> I really wonder where an engineer of his class works. He really seems coming from an alien civilization.

<comment><USER18> People, including Mike have been looking into whether it would be viable to clone him.

[https://github.com/LuaJIT/LuaJIT/issues/45](https://github.com/LuaJIT/LuaJIT/issues/45)

</comment></comment><comment><USER19> I used DynASM in my little weekend project [https://github.com/jsn/icfp06](https://github.com/jsn/icfp06) , see README for my experience. In short: I like the idea a lot, but the implementation is seriously buggy. My experience with GNU Lightning (during the same weekend project) was much more smooth.

</comment><comment><USER20> Mike Pall is a genius, not much more to say tbh.

<comment><USER21> Please say more; as someone who doesn't work in this area I don't know if this is impressive or important or what.

<comment><USER22> LuaJIT (of which DynASM is a component) is a JIT compiler for Lua (a dynamic language), which despite being basically a one-man project was beating contemporary Javascript compilers on performance and even the Dalvik Java compiler on Android (making it the fastest JIT compiler in existence for a dynamic language). Also, it targets multiple platforms (x86, x64, ARM, PPC, MIPS). It's been in maintenance mode for a while I think.

A couple interesting links about the internals:

[http://lua-users.org/lists/lua-l/2009-11/msg00089.html](http://lua- users.org/lists/lua-l/2009-11/msg00089.html)

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

<comment><USER23> DynASM used in MoarVM too, modern VM for Rakudo (implementation of Perl 6).

</comment></comment></comment></comment><comment><USER24> Notable recent use of DynASM: Zend is using it to write a JIT compiler for PHP 8.0. [http://externals.io/thread/268#email-12706-body](http://externals.io/thread/268#email-12706-body)

</comment><comment><USER25> Luajit a wonderfully clever piece of code that only one person understands and is able to support. Before everyone chimes in that I'm mistaken ask yourself why Luajit has not evolved to be compatible with the latest Lua 5.3 release.

<comment><USER26> Lua was pretty much perfect at version 5.1 (the version LuaJIT supports). Lua is meant to be a simple language, not one of those languages which accumulate more and more features and thus complexity over time (I am looking at you C#, Java, etc.).

So unlike those languages Lua can really be considered "done". Version 5.2 was a lot like C99, maybe people considered one or two features "nice to have" but most Lua programmers saw no need to upgrade. Others like Mike Pall even considered 5.2 inferior to 5.1.

Now we have 5.3 which is really all about one special-purpose feature: 64 bit integers. That is a feature most Lua users do not need and it comes with a massive complexity and performance price tag.

Unless you really need 64 bit integer math in your scripts 5.3 is the inferior language.

I really enjoy that in classic Lua a number is a number, that is such a relief compared to the hell that is C's countless numeric types and all the potential bugs resulting from (silent) conversions between them. Lua 5.3 brought that problem to Lua e.g.

      a = 9223372036854775000
      b = 0.5
      c = a + b
      c = c - <USER2>
      print(c) // 9.2233720368548e+18

The third line silently converts a 64-bit integer variable to a 64-bit floating point variable, corrupting its value.

And of course Lua 5.3 is slower and needs more memory because of the additional complexity which must be handled.

Thanks but no thanks.

I mean Lua 5.3 still makes sense _if_ you really need 64-bit integers in your Lua scripts. But otherwise it is a downgrade.

<comment><USER27> > print(c) // 9.2233720368548e+18

I have little experience in lua myself, and I know only that lua is meant to be a simple language. That said, I can't see from your example what's wrong with lua5.3. I ran the same code with lua5.1, lua5.2, and lua5.3 – and the output was identical across all:

        $ diff <(lua5.1 numcheck.lua) <(lua5.3 numcheck.lua)
        $ diff <(lua5.2 numcheck.lua) <(lua5.3 numcheck.lua)
        $

<comment><USER26> In Lua < 5.3 a = 9223372036854775000 is not even valid code. Because only 32-bit integer values are supported.

In Lua < 5.3 the value is immediately corrupted (check the value of 'a' after the initial assignment) and static analysis can detect that line as a bug.

In contrast in Lua 5.3 it is perfectly fine code and the value of 'a' will be 9223372036854775000 as one would expect. _However_ the moment you - <USER3> accidentally - mix that int64 variable with a float64 variable in an expression you end up with a (silent) bug.

Such bugs will happen. They happen all the time in C and in Lua's case things are even worse because function parameters do not have types. The possibilities of hard to find, nasty bugs are endless here. E.g. simply forgetting the second '/' in '//' in one part of the program can cause bugs in a completely different part, maybe even in a third party module, and only under certain circumstances.

<comment><USER28> "In Lua < 5.3 a = 9223372036854775000 is not even valid code. _Because only 32-bit integer values are supported._ "

That's not true at all, Lua < 5.3 uses doubles for all numbers, which on most computers is IEEE 754, they can represent integers perfectly up to 2^53

The value is _not_ corrupted, depending on the rounding mode is which number you're going to get out of that (I get 9223372036854774784)

<comment><USER26> >That's not true at all, Lua < 5.3 uses doubles for all numbers

I know that of course, but using doubles for integer math is only safe if you limit yourself to a certain integer range.

>which on most computers is IEEE 754, they can represent integers perfectly up to 2^53

False. You get rounding errors after 10^14.

>The value is not corrupted, depending on the rounding mode is which number you're going to get out of that (I get 9223372036854774784)

The above being an example of such a rounding error.

If I assign the value 9223372036854775000 to a variable I expect said variable to afterwards have the value 9223372036854775000 not 9223372036854774784. Your example is exactly what I meant with "corrupted" i.e. the value is changed by the conversion.</comment></comment></comment></comment></comment></comment>


The Power of Building Codes: Chile Death Toll Less Than 1% That of Haiti - <AUTHOR> http://www.infrastructurist.com/2010/03/01/the-power-of-building-codes-chile-death-toll-less-than-1-that-of-haiti/

<comment><USER2> Aside from the "earth science" the article glosses over, there's always the trivial details like Chileans actually having the money to _pay_ for buildings that meet these specs.

EDIT: And then there's the issue of emergency services, police, Chile not being a tiny island, etc.

<comment><USER3> I wonder though if the additional cost imposed by building code would actually be good for the local economy.

If it costs 2x as much to build a place, then that money is probably going (largely) back into the labor force. Yes, it would 'cost' more per building, but the long term effects would be high and the stimulus from the wages earned would also be significant.

The real problem is the initial investment. You need some stimulus to get developers building there to begin with otherwise you can't really kickstart the cycle.

<comment><USER4> That sounds a lot like the broken window fallacy.

<comment><USER5> No, claiming that the earthquake damage stimulates the economy would be the broken window fallacy. Aside from being a simple safety measure, building codes are more like insurance - you're making this investment in a building, let's spend a little more money to make sure it's going to survive fire, flood, and quakes. Same with safety standards on cars.

Insurance is always a gamble; if you buy it and never use it, you lose. If you don't buy it and later need it, you lose. This assumes you have the money for the insurance of course; Haiti did not have the money for insurance or seat- belts, and got thrown from the car into a concrete pylon.

<comment><USER6> Claiming that the stricter building codes would stimulate the economy is arguably also the same fallacy, just without the obvious net-negative of the "broken window" case.

On the other hand, even disregarding the risk mitigation, it's also arguable that the seemingly burdensome building codes would inflict no appreciable _harm_ on the economy, for exactly the same reasons that the broken window fallacy sounds plausible.

<comment><USER5> Agreed that if no disaster occurs then the building code is just moving money around from one industry to another, with no net benefit.

If disaster does occur than the code has prevented the destruction of capital, and therefore has benefited the economy -- maybe not "stimulated", but benefited by preventing a greater loss.

</comment></comment></comment></comment></comment></comment><comment><USER7> Does anyone know how Chilean building codes compare to San Francisco Bay Area codes?

Would the Bay Area have fared as well if it had suffered a 8.8 magnitude quake?

<comment><USER8> No - Bay Area is a strike-slip fault whereas Chile is a subduction zone

</comment></comment><comment><USER9> This isn't the power of building codes.

This is the power of productivity.

Haiti has a GDP of $1,300 per person. As it turns out, about 40% of this is basically welfare from the rest of the world, but that is neither here nor there for the current argument. So, anyway, each Haitian is producing somewhere between $700 and $1,300 of value each year ... and likely eating 90% of that as food. The surplus that might possibly be generated in a given year is perhaps $100 or so per person.

This is the cold equation of building safety: there is no way that Haitians can possibly build earthquake proof buildings on 30 cents per day. I don't care if the building code was five times stricter, or if there were roving gangs of armed building code enforcers – the buildings in Haiti are going to be made out of scrap metal, home-made cinder blocks, and substandard concrete.

The death toll in Chile was much lower because Chileans are more productive people - their per capita GDP is $15,000 - about 13 x the per capita GDP in Haiti.

Bump up producitivity by 13x and you can buy a lot of things.

...including earthquake resistant buildings.

</comment><comment><USER10> Even being a free marketeer, building codes are one of the few government interventions that have had huge positive impact on society (i know, i know, there are others as well).

<comment><USER11> To the extent that people want earthquake/tsunami insurance, building codes could just as well be administered by insurance companies. (A structure that doesn't meet the insurance company's code would be more expensive to insure.) Also, insurance companies, because they have an incentive to mitigate their risk, would likely be quicker to adapt codes to new technology and information. If an idea is good, it doesn't require government, that is, people don't have to be forced to adopt good ideas.

<comment><USER12> Your trust in people's rationality and long-term thinking is rather sweet, but history disagrees. Case in point: seat belts. Proven to be life-saving devices, but people just wouldn't wear them because "how dare you suggest I am a bad driver?!?"

As for insurance companies - between people simply doing without insurance because those meddlesome insurance companies have all those ridiculous requirements and insurers making a quick buck by competing on low requirements and going bankrupt when the quake hits, you'd be asking for government regulation pretty quickly.

<comment><USER2> Municipalities would miss out on a lot of traffic ticket money if laws made people wear seatbelts; not the best example.

<comment><USER12> Actually it's a perfect example. That people still won't wear the seatbelt when they're not just running a small risk to lose their life, but additionally a not quite as small risk to pay a fine shows that people suck at dealing with risks - or maybe that they're careless and forgetful, but designing a building isn't the kind of thing where you just _forget_ an important step (ín part because it's feasible to inspect every single building for compliance, as opposed to inspecting every single auto driver and passenger).

<comment><USER2> _"designing a building isn't the kind of thing where you just forget an important step"_

Nor is having a building built much like getting into a car and "forgetting" to put on a seatbelt. If anything, I think your point makes the example less relevant.

 _"ín part because it's feasible to inspect every single building for compliance"_

Absent corruption of the inspection process. Turkey had building codes _and_ many wrecked buildings after the last major earthquake that had "passed" inspection due to money changing hands under the table.

<comment><USER12> No, it is _your_ example that is made less relevant.

<comment><USER2> The only example here is yours - I didn't bring up seatbelts.

<comment><USER12> You brought up people not wearing seatbelts despite laws, apparently implying that building codes would not be followed as well.

This point is invalidated by my observation because with seat-belt laws, the entity passing the law cannot realistically inspect compliance in every case while with building codes, it can.

Additionally, while seat-belt laws have not achieved 100% compliance, they _have_ raised rates of seat-belt use from from 11% in 1981 to 68% in 1997

<comment><USER2> _"You brought up people not wearing seatbelts despite laws, apparently implying that building codes would not be followed as well."_

I pointed out that seatbelts were a bad example for your argument. All you've done is emphasize that seatbelts _are_ a bad example that don't fit what you're trying to say about building codes.

As as per the Turkey example, one would hope you're willing to acknowledge that even with the ability to inspect every structure, such factors as corruption, poor inspectors, bad inspection practices, plain human error, etc. mean that the we _cannot_ assume universal compliance.

As important as building codes are, there are factors entirely separate from the codes themselves that determine how well they're actually followed.

" _while seat-belt laws have not achieved 100% compliance, they have raised rates of seat-belt use_ "

I'm afraid you can't firmly demonstrate that relationship; 1981-1997 was also a period of extremely heavy propagandizing to _get_ people to wear seatbelts.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> There are plenty of examples of building codes (here in the US) that are mostly union motivated and actively _discourage_ the adoption of safer buildings and new technology. It works both ways. Codes can be great, but they're also an excellent place to hide graft and selective enforcement.

</comment><comment><USER14> from what I read, it wasn't the building codes that made the difference, but the soil type

<comment><AUTHOR> Curious if you have a reference for that?

<comment><USER15> Here it goes: <http://wpparty.com/tag/lucky-this-time/>

Not only the soil was different but the depth and location of the epicenter were not comparable:

"Saturday's quake was centered offshore an estimated 21 miles (34 kilometers) underground in a relatively unpopulated area while Haiti's tectonic mayhem struck closer to the surface — about 8 miles (13 kilometers) — and right on the edge of Port-au-Prince, factors that increased its destructiveness.

In terms of energy released at the epicenter, the Chilean quake was 501 times stronger. But energy dissipates rather quickly as distances grow from epicenters — and the ground beneath Port-au-Prince is less stable by comparison and "shakes like jelly," says University of Miami geologist Tim Dixon.

Survivors of Haiti's quake described abject panic — much of it well-founded as buildings imploded around them. Many Haitians grabbed cement pillars only to watch them crumble in their hands."</comment></comment></comment>


28 Entrepreneurs give the advice they wish they had starting off - <AUTHOR> http://www.robswebtips.com/28-entrepreneurs-give-their-best-advice-to-entrepreneurs/ <comment><USER2> Does anyone know of an effect _DHTML_ pop-over-content blocker. It would be useful on this site and others.

Didn't read the content because of the stupid pop-over.

<comment><USER3> These kind of "popups" have made me Ctrl-W trigger happy. I'm sure others do the same and make the bounce rates sky high.

Sadly, the websites that feel OK abusing their visitors this way are the same websites that don't measure bouce rates.

<comment><USER4> Majority of those links have the same kind of popup asking for an email and offering some "tips" and "how to make money".. actually only zappos looks like a legitimate business from the ones listed.

</comment></comment></comment><comment><USER5> Rampant survivor-bias.

<comment><USER6> Because getting advice from people who did not survive or created a successful startup is clearly a better idea :)

<comment><USER5> Perhaps not better, but still a good idea. If for no other reason than to see where the advice overlap. Say risk-taking: Doing a start-up is a risk in itself, so you'll never get a successful one without risks - but you'll never fail at it, either. So does that differentiate the successful from the failures? No. Yet still, it's often featured as a property of the successful.</comment></comment></comment>


Change your color temperature to fix your sleep patterns - <AUTHOR> http://www.stereopsis.com/flux/

<comment><USER2> I tried out f.lux a while ago. The problem is, a 'warm' screen really doesn't look very nice, and after a few late nite coding sessions I disabled it. I've found it much more effective to just turn the brightness down at night.

For the iPhone and iPad, it seems like when you turn the brightness down past a certain point it stops being an attention grabbing shiny object, and just turns into another, boring thing. Weird I know, but try it.

<comment><USER3> Hm, is there something like this for the iPhone?

That would be pretty cool. I find it pretty annoying to adjust the brightness constantly on my iPhone.

<comment><USER4> Settings > General >Accessibility > Triple-click Home = White/Black

See "White On Black" @ <http://www.apple.com/accessibility/iphone/vision.html>

SMS looks great when at the movies this way or reading in bed.

<comment><USER5> Sadly, it also has the side effect of making the dash and a lot of random apps about 10x brighter.

</comment></comment></comment></comment><comment><USER6> Bonus tip for users on Mac OS X: try pressing ctrl+option+command+8. I find that really handy if I'm using my laptop when it's dark and I hit a webpage that's blindingly white.

<comment><USER7> Oh man I forgot about this! Baddest-Assed. Feature. Ever. I just did it on my girlfriend's machine while she was out of the room. Don't worry, I'll _probably_ revert it for her soon enough.

</comment></comment><comment><USER7> So I tried flux for about three weeks and it didn't really seem to affect me. Reading/working by candle at night actually helped me more, though still not a lot.

I'm experimenting with one of these right now:

[http://www.amazon.com/Philips-goLITE-BLU-Therapy- Device/dp/B...](http://www.amazon.com/Philips-goLITE-BLU-Therapy- Device/dp/B001I45XL8)

I use it while I read in the morning. The idea is to go for lots of blue exposure in the mornings rather than amber at night as a way to shift my circadian rhythm. I may report on its efficacy once I've had enough time with it (if I ever get around to building a new site). My sleep patterns aren't as bad as a lot of people who use a screen excessively, but I'm working toward shifting my wake up time to _very_ early.

</comment><comment><USER8> Very cool - giving it a try. I just wish it worked on the street lamp outside my window.

From what I understand, color temperature can have a huge effect on your health. When I worked at an architecture firm, I attended several lectures by our lighting designer, who explained that some studies linked being exposed to the wrong color temperatures at the wrong times (like if your city's street lamps are daylight) to a variety of health problems, including cancer. Sorry, couldn't find a reference for this; but here is a study related to color temperature's effects on the circadian system: <http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1779263/>

</comment><comment><AUTHOR> I just discovered this and can't believe no-one has posted the URL for this before.

The warm color temperature really helps me control my sleep cycle, which can be pretty bizarre with the amount of time I spend staring at my monitor.

<comment><USER9> you can repost urls after a few weeks.

<http://searchyc.com/f.lux>

</comment></comment><comment><USER10> I've been using f.lux for months. Not sure if its affected my sleep cycle but it does reduce glare to eyes. I already keep the brightness at the dimmest (osx), so i can't reduce it further at night. why is everyone putting a dot after the f ?

<comment><USER11> It looks like they are following the author's lead. I imagine they are trying to highlight the wordplay in the application's name. Where the light (lux) levels that your monitor gives off changes over time or is "in flux". It also makes SEO easier for a common word like flux.

</comment></comment><comment><USER12> Red Shift is an alternative for those working on Ubuntu. I couldn't get f.lux to work properly and Red Shift mimics the job without a hitch.

<http://jonls.dk/redshift/>

</comment><comment><USER13> Some really good discussion about f.lux on this other HN post: <http://news.ycombinator.com/item?id=1832339>

</comment><comment><USER14> I'm using f.lux right now. I'm pretty sure I first heard of it on HN, not sure why the URL hasn't been posted before though.

</comment><comment><USER15> I've been using this for weeks. It's 5:30 am.

</comment><comment><USER16> This is quite nice.</comment>


The Miserable State of Intellectual Property Clauses in Developer Contracts - <AUTHOR> https://www.exratione.com/2011/11/the-miserable-state-of-intellectual-property-clauses-in-developer-contracts/ <comment><USER2> I want to go to my HR/Legal departament and demand they change clauze 13 in my contract (the part about copyright/IP) to say XX instead (this is an UK contract). What exactly would XX say so it's legaly unambiguous that I keep copyright/IP for all I do outside of work and they keep everything I do during/related to/competing with work?

And I mean it, how EXACTLY have you changed your employment contract to reflect this. I've asked about this before but not received a straight answer so instead of giving opinions about quiting our jobs and go work in a place where this magically does not happen let's all gather here, think about it and write up a convincing clause, then go with it to our employers and demand we have contracts changed, or when negotiating a new job offer. It's easier to give them a piece of text they can review and copy/paste than a vague request of "I want rights", and letting them figure it out for you.

So, if you have a concrete example you have used successfully, please post it below, together with the country. I'm interested in UK specific clauses mainly but write about any country really.

<comment><USER2> Here is what my contract (UK employment) currently states:

      13. Intellectual Property Rights

      13.1. During your employment, you will promptly disclose and deliver to us for our exclusive use and benefit or the use and benefit of any other Group Company full details of any Inventions upon the making, devising or discovering of the same (whether alone or with any other person, irrespective of whether they were so made, devised, or disclosed during normal working hours or using the facilities of any Group Company). You will irrespective of the termination of your Employment, give all information and data in your possession as to the exact mode of working, producing and using the same and will also, at our expense, give all such explanations, demonstrations and instructions to us as the Board might deem appropriate to enable the full and effectual working, production or use of the same. You will treat all Inventions as Confidential Information of $COMPANY and/or any Group Company.

      13.2. You will, without additional payment to you (except to the extent provided by Section 40, Patents Act 1977 or any similar provision of applicable law), whether or not during the continuance of your Employment, at our request, at our expense and to the extent that such Intellectual Property Rights fail to vest automatically in $COMPANY, promptly execute and do all acts, documents and things necessary to vest the title in all Intellectual Property Rights in $COMPANY or our nominee absolutely and/or to enable us or our nominee to apply for and obtain any or all applicable Intellectual Property Rights, in each case in any or all countries relating to any of all Inventions or other materials produced by you during your Employment.

      13.3. You acknowledge that, because of the nature of your duties and the particular of your responsibilities arising from the nature of your duties, you have, and shall have at all times while you are employed by us, a special obligation to further the interests of $COMPANY.

      13.4. You:

      13.4 (a) shall hold each Invention on trust for $COMPANY and/or any Group Company until all rights to such Invention have been fully and absolutely vested in $COMPANY in accordance with the remaining provision of this clause 13;

      13.4 (b) hereby assign with full title guarantee by way of present and future assignment all copyright, design rights and all other Intellectual Property Rights, title and interest in each Invention (if any) for their full terms throughout the world;

      13.4 (c) hereby assign to us by way of future assignment with full title guarantee (insofar as title to them does not automatically vest in $COMPANY as a consequence of your Employment subject to clauses 39-43 of the Patents Act 1977) all copyright arising in any original material (including source code and object code for software) and all other Intellectual Property Rights produced by you in the course of your Employment, whether during our normal hours of business or otherwise, or at the premises or using our facilities or otherwise, for the whole term of such copyright including any extensions or renewals thereof and including the right to sue for damages and other remedies for any infringements of the copyrights; and

      13.4 (d) irrevocably and unconditionally waive all moral rights conferred on you by Chapter IV, Part I, Copyright Designs and Patents Act 1988 and any other moral rights provided for under the laws now or in future in force in any part of the world arising from any such original material so far as you may lawfully do so in our favour and for the avoidance of doubt this waiver shall extend to the license and successors in title to the copyright in the said material.

      13.5. You hereby irrevocably appoint us as your attorney to do all such things and execute all such documents as we may require to ensure that we have the full benefit of this clause 13.

      13.6. You will do nothing, whether by act of omission and both during and after your Employment, to affect or imperil the validity of any Intellectual Property Rights obtained, applied for or to be applied for by us or our nominee. In particular, you shall not disclose the subject matter of any Inventions which may be patentable to any third party before we have had the opportunity to apply for any patent or patents for that Invention. You will, at our discretion and expense, promptly render all assistance within your power to obtain and maintain such Intellectual Property Rights or any application for any extension of them.

      13.7. Nothing in this Agreement obliges any Group Company to seek patent or other protection for any Invention or to exploit any invention.

Below I'll reply my suggestions...

<comment><USER3> I am not a lawyer ... but is that clause even enforceable under UK law?

I did my normal 2 minute Google search and found pages which suggests IP falls to the employer if created by the employee "as part of their normal duties"[1][2].

Also, I found one site[3] which has this explicit Q&A:

Q. So how do I know if a contractual provision is enforceable?

A. I've got three words for you – restraint of trade. Contractual terms that are in restraint of trade are not enforceable at all. For your employees' contracts that means not drafting any IP clause too wide to ensure that your back is covered. Too wide and the clause will have no effect.

[1] [https://www.shoosmiths.co.uk/insights/articles/who-owns- what...](https://www.shoosmiths.co.uk/insights/articles/who-owns-what-when-it- comes-to-intellectual-property-12423)

[2] [https://www.barkerbrettell.co.uk/protect-your- invention/](https://www.barkerbrettell.co.uk/protect-your-invention/)

[3] [https://www.saplaw.co.uk/uk-legal-services/tax-private- clien...](https://www.saplaw.co.uk/uk-legal-services/tax-private-client- lawyers/tax-private-client-articles/148-whose-intellectual-property-right-is- it-anyway)

<comment><USER2> I am alos, neither a lawyer, nor a UK citizen yet, but I work in the UK, as a temporary resident. There are a lot of details that I don't know about how employment works but I am slowly learning them.

One thing that is true regardless of whether they are enforcible or not, is that these clauses are present on my employment contract, and I have signed that contract. If they are not enforcible then why are they even there, I should get them removed, but I can't just go to them and blindly ask them to remove something like this, reason why I've asked the question above.

Given the current state of my clauses, what changes could/would you do to them to remove the unenforceable parts and clarify in written and signed contract, once and for all, without any doubt remaining, that code written outside of work is my own property?

By the way, I appreciate your linked references, thank you for sharing those with me.

<comment><USER3> For situations like these, you really need to talk to a solicitor who deals with employment and contract work. There may be online legal-focussed forums you can reach out to? There's also the Citizens Advice Bureau who may be able to offer more general advice - [https://www.citizensadvice.org.uk/work/rights- at-work/basic-...](https://www.citizensadvice.org.uk/work/rights-at- work/basic-rights-and-contracts/contracts-of-employment/)

<comment><USER2> I will do that, but beforehand, I want to do some research, this thread being part of that.

Also, I am sure I'm not the only person in the world that has struggled with this, that's why I asked for concrete examples of employment contracts that were written or changed to address this. Surely somebody has managed to get a decent clause drafted.</comment></comment></comment></comment></comment></comment>


Ask HN: Realistic hiring requirements? - <AUTHOR> I came across a job posting from a YC startup looking for a "hybrid software engineer" that requires the ability to write high quality application code and and also requires extensive devops-associated knowledge.<p>How does one acquire both the breadth and depth of knowledge for a combined role such as this, stay current with all of the relevant technologies, and still get their work done in the typical work week? Is this realistic? <comment><USER2> Is it realistic? Yes and no.

"Jack of all trades, master of none" : [https://en.wikipedia.org/wiki/Jack_of_all_trades,_master_of_...](https://en.wikipedia.org/wiki/Jack_of_all_trades,_master_of_none)

These people DO exist! As an organization grows, sometimes they end up being a "bad fit" and get pushed out or leave (for good or for bad).

I think that the way we compensate engineers with equity is poor reflection of how businesses grow, and what they need to do to function.

I know a lot of early and mid stage players who, by their nature provide value that is outsized for their direct compensation, but have a limited shelf life. The options game is rigged against this sort of specialization.</comment>


Remote Virtual Table Protocol - <AUTHOR> I invented a remote virtual table protocol (and an implementation of a client as a SQLite extension), and I think, can be use for many kind of remote data, such as weather, movie times, and many other kind of stuff. You can then make backups, incremental updates, joined queries (even with local data and with other remote sources), etc. For many purpose, can be better than webpage, I think. Unfortunately it does not implement the secure connection yet (although you could use a proxy, or tcpcrypt if your operating system supports that). UNIX domain sockets and internet (version 4 and 6) can be used. <comment><USER2> You did what? Can you show an example? Webpage perhaps?

<comment><AUTHOR> There is no webpage, but the client and protocol documentation is included in the ZIP file at: [http://zzo38computer.org/sql/sqlext.zip](http://zzo38computer.org/sql/sqlext.zip) (sqlext_remote.c is the client implementation, and sqlext_remote.doc is client documentation and protocol documentation (it is a plain text file))

Currently there is no server (other than an internal testing program), although you are free to make some if you want to do so.

<comment><USER2> How does this compare to just using Postgres?

Is this a networked version of sqlite?

<comment><AUTHOR> No. The remote data can use any kind of SQL database (SQLite or otherwise), or does not need to use SQL at all (and even if it does use SQL, the view does not necessarily have to resemble at all the actual schema that the server uses to store the data). It does not even have to be stored data; it can generate the data on demand if needed. It is not direct database access! You have public access to the data, as the server implements it.

A few examples may be possible to specify. I mentioned above movie showtimes and weather; even if they come from different services, you can make a joined query on the client side, such as to find all movies playing within ten miles in places that are not raining, or whatever. Another use is you might hvae some set ofdata that occasionally gets updated (e.g. Magic: the Gathering cards Oracle texts), and you might make a local backup with incremental updates (which will be efficient if there is a last updated column, and the server can use such a constraint in the WHERE clause (if the server doesn't support the constraint, the client will interpret it and download all data and filter it), so that you need not download the data that you already have). Another example is remote databases that many people can help to add the data to (it can be writable too and need not be read only).

It isn't another version of SQLite; you can still use it with the ordinary SQLite (or implement the protocol even outside of SQLite; this protocol does not use any SQL codes, so it does not need to be used only with SQL, although it is designed mainly for use with SQL).</comment></comment></comment></comment>


Euro DjangoCon: May 4-6 in Prague - <AUTHOR> http://euro.djangocon.org/

<comment><USER2> Definitely comming. Who else from HN is going to be there?</comment>


Geographically isolated bugs - <AUTHOR> http://www.rapapaing.com/blog/?p=52 <comment><USER2> "What can you do to avoid this problem? Use UTF-8. Always."

I disagree. I think that the solution to the problem is using English comments. This has many reasons, it blends better into the programming code that usually has English keywords, variable names are usually in English and ASCII only (no, JavaScript, you're special, as always) and the most important reason, it allows the most people on this planet to understand it (okay, there's also Chinese but it's pretty much limited to a country). I worked on a Korean piece of code. All the variable names were in English but the comments were in Korean. Why, just why? Talk about unnecessary complexity, at the end of the day you need to understand two languages in addition to the programming language. That just means I literally don't understand any comments. (And I'm not saying that because I'm lazy and don't want to learn languages; English isn't my native language)

<comment><USER3> > the most important reason, it allows the most people on this planet to > understand it

But I'm usually not writing code for most people on the planet. I'm usually writing it for work, or myself.

> I worked on a Korean piece of code. All the variable names were in English > but the comments were in Korean. Why, just why?

Because the writers were probably not fluent in English! The purpose of a comment is to explain something; if you cannot explain it fluently, then the comment is useless.

I speak a tiny bit of Spanish, but if history had turned out differently only in that Spanish was the language 99% of programming was based on, I would _still not leave comments in Spanish_ , because they would be nearly incomprehensible to everyone, including myself.

> at the end of the day you need to understand two languages in addition to > the programming language.

At the end of the day, _someone_ needs to learn two languages; you're saying that it should never be _you_ , but someone writing some code you happened to run across.

<comment><USER4> > _The purpose of a comment is to explain something; if you cannot explain it > fluently, then the comment is useless._

Exactly. If a piece of code needs a comment in the first place, it means that there's something subtle about the task that cannot be fullly conveyed using code alone. But that's exactly the kind of thing that people have trouble expressing clearly in a non-native language.

I would much prefer a clearly written comment in another language that I can ask a colleague to translate for me, than a misleading comment in English.

</comment></comment></comment><comment><USER5> [http://www.defenseindustrydaily.com/f22-squadron-shot- down-b...](http://www.defenseindustrydaily.com/f22-squadron-shot-down-by-the- international-date-line-03087/)

More of a locale bug :)

</comment><comment><USER6> Seems like a bug for the compiler to treat a single-line comment as multiline; definitely not expected behavior.

<comment><USER7> It's not a compiler bug, it's unfortunately what the C standard requires. That being said, every compiler I know of will issue a warning for this construct.</comment></comment>


XMac Mini Server – Turn a Mac Mini into a Workstation - <AUTHOR> https://www.sonnettech.com/product/xmacminiservertb3.html <comment><USER2> Makes sense - it's the only rack-friendly Mac there is right now and those USB-C connectors on the back provide some ridiculous amount of expandability.

OTOH, it's a shame to do it to such a beautiful machine.</comment>


Will the New Ethanol Blend Tank My Ride? - <AUTHOR> http://www.motherjones.com/environment/2012/12/will-e15-tank-my-ride <comment><USER17> Consumer reports found that E15 causes a drop in fuel economy that's more than 15% [1], meaning you're burning ethanol with your gas for no apparent gain and to the detriment of the environment in the form of increased emissions.

Ironically, on top of it all you're actually increasing your dependence on fossil fuels since since e15 requires more fossil fuel to get you the same distance as e0.

Can someone explain the argument for ethanol-based fuels?

1\. [http://www.consumerreports.org/cro/2011/01/the-great- ethanol...](http://www.consumerreports.org/cro/2011/01/the-great-ethanol- debate/index.htm)

<comment><USER18> I'm not sure where you're getting the fuel economy drop from that link - <USER2> deals with E10 vs E85, where there's about a 30% drop (significant, but far less than the change in gasoline volume).

<comment><USER19> I'm curious to see how things change when you use an engine designed _specifically_ for E85. I'm told ethanol behaves a lot like high-octane gasoline, which means an engine built for ethanol could have greatly increase compression, which can improve economy. Alternatively, you can run much higher boost, which I _believe_ can directly improve efficiency, or can simply be combined with a very small engine.

</comment></comment></comment><comment> tim-locke Ethanol separates from gasoline in about a month. If the gas sat at the gas station for a few weeks before you bought it, it can separate before you use it up.

Ethanol will eventually damage the rubber and other components of your non- ethanol-safe fuel system. These components can be replaced with ethanol safe ones.

Small engines in lawn mowers, snow blowers, chainsaws, etc. seem to be more susceptible to damage from gasoline with ethanol in it.

In some places, the high octane gasoline does not have ethanol in it but some cars do not run as well on high octane gas because the gasoline does not ignite at the most efficient time for the engine. Where I live, high octane gasoline has no ethanol, and mid grade gasoline has half as much ethanol as regular grade does. Apparently our mid-grade is a 50/50 mix of regular and high-grade. I don't know if that makes sense, but that is what I've been told by 4-5 different people.

My car does not get as good mileage out of E10 gasoline. I experimented with using high octane gasoline and found that, even though high octane costs more, the extra miles per gallon I got was worth the extra cost. This will likely not be the case in cars that do not run well on high octane gasoline.

In my area, we do have a few gas stations that sell ethanol-free gasoline.

<comment><USER20> > In some places, the high octane gasoline does not have ethanol in it but > some cars do not run as well on high octane gas because the gasoline does > not ignite at the most efficient time for the engine.

I don't believe this is the case. Gasoline engines with higher compression need the higher octane fuel because it won't ignite at the temperature and pressure in the cylinder prior to the spark plug firing. Once the plug fires, the temperature and pressure are right for gasoline of any octane level within reason to combust.

There's no downside to running high-octane racing gasoline through a low- compression engine like the Atkinson-cycle engine in the Prius, but no benefit either. Other engines, like the 5.0 V8 in the Mustang GT, have different performance ratings for different grades of fuel. Still other engines, like the 2.0T I4 in the Volkswagen GTI, require high octane fuels for the extra compression they run.

<comment><USER21> If the engine has adaptive ignition (retards spark in response to pinging/detonation) then using lower octane fuel in a higher-compression engine may not result in engine damage - just less power.

OTOH, using higher octane than the manual / engine specs call for is just a waste of money for no extra power - but is not damaging to the engine.

One of the less-noticed issues with ethanol as a fuel is that it contains/provides ~33% less energy than gasoline[1] - so saving n% per gallon at the pump may cost you n% in mileage down the road. [1] [http://www.eia.gov/tools/faqs/faq.cfm?id=27&t=4](http://www.eia.gov/tools/faqs/faq.cfm?id=27&t=4)

More stops for gas might benefit fuel vendors by providing them more opportunities to sell you higher-profit impulse or convenience purchases over the counter.

<comment><USER22> It's not as bad as damage from pinging, but fuel lines may still end up perishing - I have never seen this but have read of it

</comment></comment></comment></comment><comment><USER23> Are there any engineers here with actual firsthand knowledge? Or are we just going through the usual repetitions of viral online propaganda?

The "energy to mass ratio" is a straw man. It's a wholly meaningless and propagandist-type figure that people like to repeat. What we really ought to do is load cars with plutonium so their energy to mass ratio is just absolutely stellar, right? I've been running E85 in my 2006 Subaru -- a setup I designed specifically to work at compression and intake temperatures only ethanol is capable of dealing with. If my car ran gasoline in these conditions it would quickly explode.

If the problem with ethanol is economics, let's discuss that. When people mince economics and engineering this way it reminds me of christian scientists or something mincing god and empirical facts. It's just offensive.

<comment><USER24> _I've been running E85 in my 2006 Subaru -- a setup I designed specifically to work at compression and intake temperatures only ethanol is capable of dealing with. If my car ran gasoline in these conditions it would quickly explode._

And this tidbit of knowledge is useful to the rest of us how?

</comment></comment><comment><USER25> Where can I get E0? Ethanol in gas means I am burning food and tax dollars.

<comment><USER22> Using E0 hasn't been cheap for America. The low pump prices paid have made for a car market where small and efficient is less popular than elsewhere on earth, and the prices paid for middle eastern stability (which hasn't been very successful) has been footed by huge (mainly US) military expenditure.

<comment><USER26> Small and efficient are popular elsewhere because US gas taxes are hugely lower than the rest of the world (other than producer countries that have huge subsidies, like Saudi and Venezuela). US taxes average 49c a gallon vs UK $4 <https://en.wikipedia.org/wiki/Fuel_tax> and thats what makes the difference.

<comment><USER22> Yes. And much of the rest of the world perceives (rightly or wrongly) that the Middle East is that mess that it is in part because of the US need to maintain their low prices by guaranteeing supply through military aid and maintenance of some terrible governments.

</comment></comment></comment></comment><comment><USER27> I'm a motorcycle enthusiast, and I remember this getting some attention in the motorcycle industry.

Ducati is involved in a lawsuit because the plastic that they use for the gas tank, some believe that the ethanol that is being mixed in eats away at the material.

[http://www.ducatinewstoday.com/2010/11/ducati-sued-over- faul...](http://www.ducatinewstoday.com/2010/11/ducati-sued-over-faulty-gas- tanks/)

It's ended up mobilizing some motorcycle enthusiasts, with some advocacy groups submitting a petition to the EPA.

[http://www.clutchandchrome.com/news/news/ethanol-too-much- fo...](http://www.clutchandchrome.com/news/news/ethanol-too-much-for- motorcycles)

The AMA (American Motorcycle Association) has come out against proposed ethanol standards:

>"The AMA supports the use of cleaner-burning fuels, but we are concerned that gasoline containing more than 10 percent ethanol could result in premature engine damage or failure while a motorcycle is being ridden," Imre Szauter, AMA government affairs manager said last year, "We're also concerned about any degradation in performance, fuel economy and rideability that may result from the long-term use of blended fuels with greater than 10 percent ethanol."

</comment><comment><USER28> One thing not mentioned so far is the use of high pressure fuel pumps for common-rail injection petrol engines. This used to be something you only found on diesels. The lubricity of diesel fuel is a factor in the design and longevity of the high pressure (~1000s PSI) pump.

Some models (eg. E90 BMW 335i) suffered from early high pressure fuel pump (HPFP) failures in the US. It would be interesting to find out if there's any hard data on this (I imagine it'll be closely guarded by the manufacturers) but I'd suspect ethanol in the fuel as a factor - ethanol is even less of a lubricant than petrol and the HPFP may well suffer additional friction as a result.

</comment><comment><USER29> While this is n executive decision, the EPA is still subject to legislative influence by those that hold the power of the purse. There are currently 18 members of the U.S. Senate Committee on the Environment and Public Works.

Barbara Boxer - <USER3>

Max Baucus - <USER4>

Tom Carper - <USER5>

Frank Lautenberg - New Jersey

Ben Cardin - <USER6>

Bernie Sanders - <USER7>

Sheldon Whitehouse - Rhode Island

Tom Udall - New Mexico

Jeff Merkley - <USER8>

Kirsten Gillibrand - New York

James Inhofe - <USER9>

David Vitter - <USER10>

John Barrasso - <USER11>

Jeff Sessions - <USER12>

Mike Crapo - <USER13>

Lamar Alexander - <USER14>

Mike Johanns - <USER15>

John Boozman - <USER16>

According to [http://epw.senate.gov/public/index.cfm?FuseAction=Members.Ho...](http://epw.senate.gov/public/index.cfm?FuseAction=Members.Home&CFID=12986075&CFTOKEN=12020127)

</comment><comment><USER30> Ethanol also reduced MPG.

So to compares prices per gallon you need to derate the E15 (and the E10).

Does anyone have the numbers? Like 1 gallon of E10 is equal to .9 gallon of E0, etc?

<comment><USER31> "Vehicles will typically go 3–4% fewer miles per gallon on E10 than on straight gasoline."

Source: <http://www.fueleconomy.gov/feg/ethanol.shtml>

</comment></comment><comment><USER32> To save the environment, we need to use fuel that destroys cars prematurely. Makes sense.

<comment><USER33> If it got cars off the road without replacing them, it _would_ make sense. Unfortunately this isn't the case, because it's now a matter of federal interest to save the auto industry.</comment></comment>


Catalina and the death of macOS for the non-power user - <AUTHOR> https://jaredwatts.info/articles/catalina-average-user.html <comment><USER2> I have two sets of equipment one around nvidia and one the latest.

Unlike his, my newly acquired MacBook Pro and macbook (new old stock acquired to reduce weight) plus my 3 iPhones and 3 iPads work fine in the new system. Happy.

Unhappily is my other half. Some is expected like my two 2010 Mac Pro but two old MacBook Pro all in high Sierra using egpu. Seriously thinking about windows for my AI side endeavour.</comment>


Needed: German translation services - <AUTHOR>

Hi, I need to get a website translated from English to German. Can anyone here do this or has anyone used a translation firm they recommend? <comment><USER2> How big is the website? I speak conversational German (albeit a couple years out of practice), but wouldn't have time to do this if it's more than a couple pages.

If you want a really good dictionary that translates words in context (and also includes common phrases and sentences), use <http://leo.org>.

</comment><comment><USER3> <http://babelfish.altavista.com> will get you started.

<comment><USER4> Babelfish is good to translate usual words. But it is poor to translate sentences.

</comment></comment><comment><USER5> I could do this, being a native German. Price depends on how interesting your site is ;) Drop me a line.

<comment><AUTHOR> Hey.. this site has a "feature" where you email doesn't show up to the public when you enter it in the email box. You need to enter it again in your about me or in a reply.

Thanks for the offer, I think I found someone to do the translation though.</comment></comment>


Microsoft ASP.net or Ruby on Rails? - <AUTHOR>

How do ASP.net and Ruby on Rails compare? I couldn't find a technical comparison online and found only "microsoft sucks" answers elsewhere. I would like to understand the technical differences. I'm considering them for a social network project. <comment><USER2> I am a big fan of both RoR & ASP.NET (Although I only get paid to do ASP.NET :( ) and i've found are both awsome at doing very different things.

If you want a basic data driven application which isn't going to have a significant load, then I would go with RoR. I have personally found that when ever you go beyond that use case, you will very quickly find the limitations of the framework (e.g. you can't start a sepeartate thread in an action). Yes there are workarounds to these problems, but they are all rather experiemental and a bit hacky.

For all the thats bad about microsoft, the fact that they are making ASP.NET for profit means they are designing it for large companies which have very complex problems to solve. This means that ASP.NET is designed to be highly scalable and efficent.

What I would say is avoid WebForms at all costs, it is a horrible framework designed for desktop app dev's (using WinForms) to quickly get to grips with web development. Unfortunatly to get WebForms to act like a WinForms app requires a lot of horrible things (i'm pretty sure that satan invented ViewState). Also, as xenoterracide mentioned it will run best on Windows Server meaning you will probably have to go down the microsoft route and spend crap loads of money.

A better option would be to look at Castle Project (<http://www.castleproject.org/>) they have basically developed a port of Rails for C#. It has all the core concepts of Rails, works brilliantly on MonoRail and uses NHibernate at the core of it's ORM and so can you use whatever DB you like.

I think in the end, you shouldn't be looking at the language and saying this ones got more hype I should use that one. I would say look at the actual problem you are trying to solve, what are the requirements? Do you need something out in a couple of days which just does adds a few records to the DB? go with RoR. Are you making a massive data mining app which is gonna be run by 50k people? Go with ASP.NET (or MonoRail)!

<comment><USER3> Skip Castle, it pulls along a lot of baggage with it and its not for beginners. ASP.NET MVC with LINQ + NHib is my pick as most productive .NET web stack right now. I think there's enough literature out there to get you started on MVC, NHib will increase your learning curve a bit, but it should be a good second stage.

You can build anything with anything. It's mainly about what personally works for you and what kinds of skills you want to end up with on the other side.

Good luck.

</comment></comment><comment><USER4> ASP.net would be my second-choice to ruby on rails. It's a close call. If Castle's ActiveRecord was better when I tried it, I would have probably never delved into rails ages ago. I'm glad I did though.

In favor of Rails:

-There are pre-existing FOSS social network apps in rails you can modify.

-You have infinite scalability where your only multiplier is hosting cost b/c there are no windows licenses, so no obstacles to moving into the cloud, virtualizing, setting up a friend

-With rails, you are mostly saved from SQL. Castle's activerecord might do this on .net, but was lousy when I tried it a while ago. Might be better now.

-It is easy to be coddled by ASP.NET and not understand the parts underneath, which works well until the abstraction leaks (viewstate, page layout, etc).

That said, asp.net is not a bad option, and would be my second choice over the java frameworks I've tried, or php. .NET has a nice IDE and better tooling than Rails.

<comment><USER5> I don't understand why this post was downvoted. It seems rational and inoffensive. The main post asked for opinions and he gave his- what's wrong with that?

<comment><USER6> I think we have some idiots in our midst that will downvote simply because they don't agree. It's sad.

<comment><USER4> When I posted this, I noticed several posts in this thread that were at 0 that I thought were good, so I voted them up. Some people come here to discuss tools, some people come here to _be_ tools.

</comment></comment></comment></comment><comment><USER7> I am a hardcore huge big time C# fan. That said, I hate ASP.net with a passion. Two key reasons:

1) It tries to simulate WinForms. It's just the wrong paradigm for the web.

2) As much as I love C#, I feel that strongly typed languages are less than ideal for web development. Web development is inherently a dynamic environment. Javascript is dynamic, HTML content is dynamic, etc. etc. It is just easier and faster to build dynamic applications and test with page reloads than a typical compile & run loop.

<comment><USER8> You don't hate ASP.NET, you seem to hate WebForms and for very good reasons. You don't have to use WebForms though, there are other toolkits available. In fact, I built a neat desktop application using ASP.NET stack once - you can embed it into any .NET process to neatly handle HTTP requests.

One huge advantage of ASP.NET is that it is crazy fast. After a while it generates native-code assemblies and you're basically looking at C/C++ speed when handling requests.

You can get yourself one of those newer (and cheap) dual-CPU quad-core servers with 8GB of RAM and this machine will handle some serious load (enough for most applications). This will allow you not to mess with distributed stuff and keep your stuff in RAM in between requests. Such setup will be an equivalent of a farm of RoR machines with MUCH smaller load on DB layer.

Of course, it doesn't apply to high-traffic projects like Twitter/Facebook, etc.

<comment><USER7> Ive also tried the MVC framework. It is a huge improvement over WebForms as it neatly addresses complaint #1, but it completely fails to address complaint #2. It is also beta software under heavy development and rapid change.

That said, Linq to Sql ROCKS MY WORLD. Maybe a more mature MVC framework and better Visual Studio support will join forces with Linq to swing me back to ASP.NET

I'm confused about the "crazy fast" comment. I'm a big believer in C#'s great performance, but ASP.net is super slow for me on every machine I have ever tried. Hell, every Microsoft site I can think of feels slow on round trips. Something is very very wrong...

</comment></comment></comment><comment><USER9> Three things:

1\. Look at the MVC framework for ASP.NET 3.5 as it makes ASP.NET act more like Rails

2\. If you're going to use ASP.NET, use 3.5 so you can use LINQ and all the new 3.5 features. It makes your life WAY easier.

3\. There is no real scaffolding for ASP.NET like there is in RoR. Well there is a kind of like it thing that was put out ([http://www.hanselman.com/blog/PuttingASPNETDynamicDataIntoCo...](http://www.hanselman.com/blog/PuttingASPNETDynamicDataIntoContext.aspx)).

Now, here's my take... if you learn ASP.NET/C# you will have marketable skills in most non silicon valley markets that you can use as a consultant or employee as need be. There are significantly less corporate jobs that are RoR than there are C#/ASP.NET.

Also make sure you look at Python/Django (which is normally what is argued with RoR).

<comment><USER10> Good point in the second to last paragraph. Do you want a corporate job? If so, consider .NET or Java. Do you want a freelance/startup/independent job? You may find the Ruby (or Python etc.) community more supportive. There are exceptions to each - there are .NET startups, and Ruby is making inroads at lots of big corporations - but your career will likely have a different flavor depending on what you choose.

<comment><USER11> If you can write in C#, you can write in Ruby --- Ruby is a less complicated language. There are startups that won't hire you unless you have "3 years of Ruby experience" on your resume, but you wouldn't want to work for them.

We looked for Ruby devs, quickly gave up, and wound up hiring a Lisp hacker. Our runner-up was a sharp C# hacker.

<comment><USER9> programming is more than syntax

There is a huge amount to programming .net that has nothing to do with the {}'s of C# and all to do with the .net framework (which won't translate to Ruby at all).

That said, a good/sharp programmer is more than a monkey slinging code so they should be able to work well in any language.

<comment><USER11> I think the mentality that programming has more to do with knowing your framework's features than it does with --- you know, how to program and stuff? That's part of what pisses people off about Rails devs.

The reality is, learning framework features is no different than learning how to mail-merge with your word processor. Sure, it's important. But it has _nothing to do_ with whether someone's going to do a good job coding for you, 2 months in.

</comment></comment></comment></comment></comment><comment><USER12> I find that Microsoft tools in general offer a compelling package when you start out - great IDE, good docs and purportedly good support (I never use customer support myself, so can't comment on that from a personal experience). The problems begin when you want to move a step further - explore the code or hack stuff.

Also, you're stuck with their platform for everything. The advantage in using an open package is that you can mix and match. If you're willing to do some research and work, you can find the tools that best match your specific requirements and hack together your dream application.

In the end it really depends on your temperament as a developer. If you prefer easy gains initially and can live with the limitations down the road, plus you don't really care how it all works under the hood and rather just have something that works OK in the end, then I guess MS should be your choice.

The reason that you find mainly "microsoft sucks" answers in hacker forums, is that hackers love the freedoms that being locked in to the MS platform takes away.

</comment><comment><USER13> You're likely to find that this group is 90% against ASP.NET - at least, in the past, most .NET-related posts don't end well or contain too much positive info. Not to mention you're question seeks out a pretty specific person/group: those who have tried both in difficult situations.

There are other things to consider than just the language. I live in Dallas, Texas and Dallas has wonderful colleges but none of them are really tech- focused. As such, we tend to have no MSFT-trained developers coming out of the tech schools. So, what that means is that Dallas has a very good group of open source developers vs. a smaller group of .NET developers (at least that's been my experience in trying to hire). So, does your area have more of one type of developer? That might influence you as well. If your startup succeeds, you'll need more folks to help and it's easier to hire locally than for a startup to afford a relocation package.

<comment><USER9> Wow, I live in Dallas and the .NET community is very large here (have you attended any of the .NET user group meetings?)

Honestly I find the OSS community to be very weak here since most developers are corporate type and they know either Java or C# or VB.NET. Every OSS (Python) meeting I've ever been to has been populated by back room tinkerers and people that "haven't done it" (tm) so they aren't any help to me with my real world questions and problems.

Now if you expect _any_ college to put out good developers you have the wrong expectations for what college does. They are not Devry (which you should never hire a developer from Devry). Colleges teach theory not practice (which has been beaten like a dead horse on the net).

</comment></comment><comment><USER14> Been a .NET developer since Beta 1. Spent the last 2.5 years in open source land.

ASP.NET has some good ideas, but the paradigm is completely incorrect. As another poster stated, it attempts to mimic WinForms development on the web, which is a layer of complexity that simply needn't exist.

ASP.NET MVC is a step in the right direction, but requires a crapload of plumbing and, honestly, is too little too late.

RoR ... I've only used it doing research. ActiveRecord seems like a bloated ORM with a lot of unnecessary overhead. Ruby is a kick ass language though.

Django is cool if you can look past the unfortunate choice of terminology.

You couldn't pay me enough to work on ASP.NET site at this point, on the other hand Rails has a tax that you'll have to pay some time in the future.

My only recommendation is to go the open source route. A lot of your problems have already been solved, and some of those solutions are MIA on windows. I laugh at Jeff Atwood running PHP on IIS and being steamed that there isn't anything approaching mod_rewrite for IIS 7. Vendor lock-in must really suck.

<comment><USER15> I strongly second the thought here (and in a few other comments above) that .NET fails because it tries to make web programming work like desktop programming. It doesn't.

</comment></comment><comment><USER5> I would go with Rails because there are several options out there to give you a good starting point for a social network.

Try out Insoshi (<http://portal.insoshi.com/>) and Lovd By Less (<http://lovdbyless.com/>). Work with each for about a week and see if you like the way the code works and their extensibility.

Also, I'd concentrate on only one factor, at this point- what platform gets you to launch the fastest? Unless you have significant ASP.net experience, Rails will probably get you there faster. Add in the massive amounts of Rails open source code that you can build off of, and I think the choice is clear.

Don't pay attention to people who say "Rails can't scale" but haven't actually built a large Rails app. I run a Rails app that handles >1,000,000 hits per day, and I've spent about 3 hours resolving the scaling issues that I've run into.

</comment><comment><USER16> Feel free to tell me if I'm wrong, but you have to run a windows server to run asp.net and that comes with a whole plethora of maintainance and security issues. There's also the cost factor, you know IIS, MS SQL, etc... If you want the whole M$ package. It gets expensive just to break into it, and even worse on maintainance, as you have to watch out for all those viruses and broken service packs. This is why people say Microsoft Sucks. So there is some technical merit to it.

I believe asp.net can be run on *nix via mono, and an apache mod. However, my experience with mono is that it sucks (I've never developped in it just use apps developped in it).

Other than advising against the M$ path on an administrative perspective, I can't really give you a fair comparison.

<comment><USER17> Sorry, but IIS is free (assuming you have Windows) and I'm coding .NET and MySQL as I write this. Oh, and I've never seen a server run by a proper IT admin get a virus - only people who use the server as a workstation get infected.

<comment><USER18> Windows isn't free, though, and usually adds additional costs onto your hosting.

<comment><USER19> These days not much. Additionally, Visual Studio Express is free.

Splashup.com is .NET, IIS, Windows Server 2003 and MySQL. It's never crashed unless I've borked something and it's been through a Techcrunch, Lifehacker, and Digg on the same day.

<comment><USER4> While this is true for shared hosts, if you want to install on your own machine, run test and dev servers (virtualized or no) or cloud-host your app, there is still a very real cost to windows licenses.

<comment><USER20> and sql server licenses and visual studio licenses, etc

<comment><USER3> Read up for the part where we discussed Visual Studio Express being free.

The amusing part about the free tools argument is that the cost of tools is such a non-concern in the professional world. I work for large customers on large projects and tools, whether they be Microsoft, Oracle or IBM, no one's worried about that.

Then again, you might be talking about little side projects, my frame of reference is mostly multi-million dollar systems.

<comment><USER4> Many people on HN are working for or on startups and bootstrapped projects. Implying any project concerned with the licensing cost is a _little side project_ is disingenuous.

Even at large companies, all things being equal, having no licensing costs is a competitive advantage.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I'm a an asp.net/C# programmer by day. I developed a RoR app for a client on the side. The problem was you couldn't keep the darn thing running. RoR was unstable as heck for me and was missing some features that were dead simple in asp.net. (At the time I couldn't find a good zip library, the one I found had documentation in Japanese).

If I were comparing asp.net to something I would consider django or just PHP. PHP has a heck of a deployment story. I run MANY wordpress blogs on the side and centos/mysql/apache/php is rock solid AND fast.

My 2 cents.

<comment><USER20> I've done 4 professional rails apps and many personal ones. I've never had a problem keeping them running. Did you spend any time trying to figure out why they were crashing?

<comment><USER3> My guess would be that if you've never had trouble keeping things running either they're not real complicated or you don't have a lot of users. And that statement applies to _any_ technology/platform. If you build things long and big enough, you'll fight the technology at points.

That said, even if you have a ton more professional experience than your response suggests, I don't trust people who say never glibly, nor does your question seem genuine.

You're implying the guy's a newb and it's him not the technology--just say as much.

</comment></comment></comment><comment><USER22> I moved from an msdn shop into a rails-based startup. I totally agree regarding the comments on winforms...I wrote an internal app with it and it is just not a great option.

Rails has been great so far and I have three production projects and a couple more on the way running under it. Rails is continually moving but is not perfect for all situations by any means.

I personally don't think I'd build an app using another language although I am interested in trying out some variations on rails like Merb (a more light weight web framework written in ruby) and also some of the other platform alternatives based on ruby such as jruby and ironruby (the .net implementation of ruby).

As another option I've heard it said that ironpython the .net implementation of python is a pretty good language option for .net web apps as well.

The thing that always held me back for web apps and MS is the server software...I am not a huge fan of paying licensing fees for server software when sooooo many great options are available open source.

</comment><comment><USER23> Hi,

Ruby very nice language. But I think, Rails not flexy. I dont like Rails. ASP.NET nice, easy and extendable architect but windows sucks and very expensive server cost for new start-up.

Maybe, you must use Linux + PHP + MySQL ;-)

<comment><USER19> Down-modded for English that isn't impeccable?

<comment><USER19> That was a question. Specifically in the interests of pondering why the commenter was down-modded even with the reasonable comment...

</comment></comment></comment><comment><USER24> It doesn't matter, if you are a competent programmer you can use .NET, RoR, Python, Java, PHP or anything to make it work efficiently. Tools do not make the system better, the people working on it do. There is 'magic' in both the systems that you mention but you should be aware of the underlying 'magic' and architect a solution that works best. Rarely today are programmers limited by platform. The only concern with .NET is platform lock-in but if you go with mono there is no concern.

You will find languages and platforms are like religions or brands, everyone has their favorite because it worked for them but it doesn't make them the best. Just the best for them and their conditions/constraints/knowledge.

</comment><comment><USER25> Other than the cost and the admin factors building, deploying and debugging/troubleshooting web applications in ASP.NET environment simply rocks! Not to mention the IIS sweetness and scalability models.

I have a facebook application (<http://www.facebook.com/apps/application.php?id=5595659604>) that I built using the LAMP stack, something quick and dirty . I like the LAMP stack and have nothing against RoR but be prepared to spend a lot of engineering resources in scaling these.

Case in point try debugging a web server crash in your favorite RoR web server vs ASP.NET/IIS environment.

</comment><comment><USER26> Check out these guys, nice blog with good info:

<http://www.softiesonrails.com/> (Ruby on Rails for .NET Developers)

</comment><comment><USER21> Don't forget Linq. Linq to XML is awesome. No more xpath. One of my colleagues left the RoR camp after he couldn't get xml parsing to work.

<comment><USER11> Details? In my experience, XML parsing is one of the easiest things to do in Ruby.

</comment></comment><comment><USER27> re: considering social network project i've used community engine, which is an out-of-the box RoR social network plugin

[http://missingmethod.brunobornsztein.com/projects/community_...](http://missingmethod.brunobornsztein.com/projects/community_engine/)

mature and solid (vs insoshi or lovdbyless)

</comment><comment><USER28> The tools available for .Net development are better, in my opinion. Visual Studio and IE Developer Toolbar (not the IE8 version) make debugging javascript lovely whilst the Resharper extension enhances VS' features nicely. Also give VisualSVN a try for Subversion integration.</comment>


Leadership lessons from Abraham Lincoln - <AUTHOR> http://hbr.org/2009/04/leadership-lessons-from-abraham-lincoln/ar

<comment><USER2> I found "Quotations from chairman Powell" easier to digest.

<http://govleaders.org/powell.htm></comment>