DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Curious about the future of data-driven systems? Join our Data Engineering roundtable and learn how to build scalable data platforms.

Data Engineering: The industry has come a long way from organizing unstructured data to adopting today's modern data pipelines. See how.

Threat Detection: Learn core practices for managing security risks and vulnerabilities in your organization — don't regret those threats!

Managing API integrations: Assess your use case and needs — plus learn patterns for the design, build, and maintenance of your integrations.

Avatar

Marc Fasel

Technical Director at PerformanceCentre

South Melbourne, AU

Joined May 2011

About

I like building great software and empowering developers to be great.

Stats

Reputation: 15
Pageviews: 286.5K
Articles: 1
Comments: 3
  • Articles
  • Comments

Articles

article thumbnail
Performance Comparison Between Node.js and Java EE
I wanted to know: how would Java EE compare to Node.js in this particular case?
October 23, 2013
· 286,540 Views · 12 Likes

Comments

How Siri Works

Oct 16, 2011 · admin

That's what I thought t first as well: Android has introduced voice actions in 2.2, which is what you are describing. That is in essence voice recognition plus text parsing. Nothing intelligent about than. What Siri is doing is voice recognition plus Artificial Intelligence. It is going beyond mere text parsing by processing the commands to a machine-useable form. In Android you might say "call Angela", while in Siri you say "call my wife". Siri is processing the "my wife" and uses information about what that means to find the name of your wife in the address book. It then replaces "my wife" with "Angela". Now it just continues to do what Android would do as well: text parsing. It parses the text to retrieve the command and the recipient, and calls a contact name Angela. Even though this is just a small step it makes the experience much more natural. If you just put in enough little gimmicks like that in the voice recognition just becomes easier and more fun. I think the is just the tip of the iceberg, though. Siri was part of the SRI CALO project - "computer assistant that learns and organises". So learning and organisation skills should be part of what Siri can do. Let's see how Siri will use those skills to help us. Maybe Siri will ask "who is you wife" once and learn this rather than look up this relationship in the contacts folder. And possibly add this info herself once she knows. I think there will be a lot more coming from Siri!
Node.js is Cancer

Oct 04, 2011 · Marcin Wolski

Awesome!
Node.js is Cancer

Oct 03, 2011 · Marcin Wolski

Funny writing, but I find it a bit off-target. The author basically says Node.js is not fast because if code is run that blocks the only thread the server cannot do anything else during that time. This is true but pointless. The argumentation of Node.js is that applications spend most of their time waiting for slow I/O operations to finish. Instead of having many threads waiting for slow I/O, Node.js doesn't block (wait) on I/O, so there will be less waiting. Point here is that Node.js uses non-blocking I/O. Everything else blocks, and the programmer needs to take that into consideration. Long-running code that does not wait for I/O will block. The Fibonacci example is such long running code, and therefore blocks execution. If you are calculating results for extended amounts of time you must move these off the main thread in Node.js. This is presented as some kind of eye-opener, but in reality it is a well-known fact. Also a bit pointless is it to run a benchmark of 5 concurrent users on a single-threaded server calling a function that lasts 5.676 sec. Whether you have 1, 5, or 50 concurrent users the result of the benchmark will always be the same: It is 1 request/5.676 sec = 0.17 req/sec. This number says nothing about the performance of Node.js, it just shows the code is blocking for 5.676 sec.

User has been successfully modified

Failed to modify user

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: