 |

|
I have seen many programmers having confusion between PUT vs POST while making REST API. Before starting my article let me put the following statements you have already encountered with: PUT should be used to create and POST should be used to update. POST should be used to create and PUT should be used to update. If you are following these statements sctrictly, both of them are not correct!. It is not mandatory that you have to use both PUT and POST in our application, it depends on what is the requirement. This should PUT any questions about POST to REST.
|
|
|
|

|
This tutorial will cover basic algorithm analysis, specifically the time complexity of algorithms. The tools used include Big-O, Big-Omega, and Big-Theta. This tutorial will also discuss some of the mathematical properties of Big-O, Big-Omega, and Big-Theta. How complex? I don't understand a word of it.
|
|
|
|

|
There is a lot of advice out there on how to go about building your own custom exception classes. A lot of these sources are at least partially correct. Some are totally wrong. Some even advocate abandoning the base System.Exception class altogether, but that’s throwing the baby out with the bathwater, in my opinion. None that I've seen show how to serialize/deserialize your custom exception class should it have additional data in it's subclass. It’s enough to make one despair of ever finding the “right” way to build an exception class. throw new boilerplate exception;
|
|
|
|

|
Like Morpheus in the Matrix, fmap knows just what to do; you start with Nothing, and you end up with Nothing! fmap is zen. Now it makes sense why the Maybe data type exists. It's a picture book for nerds. Some Haskell required.
|
|
|
|

|
This post is not meant at all to be anti-jQuery. But if you are able to target modern browsers in your work, using the native C++ methods provided by your browser will not-surprisingly give you a tremendous performance boost in most areas. I think there are many developers who don’t realize that most of the jQuery methods they use have native equivalents that require the same or only a slighter larger amount of code to use. Below are a series of code samples showing some popular jQuery functions along with their native counterparts. Even if you keep using jQuery, it's always good to know how it works under the hood.
|
|
|
|

|
Being able to apply statistics is like having a secret superpower. Where most people see averages, you see confidence intervals. When someone says “7 is greater than 5,” you declare that they're really the same. In a cacophony of noise, you hear a cry for help. Unfortunately, not enough programmers have this superpower. That's a shame, because the application of statistics can almost always enhance the display and interpretation of data. That's no mean feat for the average coder.
|
|
|
|

|
I dumped the ROM of a Tamagotchi using the code execution ability I posted previously. I wrote 6502 code that dumped each byte of the memory space of the Tamagotchi, and output it over port A (which is usually the Tamagotchi button input) via SPI.... I started by dumping the entire memory space, from 0×0000 to 0xffff, which included all mapped memory, such as ROM, RAM and ports. This only dumped some of the ROM, though, as the GPLB52x microcontroller supports paging outside of 6502 paging. The first 16 kilobytes of the ROM are always mapped to 0xc000-0xffff, and then the rest of the ROM is split into 19 pages that can be mapped to 0×4000-0xbfff as needed. To dump the entire ROM, I needed to figure out how to page. There's nothing sadder than a puppet without a ghost...
|
|
|
|

|
We recently transitioned a large portion of our backend infrastructure from Microsoft SQL Server to Apache Cassandra. Today, this Cassandra cluster backs our mobile advertising network, supporting over 10 million daily active users that produce over 10,000 transactions per second, with an average database request latency of under 2 milliseconds! The journey to get there is one of struggle and perseverance, where everyone lives happily ever after. The thing's hollow — it goes on forever — and — oh my God — it's full of data!
|
|
|
|

|
I just got back from HotOS 2013 and, frankly, it was a little depressing.... I could not help being left with the feeling that the operating systems community is somewhat stuck in a rut. It did not help that the first session was about how to make network and disk I/O faster, a topic that has been a recurring theme for as long as "systems" has existed as a field. HotOS is supposed to represent the "hot topics" in the area, but when we're still arguing about problems that are 25 years old, it starts to feel not-so-hot. What do you wish OS developers would break new ground on?
|
|
|
|

|
Like many great consumer Linux products... manufacturers assume in nearly every case that your "other" computer will run Windows.... The good news is, with the installation or configuration of a few programs, it's pretty easy to get your Android device (all the steps in this article are equally applicable to phones and tablets unless stated otherwise) to play nice with your Linux boxen. Check the comments for neckbeard-compatible alternative tools.
|
|
|
|
|

|
This script enables you to control your computer via text message. Think of it almost as a version of SSH over text message. It is designed to intelligently and quickly check unread Google voice messages. If certain parameters are passed, it runs the command you send and returns the result. Where autocorrect follies meet sysadmin nightmares.
|
|
|
|

|
Usborne's 1983 classic Introduction to Machine Code for Beginners is an astounding book, written, designed and illustrated by Naomi Reed, Graham Round and Lynne Norman. It uses beautiful infographics and clear writing to provide an introduction to 6502 and Z80 assembler, and it's no wonder that used copies go for as much as $600. How did you learn machine code?
|
|
|
|

|
C++11 feels like a new language. I write code differently now than I did in C++98. The C++11 code is shorter, simpler, and usually more efficient than what I used to write. This poses challenges: How do you present C++? What techniques do you recommend? What language features and libraries do you emphasize? Presenting C++11 as a layer on top of C++98 would be as bad as representing C++98 as a layer on top of C. C++ must be presented as a whole, as the powerful tool for design and implementation that it is, rather than a set of independent features. The Fourth Edition of The C++ Programming Language attempts that and should become available in a few months. Bjarne Stroustrup's personal tour of C++11 and a preview of his book's 4th edition.
|
|
|
|

|
Most people understand that Windows is used by a variety of people who have a variety of needs, ranging from corporate server to workstation to POS terminals to home PC and beyond. Most people accept that whenever Microsoft updates Windows, it has to balance the competing requirements to find some kind of workable compromise. There is however another set of competing requirements that many do not really register, even those that call themselves power users or are IT admins. It is a conflict between developers/programmers and Microsoft itself. Developers are ultimately the ones who write applications used by users whereas Microsoft develops the OS these applications run on. A common shared goal between the two is the desire that applications previously written continue to work. Is Modern API the clean break Microsoft needed from Win32 (and Silverlight and WPF and...)?
|
|
|
|

|
As many programmers gain experience, they start to learn more and more about what happens behind the facade, about Garbage Collecting and overall memory management. Sadly, I see many programmers filled with half right knowledge and wrong conclusions especially in the field of Garbage Collection and Performance. I saw attempts to "optimize" C# code, which did, if anything, slow down the program. So let us take a closer look at the modern Garbage Collectors, how they work and what problems they want to solve. I am going to explain the specific Java implementation, but don't worry, most of them work fairly similar. If GC really worked, it would throw out most of my code.
|
|
|
|

|
Google allegedly assigns version numbers late in the process, but what is known is that this next release will implement upcoming API level 18. If you follow the progression there’s a likelihood this will be Jelly Bean MR2 (Management Release 2), where Android 4.2 was management release 1. Based on some other discussions and sources I also suspect this might be Jelly Bean MR2. All of that is really just semantics however, what really matters are what specific features are coming and which of those Google touched on during I/O. What new features do you want to see in Android?
|
|
|
|

|
Let’s try to find all possible ways to visualize a ludicrously small data set of two numbers. Afterwords, let’s try to pick the best visualization. With such a tiny dataset, you would think we would complete both exercises in less than 5 minutes. Yet, we spent more than two hours without having actually accomplished either of the two tasks. Not only was the number of possible ways to visualize two values far higher than expected, but also each single visualization method admitted multiple and interesting variations and opened new questions and discussions. The unit, meaning, interpretation and context of the values often determines the best visualization.
|
|
|
|

|
Three months ago, celebrated video game publisher Valve did something completely out of character: it fired up to 25 workers, in what one employee dubbed the "great cleansing." At the time, co-founder Gabe Newell quickly reassured gamers that the company wouldn't be canceling any projects, but it just so happens that one project managed to get away. Valve was secretly working on a pair of augmented reality glasses... and those glasses are still being built by two Valve employees who lost their jobs that day. Jeri Ellsworth and Rick Johnson created Technical Illusions to make illusions reality.
|
|
|
|

|
With WWDC just a few weeks away, I thought it’d be beneficial to the Internet at large to compile a working list of everything that is expected of Apple during their Keynote and subsequent “State of the Union” addresses in order to appease the Internet. Failure to introduce each and every one of these features and updates will result in another stock price plummet, calls for Tim Cook’s ouster and an infinite amount of comments on tech blogs decrying that Android is superior to Apple’s iOS. 50 serious suggestions for improving Mac/iOS development. What would you ask for?
|
|
|
|

|
A $15m computer that uses "quantum physics" effects to boost its speed is to be installed at a Nasa facility. It will be shared by Google, Nasa, and other scientists, providing access to a machine said to be up to 3,600 times faster than conventional computers. Unlike standard machines, the D-Wave Two processor appears to make use of an effect called quantum tunnelling. This allows it to reach solutions to certain types of mathematical problems in fractions of a second. Effectively, it can try all possible solutions at the same time and then select the best. Some skeptics say this isn't real quantum computing. What do you think?
|
|
|
|

|
I am an ASP.NET MVP, author of an O'Reilly title "Building a Web 2.0 portal with ASP.NET 3.5". I have written 48 articles on CodeProject. In this installment we talk to Omar Al Zabir, a four time MVP legend on CodeProject.
|
|
|
|

|
In this series of articles, I'm going to go through some of the mistakes I frequently see people making who are attempting to write benchmarks in C#.... If you reward people for making a measurable improvement in memory usage, don't be surprised if time performance gets worse, and vice versa. If you reward improvement rather than achieving a goal then you can expect that they'll keep trying to make improvements even after the goal has been achieved (or worse, even if it is never achieved!) Eric Lippert thinks you're probably doing it wrong. Here's what you should be measuring.
|
|
|
|

|
A memory allocator's responsibility is to manage free blocks of memory. If you've never read a malloc implementation, you may have assumed that calling free simply causes memory to be released to the operating system. But acquiring memory from the OS has a cost, so allocators tend to keep free chunks around for a while for possible re-use before deciding to release them. Inside a very basic malloc implementation.
|
|
|
|

|
Today I got caught up reading a back and forth in twitter about a proposed assertion syntax for Ruby testing frameworks. It was interesting, but yet again it was about how to make tests 'read well.' It's hard to disagree with that, right? Well, I don't in principle, I just think about the amount of time we spend trying to warp programming syntax into English and I wonder whether it is really worth it.... The thing I wanted to blog about is the clash between this natural language style of programming and the other sorts of programming we do. The code should tell a story. Often, it's a tale of woe.
|
|
|
|
 |