Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17



An algorithm is a self-contained step-by-step set of operations to be performed. Algorithms exist that perform calculation, data processing, and automated reasoning. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.

Share tech news, updates, or what's on your mind.

Sign up to Post

Solve the following question by using the DTM (decision tree method) to prove that the problem of searching for a key in a n x n matrix has time complexity lowerbound Omega (log_{2}n) for the comparison-based models, regardless the given matrix is sorted or not.
Hire Technology Freelancers with Gigs
LVL 10
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

What options are there to protect a web service from a DOS attack?

IF the web service were accessed only by my Objective-C iPhone application, and nowhere else, is this web service protected by the "security through obscurity" model? Or, can hackers crack open the source code of the iPhone app, like Apple can?

What about if I put the URL to the web service into the SQLite database and encrypted the Path?

So, when my app needs to request information from the web service, it does a DB lookup in the SQLite database for the path to the web service. When it gets it, it decrypts it. Then, using a variable (in memory) only, it makes the web service call.

Does this protect from a DOS attack to that web service call?

Are there easier ways?

Will this work on Java for the Android?

What about on my website?

What technologies are best suited for the highest performance web services to handle the heaviest loads? Thousands (even millions) of transactions per second?

I know that Node.js can handle thousand(s) sessions on a single thread. And I do not know of any other technology which handle more than one session per thread. Am I right about that? Are there others that can do this also?

What about real-time programming as it relates to web-services. Is there such a thing?

And how about a few general words about hardware deployment? Having a central API call which distributes calls to hundreds of more specialized web servers? What about Caching for successive related calls?

And what about Machine Learning? Can algorithms be optimized by existing Machine Learning algorithms that reduce the average response times of the most heavily load web service?

What should I expect by forking the BitCoin open source code? What kinds of things can one do in customizing the code?

What language(s) is it in? What platform does it run on?

What about the code run by Bookkeepers? And the generation of the BlockChain database updates?

And lastly, what "engine" determines which algorithms need to be mined and what is managing the connections to this peer-to-peer network?

I need to create a language agnostic hashing algorithm for a custom PHP-based application that I'm developing.  

The reason it needs to be language agnostic is because the PHP application that I'm developing needs to be able to communicate with another 3rd party application (hosted on Heroku) .. and both applications need to be able to apply the same exact algorithm.

I understand that its considered bad practice to use a hardcoded SALT value when applying hashing algorithms, but in this particular scenario, I suspect that it may be unavoidable.  I'm all ears, however.  Still .. let me explain what it is that I need to do first.

Here's what I currently have set up in my PHP application:

$param1= 'beta';
$param2= 'noodle';
$param3= '1502719494';
$hashstring = $param1. $param2. '-' . $param3;  
$options = [
  'cost' => 10,
  'salt' => 'Dk2jdfPIJFddf32948jdfg809fiejf',
echo password_hash($hashstring, PASSWORD_BCRYPT, $options);

Open in new window

What I'd like to do is to somehow re-write this in a way where it could be interpreted universally in pretty much any programming language, .. but where they can both use the same hardcoded SALT value, and both return the exact same result.  The Heroku application is apparently a Node.js powered application (written in Google V8 JavaScript) .. if that information helps any.  

Anyways, .. I'd be interested to hear anyone's thoughts regarding what I'm trying to accomplish here.

- Yvan
Trending Tech Everyone Should Know About - My Thoughts
I've been thinking about this subject for a few days now, trying to come up with something unusual. But the thing that keeps coming to mind—even though I feel it's an obvious answer that everyone already does know about—is Artificial Intelligence & Machine Learning.

Why? Well first, it's technology that impacts everyone, regardless of how involved you are in the tech industry. I've got little doubt that we're right on the cusp of major social change as a result of machine learning—change as significant as the Industrial Revolution. We've got self-driving cars inevitably hitting the mainstream in the near future. There's cancer detection systems that are faster and more accurate than human analysts. AI systems being trained to defend against cyberattacks. Movie dialog being written by algorithms. The list goes on and on...

And second, while these advancements will absolutely push us forward in exciting new ways, they'll also destroy many jobs. And while that job loss can be terrifying, AI opens us up for entirely new sorts of jobs, major changes to the way work is done, and more that we can't even fully conceive of yet.

Will most knowledge workers of the future become "bot wranglers"? Will some sort of universal basic income
Imagine you have a dataset of rowers. You have X variables such as weight, benchpress, deadlift, squat, nutrition, etc. You also have each rower's lap time.

Now, let's say for a given rower, you want to optimize her lap time, but you can only train along ONE DIMENSION. How would you identify the best attribute to optimize?

I thought about a grid search, but that seems awful. Which family of machine learning algorithms would be best for this type of problem, and how would you attack it?

Thanks a million!
I have the Excel file below with 3 columns.
On one row I have a pair of q, k corresponding to a certain x.
In the sheet are different values for x.
I need to find what pairs of q, k are common for all values of x.
How do you do that fast and easy?
What is the best and easiest approach, method, software to solve a system like the one below?


Could you help to find a set of solutions? I guess are more than one.
This is not homework, but rather one of that engineering approximation problem that ended up in a set of unknown variables.

Basically the function is.
with p, q, k, r, s unknown.
And next known set of solutions with 1 digit approximation allowed for S5x:
x - S5x
1 - 0
2 - 1
4 - 2
8 - 3
16 - 6
32 - 13
64 - 25
128 - 50
256 - 101
512 - 201
1024 - 401
2048 - 799
4096 - 1567
8192 - 2896
16384 - 4096
I have question about the GA application in an intrusion detection, what programming language can be applied for this type of problem.
Moving data to the cloud? Find out if you’re ready
Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.


I have an audio file, many actually, that are an interview between the interviewer and interviewee.  The same person is asking questions in each file, while the people answering are different.

I need to separate the answers out by generating silence over the interview questions. I'm currently doing this by hand with audacity, but it is extremely time consuming.

Any help would be greatly appreciated.  I am a software developer, but audio is not my area, so code is am option if there isn't a program available.

If I am comparing my algorithm to another algorithm. My algorithm has a complexity f O(n) whereas the other algorithm is O(n2).

I then measured the running time by implementing the algorithms.

Should the running time of the other algorithm be the square of the running time of my algorithm?

For example of my algorithm running time is 3 ms should the other algorithm running time be 9?
I got a requirement from my client that he wishes to encrypt/ password protect some of the documents, before sending over to another user in another regional office.

By not writing the password into the email body.

How can the user in another regional office knows the password to decrypt/ open the protected documents?

What approach should be adopted? Is there any standard/ algorithm I can refer to? But we prefer not to use any 3rd party software/ utility.

Thank you.
the array has series of numbers Need to find all pairs in the array using a hash table
integers ...
The problem: I want to display a row of rectangles placed shoulder to shoulder, on a grid page (think graph paper). The width of the page where the rectangles appear will be an unknown integer variable (but always greater than 100).  The height of the rectangles will be a constant integer value (e.g., 20 units high). I want to fill a row on this page with as many rectangles as possible where the rectangle width will be equal or greater than the predefined rectangle height and where there will be no gap/margin at the end of the row.

I realize that this is only possible when the page width (e.g. 200)  can be evenly divided by the rectangle height (e.g., 200 / 20).  If the page width is 201, it is impossible to have rectangles all with the same width and at the same time have no gap/margin at the end of the row of rectangles. But if the page width is 210, I can fit 10 rectangles which are 21 units wide. That's fine. I don't mind stretching the rectangles a bit, as long as the rectangle width is never less than the predefined rectangle height constant (in this example, is 20). So, if the page width is 220, that works fine for I can get 10 rectangles of 22 units across the page with no gap/margin at the end of the row. I don't mind the rectangle width growing a bit so as to ensure no right margin/gap results. But there would be a limit to the rectangle width changing from its original desired width (which is equal to the rectangle height constant).  So I would need the …
How to disable disable any 96-bit hmac algorithms in centos
I have an array that will have approx 3000 elements. Within each element is an array that contains two key:value pairs. I want to sort the elements of the outer array based on the value of the first key:value pairs within each element.

array = [{"key1":"group9","key2":["20170222","20170531"]},{"key1":"group3","key2":["20170221"]},{"key1":"group7","key2":["20170321"]}, ..................]

so sorting gives e.g. (the elements are arranged based on sorting the groupX value of key key1 i.e. the first key:value pair)

array = [{"key1":"group3","key2":["20170221"]} ,{"key1":"group7","key2":["20170321"]} ,{"key1":"group9","key2":["20170222","20170531"]},................................]

I've implemented a merge sort and it works fine. But I want to look at what is the most efficient algorithm to use, as my colleagues have suggested bubble sort (I thought this was one of the worst algorithms, but it really depends on how large the dataset is).

Can anyone advise?

I'll (learn to) implement this on a webpage so I'm using Javascript/JQuery/ReactJS
I know that a circle has 360 degrees and Pi has a very specific an known value.

The question is, must a circle had 360 degrees? Or was that a decision that was made so each quarter would have 90 degrees?

So, was Pi "backed into"?

If Euclid had wanted a circle to be 400 degrees, could he have simply used a different formula to generate Pi?


And what is that formula to generate Pi, if you have it.

I need some help with this code. It works for some Arrays but not for all. Do you see a mistake in the code?

These are the failures of 13 different tests:
  There were 3 failures:
  1) test3(ads.set2.knapsack.test.EfficientKnapsackTest)
  java.lang.AssertionError: Checking optimal profit:  expected:<3144> but was:<2660>
  ?at ads.set2.knapsack.test.EfficientKnapsackTest.performTests(EfficientKnapsackTest.java:157)
  ?at ads.set2.knapsack.test.EfficientKnapsackTest.test3(EfficientKnapsackTest.java:69)
  2) test4(ads.set2.knapsack.test.EfficientKnapsackTest)
  java.lang.AssertionError: Checking optimal profit:  expected:<76> but was:<72>
  ?at ads.set2.knapsack.test.EfficientKnapsackTest.performTests(EfficientKnapsackTest.java:157)
  ?at ads.set2.knapsack.test.EfficientKnapsackTest.test4(EfficientKnapsackTest.java:74)
  3) test8(ads.set2.knapsack.test.EfficientKnapsackTest)
  org.junit.runners.model.TestTimedOutException: test timed out after 300 milliseconds

  Tests run: 13,  Failures: 3

public class KnapsackSolver {

	 * Calculates the maximum profit for the knapsack problem using 
	 * an improved dynamic programming algorithm
	 * @param items
	 *            the items available to be packed into the knapsack.
	 * @param capacity
	 *            the maximum weight allowed for the knapsack.
	 * @return the maximum profit possible for the given weight
	public static int pack(final Item[] items, final int 

Open in new window

Important Lessons on Recovering from Petya
LVL 10
Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

I have used Python, Natural Language Processing and web scraping technology to do some deep mining of Google's vast warehouses of articles on the web.

Is what I described considered artificial intelligence?

Or, in order to satisfy the requirement of AI must that model also automatically adjust it's algorithms based on the results of the searches? In my case, the adjustments were manual.


Here's an interesting coding puzzle:

A trader can perform two buys and two sells in a day of a given stock. An array of positive integers represents the share price of this stock at different times of the day (index i = 0 represents hour 1, i=1 represents hour 2, etc). The trader must always sell any current shares he has before he buys more shares. Write a function that determines the maximum profit the trader can make by buying and selling stock for a given day.

int maximizeProfit(int[] prices) {
   // Your code here

[10, 22, 5, 75, 65, 80]
The maximum profit is 87: buy at 10 sell at 22, buy at 5, sell at 80.

Open in new window

The solution should have time complexity O(n).
I have a trading system that is about 40% right. That means 4/10 signals generated by it yield in profit and the remaining 6 result in loss. Can I use neural networks/AI/Deep-learning to improve the chances? Can neural networks be used, in this case, to filter-out the bad trades in advance such that the trading system produces 60% good trades?
Examples of Enumerating Permutations and Combinations
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below.


1. I've attached the XLSM Excel spreadsheet I used in the video

Please use the example files I have attached.Permutations.txt
If you're interested in block chains (as used in bit coin and now for many other purposes) I found this to be a very good primer.
I'm creating an Avl tree to sort information about some countries. I want each node to be a list with 2 parameters being the name of the country the first and the information specific to the country  the second. Is it possible the second parameter of the node to be another avl tree?



An algorithm is a self-contained step-by-step set of operations to be performed. Algorithms exist that perform calculation, data processing, and automated reasoning. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.