Reader Mail – 07/21/2013 To 07/27/2013

Paul commented on node.js Is VB6 - Does node.js Suck?.
Ryan, you are my hero.

I got sick and tired of the hipster-douchbags in web development and and got a real programming job writing software for astronomy simulations last year. Now my co-workers wear lab coats :-)


daniele_dll commented on node.js Is VB6 - Does node.js Suck?.

I didn't readed all the comments here, too long, but i want to clarify some points.

But, before that, i want to say that I am a C/PHP progremmer, on Linux/Mac OS X and C# progremmer on Windows and i know javascript quite well.

I've seen a LOT of religious wars about the best language BLA BLA BLA, but the main point is the it's you that use the language, and not the language that uses you ... so you can use the head and use the appropriate tool for the job.

Ok, now:

- nodejs isn't single threaded, it uses more than one thread but they are internal stuff, all the user code runs in the same thread

- to "distribuite" the load on multiple cpus/cores you can spawn process, today almost any framework support this and it is very easy to do (few lines of code)

- if you need long running task you can do it on another process, spawining it

Is this the best solution? I've no idea, but i like it.

Why do i like it? The reason is simple: do you have never developed heavy multithreaded applications? Have you any idea of how much time the CPU will spent on context switching? Let me to answer ... A LOT!

All modern efficent network servers uses thread pool to avoid to spent too much time on context switching, but this means that you can't spent 10 seconds on a request because if all the thread in the thread pool are used the successive request will stucks.

Apache, for instance, doesn't care at all and spawns a process (or a thread, on windows) for every request ... this has a lot of drawbacks, but let the developer to don't care too much about blocking/long-time-running calls.

For i work, i developed a C# network server able to "eat" up to 4gib of data per second on my test machine (i7 3770 + 8gb memory), my code ported on nodejs is able to do a bit better.

On my C# version i was using (mainly) the following:

- thread pool, to avoid the necessary time on creating/destroing threads and to reduce the context switching as much as possible

- object pool, to preallocate all much stuff as possible to reduce at minimium the pressure on the virtual machine (the garbage collector works less and this means less pauses and more speed)

- iocp, IO Completition Ports are a mechanism that let you to ask for an IO and let to windows to notify when it's ready, so you avoid to pool to check if there are data to read or to check if a new connection is incoming (on linux there is a system that has the same purpuose but works in a different way called epool, on *bsd it is kqueue/kpool)

- compare&swap, called compare and exchange or CAS too, to avoid locks on data structures (but usually you need to write up to 50 lines of code instead of 4/5 to handle the CAS)

- spinlocks, for some stuff it is impossible to avoids locks but instead of using mutex, that causes the context swithing, the spinlock avoid it if the locked resources is helded by a thread handled by another core/cpu (basically the spinlock doesn't suspend the thread immediately, it waits for some ms before doing it and it helps a lot)

On node.js, my code needed only;

- object pool

- iocp (but that are used natively, so basically i did nothing to use them)

The difference? less than 15kb of javascript code vs more than 100kb of C# code for the base libraries and the server ... oh ... yes ... two days to do this with node.js and 1.5 months to do this in C# on windows ^^

The CPU Consumption was about the same, near zero (thanks to the IOCP)

And, we should consider that a system like this is less bug-prone ... debugging multhread stuff is the hell!

Regarding the comparison IIS vs node, search better ... that article was comparing iis towards iisnode, that is node started inside iis where iis was proxing the requests (that means that iis was parsing the request to understand how to handle it)

Check this (more updated) comparison instead

IIS is not involved directly, but .NET HttpListener uses HTTP.SYS, the same used by IIS, to handle and parse requests.

So, yes, may be that you don't like

Dan commented on MF Global And Repo-To-Maturity.
According to Wikipedia, civil charges were laid just last month against Corzine for failure to maintain segregation at MF Global.

It's long enough after the fact that you could argue it won't be a show trial. My fingers are crossed.

Insiders like Jon Corzine have their assets well-protected in trusts. Even if he loses the civil lawsuit, there won't be any assets to seize. Also, even if he's "barred from the financial industry", there are plenty of other lucrative jobs available for insiders like him.

Dan commented on Broken Windows.
I had to replace the roof on my home. I have a "difficult" roof because there is no way to park a truck by my house so that roofers can tear off and throw waste directly off of the roof. They have to cart it down ladders and to the street.

I did my research before hiring a company, and figured an expensive price tag for my roof might be $5000. The only company I could get to even bid on the work quoted me $10000. My roof is 8 or 9 "squares" at best!

It's obvious that this company didn't care if I said yes or no. They were giving me what I call a "F*ck you" bid. I can take it or leave it. The fact that no other roofing companies even bothered to send me quotes means I had little choice but to accept the bid (I knew my roof was at the end of its life when I bought the house).

Contractors know when they have you by the balls, and they are not afraid to squeeze. There is so much easy roofing work in my city that there is effectively zero competition. Companies will either ignore difficult jobs or bid so high that they are a windfall.

This is exacerbated by government regulation of construction, decreasing competition.

Dan commented on TV Shows That End At :01.
What are you going to miss, the ending credits?

Some shows, such as The Daily Show and The Colbert Report, sometimes include interesting content in the final minute. Also, my Time-Warner cable box auto-channel-change service won't work if the timers overlap.

Dan commented on Climategate Dismissed.
Since you basically dismiss all of science, because you dismiss the peer review process (and for better or worse that is how the body of literature is grown), what would you accept as proof of, well, anything?

Science is not the same as the peer review process. The proof is something that works. I trust the science behind computers, because it works. I don't trust the "science" behind mainstream economics, because I know it's a fraud. I don't trust the "science" behind "global warming", due to many flaws.

Brian commented on Is The Go Programming Language Worth Learning?.
You might just try building a product for a niche industry, and concentrating more on learning about that market, than a new language. In the end it doen't matter what language its written in. The front end is very important, its what people see, so biting the bullet and learning how to make things look not jus good, but glitzy. Personally I think if you look into things like real estate, or retail, understand how these niche markets work, and their language, and you also try to get more experience in platforms like Wordpress and Drupal.

Brad commented on New Android Boneheaded Design Decision - MTP Transfer Mode Instead Of USB/UMS/MSC Mode.
Do you know if this is an Android issue or a Samsung issue? Maybe switching to the Google version of Android would fix this?

It's a "feature" of the new Android OS.

MP commented on Reader Mail - 07/14/2013 To 07/20/2013.
I'm convinced now that every single critic of the Zimmerman verdict is just making shit up. You did by claiming that Zimmerman initiated the confrontation. Yet Zimmerman claimed that he was blindsided by Martin while trying to maintain visual contact until police arrived. No evidence supports your claim. All of the evidence supports Zimmerman's account of events.

Ironically, Zimmerman should have shot Martin sooner, after he received the first punch. How many blows to the head would you take before defending yourself? And don't bother repeating the lie that "Zimmerman started it" or making up any other baloney the anti-Zimmerman crowd circle-jerks to. The evidence doesn't support anything other than Zimmerman's story.

And the government can't incarcerate someone by just making shit up (at least not yet).

MP commented on Reader Mail - 07/14/2013 To 07/20/2013.

And now you're bagging on Prop 13 instead of bagging on the other problems. Hint: how does CA's tax burden (per taxpayer, not per illegal alien) compare to other states without a comparable prop? Did you know that as weak as the R party is in CA right now the D's have a supermajority? Prop 13 doesn't matter right now but Jerry Brown is still pushing his craptacular 'bullet train', raises for his union buddies, and pensions that will kill the state just like Detroit. Prop 13 bought us 30 years, but apparently the populace is too damn stupid to keep from squandering the finest natural or human resources in the world. It just delayed it.

In answer to your point, why did George Zimmerman get out of his car? George Zimmerman deserves partial responsibility, because Trayvon Martin would have made it home without incident if he wasn't there. I prefer compensation-based justice. There's no point sending George Zimmerman to jail, because there's not much risk of him being a repeat offender. He should owe damages to his heirs.

Prop 13 is a nice law, but it has some flaws.

People who owned their house for a long time get a much favorable property tax rate than new homeowners, which is somewhat unfair.

Also, corporations get a tax break due to Prop 13, and corporations are immortal. For property owned by individuals, the tax basis resets when ownership changes. For corporation-owned property, I believe the tax basis NEVER changes.

California makes up the property tax deficit via higher sales taxes and income taxes. It's just replacing one tax with another taxc.

The ridiculous part is that Prop 13 limits taxation power (a good thing), while other laws require a certain spending rate on various things.

MP commented on Reader Mail - 07/14/2013 To 07/20/2013.

Martin was moving between houses where Zimmerman could no longer observe him from the car. That's why he told the 911 operator that he was leaving his csr, which is when the operator told him "we don't need you to do that."

Zimmerman was walking through his neighborhood, as he had a right to do. Martin was walking as he had a right. Then Martin attacked Zimmerman who had a right to self-defense. Even Trayvon's friendgirl said she thought it was Trayvon who confronted Zimmerman.

Your logic is nonsensical. If out of nowhere someone tries to kill me, I have the natural right to kill him in self-defense. Asserting "well if you hadn't been walking down the street all nice and warm-bodied he wouldn't be dead" is worthy of the harshestridicule. The Zimmerman case is almost that clear (but only if you give a damn about the actual evidence).

MP commented on Reader Mail - 07/14/2013 To 07/20/2013.

So you haven't done the most basic googling of the tax burden? Even with Prop 13 we're in the middle of the list for individual property tax. The volatility of the housing market means that enough homes are traded on that pesky free market to keep tax receipts going up, but without forcing people out of their homes.

The corporation holdings are a red herring. Enough businesses are fleeing the state that plenty of those are changing hands too.

I agree that the structural spending would be a problem...except in our one party state, the corruptocrats just keep stealing from the dedicated funds (seriously, check out the sordid history of the highway fund). Furthermore, the required spending is zimed at the things the gov't is supposed to do (with education being one exception). And yet they even fail to do that.

The education system is in shambles. We're doing my part by homeschooling our kids. They're getting better math, history, grammar and science than I ever did at a fraction of the cost.

Now that Janet Incompetano is running UC my kids won't even be able to get a Cal education like my wie and I did. Those schools (paid for by taxpayers) will only be for illegals and foreign studentz shortly. No Californian need apply.

So please don't sit there and complain about Prop 13. It's the least of our problems. But hey, SCOTUS just handed the state a way to get rid of that too, so maybe it'll be gone soon as well.

When corporations own property, they usually do it through a shell holding company. So, the effective owner of the property can change while the "legal" owner does not change. Prop 13 should not apply to corporate-owned property.

One day, California may declare bankruptcy, and overturn Prop 13.

The correct answer is that "All taxation is theft." Arguing about tax policy is essentially arguing about the best way to steal. (How did SCOTUS just give California a way to get rid of Prop 13? Apply eminent domain to seize property with a low tax basis?)

MP commented on Reader Mail - 07/14/2013 To 07/20/2013.

CA cannot declare bankruptcy. Personally I think it should be dissolved into a federal territory until it (or pieces of it ) can prove governable. Prop 13 has nothing to do with it.

Oh, and no, not all taxation is theft. Government has a very limited set of tasks to do, and taxes for those purposes aren't theft.

One Response to Reader Mail – 07/21/2013 To 07/27/2013

  1. Most of these plates are already developed specially to meet up with the NSW Office connected with Education in addition to Teaching BER* undertaking to setup interactive whiteboards directly into just about all classes.

    Building the Educations Emerging trend Funds Operates undertaking version 2.81

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>