
Programming puzzles, problems and riddles are a passion at ITA. You may have seen some of our puzzles in recent advertising campaigns around Boston. We use them to help us recruit people who, like us, enjoy the challenge of designing and implementing solutions to interesting computing problems.
A good way to get your resume onto the top of the pile is to tackle one of the programming puzzles below and send us your solution. Here are a few tips to help you get started: |
|
 |
- Unless otherwise specified, you may use any language you like.
- Please send your puzzle answer and resume to careers@itasoftware.com. In your email, along with your source code, please include your program's final answer; a brief (1-2 paragraph) description of your approach and any trade-offs you made (say, for generality, speed, or ease of implementation); and instructions on how to test your program.
- Puzzle answers will be reviewed only for individuals submitting job applications.
-
No pseudo-code please!
Click the links below to see puzzles for the following positions:
Computer Scientist
Software Engineer
Java Expert & Java Software Engineer
Data and Reporting Programmer
Operations Programmer
Computer Scientist Puzzles:
| Palindromic Pangram |
A palindrome is a sequence of words like "lid off a daffodil" or "shallot ayatollahs" that uses the same letters reading backwards as forwards. The words need not form a meaningful or grammatical sentence.
A palindromic pangram is a multi-word palindrome that includes all 26 letters of the alphabet. Find the shortest sequence of words that is both a pangram and a palindrome. Use this dictionary: WORD.LST (1.66MB).
|
| BitVector Genealogy |
The BitVectors are an ancient and immortal race of 10,000, each with a 10,000 bit genome. The race evolved from a single individual by the following process: 9,999 times a BitVector chosen at random from amongst the population was cloned using an error-prone process that replicates each bit of the genome with 80% fidelity (any particular bit is flipped from parent to child 20% of the time, independent of other bits).
Write a program to guess the reproductive history of BitVectors from their genetic material. The randomly-ordered file bitvectors-genes.data.gz contains a 10,000 bit line for each individual. Your program's output should be, for each input line, the 0-based line number of that individual's parent, or -1 if it is the progenitor. Balance performance against probability of mistakes as you see fit.
To help you test your program, here is a much smaller 500 x 500 input dataset: bitvectors-genes.data.small.gz, along with its solution file: bitvectors-parents.data.small.
|
| Word Rectangle |
Write a program to find the largest possible rectangle of letters such that every row forms a word (reading left to right) and every column forms a word (reading top to bottom). Words should appear in this dictionary: WORD.LST (1.66MB). Heuristic solutions that may not always produce a provably optimal rectangle will be accepted: seek a reasonable tradeoff of efficiency and optimality.
|
| Sling Blade Runner |
"How long a chain of overlapping movie titles, like Sling Blade Runner, can you find?"
Use the following listing of movie titles: MOVIES.LST. Multi-word overlaps, as in "License to Kill a Mockingbird," are allowed. The same title may not be used more than once in a solution. Heuristic solutions that may not always produce the greatest number of titles will be accepted: seek a reasonable tradeoff of efficiency and optimality.
Data provided by MovieLens at the University of Minnesota.
|
| Word Numbers |
"If the integers from 1 to 999,999,999 are written as words, sorted alphabetically, and concatenated, what is the 51 billionth letter?"
To be precise: if the integers from 1 to 999,999,999 are expressed in words (omitting spaces, 'and', and punctuation[1]), and sorted alphabetically so that the first six integers are
- eight
- eighteen
- eighteenmillion
- eighteenmillioneight
- eighteenmillioneighteen
- eighteenmillioneighteenthousand
and the last is
then reading top to bottom, left to right, the 28th letter completes the spelling of the integer "eighteenmillion".
The 51 billionth letter also completes the spelling of an integer. Which one, and what is the sum of all the integers to that point?
[1] For example, 911,610,034 is written "ninehundredelevenmillionsixhundredtenthousandthirtyfour"; 500,000,000 is written "fivehundredmillion"; 1,709 is written "onethousandsevenhundrednine".
|
| The O'Hare Affair |
Objective You want to meet a friend at O'Hare airport at noon and return home the same day. Given a date and an origin airport, find the pair of nonstop flights that gets you to Chicago and home again on that date, minimizing your total time away from home, subject to the constraint that you are at O'Hare at noon.
Details Your program, which must be written in Java, will work by scraping our http://matrix.itasoftware.com website. Create an account on that site called "candidate_YourName" for your program to use. (Please include your name and email address in your registration in case we need to contact you.) Your program should accept two command-line inputs as follows: The program should log in to matrix.itasoftware.com with your candidate_YourName account and pose a round-trip query between the given airportCode and O'Hare (ORD), limited to nonstop flights only, using BOS as the sales city, with appropriate date and time constraints. The program should then scan the resulting solution set for solutions that meet the objective specified above. No more than 15 http requests should be made of matrix.itasoftware.com per invocation. Finally, details of the three shortest solutions (breaking ties arbitrarily) should be written out in human-readable form to the console.
For example, for a traveler from Baltimore on July 4th, your program might be invoked as follows: Sample output:
Strive to make your code clean and robust, and to report errors cleanly. Be sure to include your source, any necessary libraries, and instructions on how to run it.
java -jar OHareAffair.jar 2006-07-04 BWI
java -jar OHareAffair.jar YYYY-MM-DD airportCode
Travelling round-trip from BWI to ORD on 2006-07-04:
Trip length: 6:21 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:39 Outbound: United Airlines Flight UA641 (9:45a-10:47a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:54 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: American Airlines Flight AA4009 (2:09p-4:57p)
|
Back to top
Software Engineer Puzzles:
| Strawberry Fields |
Strawberries are growing in a rectangular field of length and width at most 50. You want to build greenhouses to enclose the strawberries. Greenhouses are rectangular, axis-aligned with the field (i.e., not diagonal), and may not overlap. The cost of each greenhouse is $10 plus $1 per unit of area covered.
Write a program that chooses the best number of greenhouses to build, and their locations, so as to enclose all the strawberries as cheaply as possible. Heuristic solutions that may not always produce the lowest possible cost will be accepted: seek a reasonable tradeoff of efficiency and optimality.
Your program must read a small integer 1 ≤ N ≤ 10 representing the maximum number of greenhouses to consider, and a matrix representation of the field, in which the '@' symbol represents a strawberry. Output must be a copy of the original matrix with letters used to represent greenhouses, preceded by the covering's cost. Here is an example input-output pair:
| Input |
|
Output |
4 ..@@@@@............... ..@@@@@@........@@@... .....@@@@@......@@@... .......@@@@@@@@@@@@... .........@@@@@........ .........@@@@@........
|
|
90 ..AAAAAAAA............ ..AAAAAAAA....CCCCC... ..AAAAAAAA....CCCCC... .......BBBBBBBCCCCC... .......BBBBBBB........ .......BBBBBBB........
|
In this example, the solution cost of $90 is computed as (10+8*3) + (10+7*3) + (10+5*3).
Run your program on the 9 sample inputs found in this file and report the total cost of the 9 solutions found by your program, as well as each individual solution.
|
| Roll Your Own Chat Server |
Implement a simple standalone TCP-based chat server, using the following protocol:
The server responds to all commands with either:
OK<CRLF>
or, when an error occurred, with:
ERROR <reason><CRLF>
<CRLF> indicates the bytes '\r\n'.
Upon connecting to the server, the client sends:
LOGIN <username><CRLF>
Clients can create new chatrooms or join existing chatrooms (chatrooms begin with the character '#') by doing:
JOIN #<chatroom><CRLF>
Clients can leave chatrooms by sending:
PART #<chatroom><CRLF>
Clients can be in multiple chatrooms at once.
Clients can send a message to a chatroom:
MSG #<chatroom> <message-text><CRLF>
Clients can send a message to another user:
MSG <username> <message-text><CRLF>
When a message is sent to a chatroom the user is in, the server sends to the appropriate client:
GOTROOMMSG <sender> #<chatroom> <message-text><CRLF>
or if the message is sent directly from one user to another:
GOTUSERMSG <sender> <message-text><CRLF>
Finally, the client can log off by sending:
LOGOUT<CRLF>
Here's a transcript of a sample session where a user named "alice" joins a chatroom called #news after connecting. C indicates the line was sent by the client, S indicates it was sent by the server (end of line indicates CRLF was sent):
C: LOGIN alice
S: OK
C: JOIN #news
S: OK
C: MSG #news hi everyone
S: GOTROOMMSG bob #news nothing much happened after that
S: OK
S: GOTROOMMSG alice #news hi everyone
S: GOTUSERMSG carol hi alice, where've you been?
C: MSG carol on vacation
S: OK
C: LOGOUT
<server closes connection>
When implementing the server, aim for scalability and robustness. (Many submissions fail due to lack of robustness!) Your submission should include a description of the steps you took towards those two goals. Keep in mind that the client may be buggy, or even malicious. For example, if a client connects to the server and sends an infinite stream of the byte 'X' with no line break, the server should deal with this case gracefully. Please do not use an existing networking framework (e.g., Twisted or asyncore for Python, ACE for C++, etc.) to implement the server. The server should support running on Linux.
|
| Palindromic Pangram |
A palindrome is a sequence of words like "lid off a daffodil" or "shallot ayatollahs" that uses the same letters reading backwards as forwards. The words need not form a meaningful or grammatical sentence.
A palindromic pangram is a multi-word palindrome that includes all 26 letters of the alphabet. Find the shortest sequence of words that is both a pangram and a palindrome. Use this dictionary: WORD.LST (1.66MB).
|
| BitVector Genealogy |
The BitVectors are an ancient and immortal race of 10,000, each with a 10,000 bit genome. The race evolved from a single individual by the following process: 9,999 times a BitVector chosen at random from amongst the population was cloned using an error-prone process that replicates each bit of the genome with 80% fidelity (any particular bit is flipped from parent to child 20% of the time, independent of other bits).
Write a program to guess the reproductive history of BitVectors from their genetic material. The randomly-ordered file bitvectors-genes.data.gz contains a 10,000 bit line for each individual. Your program's output should be, for each input line, the 0-based line number of that individual's parent, or -1 if it is the progenitor. Balance performance against probability of mistakes as you see fit.
To help you test your program, here is a much smaller 500 x 500 input dataset: bitvectors-genes.data.small.gz, along with its solution file: bitvectors-parents.data.small.
|
| Word Rectangle |
Write a program to find the largest possible rectangle of letters such that every row forms a word (reading left to right) and every column forms a word (reading top to bottom). Words should appear in this dictionary: WORD.LST (1.66MB). Heuristic solutions that may not always produce a provably optimal rectangle will be accepted: seek a reasonable tradeoff of efficiency and optimality.
|
| Sling Blade Runner |
"How long a chain of overlapping movie titles, like Sling Blade Runner, can you find?"
Use the following listing of movie titles: MOVIES.LST. Multi-word overlaps, as in "License to Kill a Mockingbird," are allowed. The same title may not be used more than once in a solution. Heuristic solutions that may not always produce the greatest number of titles will be accepted: seek a reasonable tradeoff of efficiency and optimality.
Data provided by MovieLens at the University of Minnesota.
|
| Word Numbers |
"If the integers from 1 to 999,999,999 are written as words, sorted alphabetically, and concatenated, what is the 51 billionth letter?"
To be precise: if the integers from 1 to 999,999,999 are expressed in words (omitting spaces, 'and', and punctuation[1]), and sorted alphabetically so that the first six integers are
- eight
- eighteen
- eighteenmillion
- eighteenmillioneight
- eighteenmillioneighteen
- eighteenmillioneighteenthousand
and the last is
then reading top to bottom, left to right, the 28th letter completes the spelling of the integer "eighteenmillion".
The 51 billionth letter also completes the spelling of an integer. Which one, and what is the sum of all the integers to that point?
[1] For example, 911,610,034 is written "ninehundredelevenmillionsixhundredtenthousandthirtyfour"; 500,000,000 is written "fivehundredmillion"; 1,709 is written "onethousandsevenhundrednine".
|
| The O'Hare Affair |
Objective You want to meet a friend at O'Hare airport at noon and return home the same day. Given a date and an origin airport, find the pair of nonstop flights that gets you to Chicago and home again on that date, minimizing your total time away from home, subject to the constraint that you are at O'Hare at noon.
Details Your program, which must be written in Java, will work by scraping our http://matrix.itasoftware.com website. Create an account on that site called "candidate_YourName" for your program to use. (Please include your name and email address in your registration in case we need to contact you.) Your program should accept two command-line inputs as follows: The program should log in to matrix.itasoftware.com with your candidate_YourName account and pose a round-trip query between the given airportCode and O'Hare (ORD), limited to nonstop flights only, using BOS as the sales city, with appropriate date and time constraints. The program should then scan the resulting solution set for solutions that meet the objective specified above. No more than 15 http requests should be made of matrix.itasoftware.com per invocation. Finally, details of the three shortest solutions (breaking ties arbitrarily) should be written out in human-readable form to the console.
For example, for a traveler from Baltimore on July 4th, your program might be invoked as follows: Sample output:
Strive to make your code clean and robust, and to report errors cleanly. Be sure to include your source, any necessary libraries, and instructions on how to run it.
java -jar OHareAffair.jar 2006-07-04 BWI
java -jar OHareAffair.jar YYYY-MM-DD airportCode
Travelling round-trip from BWI to ORD on 2006-07-04:
Trip length: 6:21 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:39 Outbound: United Airlines Flight UA641 (9:45a-10:47a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:54 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: American Airlines Flight AA4009 (2:09p-4:57p)
|
back to top
Java Expert & Java Software Engineer Puzzles:
| Instant Search |
Write a Java web application which provides "instant search" over properties listed in the National Register of Historic Places. Rather than waiting for the user to press a submit button, your application will dynamically update search results as input is typed. We provide the file nrhp.xml.gz, which contains selected information from the register's database.
Database The key component of your server-side application is an efficient, in-memory data structure for looking up properties (written in pure Java). A good solution may take several minutes to load, but can answer a query in well under 0.1 ms on a modern PC. (Note that a sequential search of all properties is probably too slow!) An input matches a property if it is found at any position within that property's names, address, or city+state. Matches are case-insensitive, and consider only the characters A-Z and 0-9, e.g. the input "mainst" matches "200 S Main St" and "red" matches "Lakeshore Dr." Note that the server's JVM will be configured with 1024M maximum heap space. Please conform to the interfaces specified in nrhp.jar when creating your database.
Servlet Your servlet should accept an input string as the request parameter to a GET request. Results should include the information for a pre-configured number of properties (e.g. 10), the total number of matches which exist in the database, and the time taken by your search algorithm. Your servlet should be stateless, ie. not depend on any per-user session information. Paginate your additional results as a bonus!
Client Your web page should access the servlet using JavaScript's XMLHttpRequest object. As the user types, your interface should repeatedly refine the list of search results without refreshing the page.
Please submit a WAR file, configuration instructions, your source code, and any comments on your approach. Your application will be tested with Tomcat on Sun's 64-bit J2SE and a recent version of Firefox.
Resources XMLHttpRequest, StAX, Apache Tomcat, Mozilla Firefox, Eclipse

|
| Palindromic Pangram |
A palindrome is a sequence of words like "lid off a daffodil" or "shallot ayatollahs" that uses the same letters reading backwards as forwards. The words need not form a meaningful or grammatical sentence.
A palindromic pangram is a multi-word palindrome that includes all 26 letters of the alphabet. Find the shortest sequence of words that is both a pangram and a palindrome. Use this dictionary: WORD.LST (1.66MB).
|
| Sling Blade Runner |
"How long a chain of overlapping movie titles, like Sling Blade Runner, can you find?"
Use the following listing of movie titles: MOVIES.LST. Multi-word overlaps, as in "License to Kill a Mockingbird," are allowed. The same title may not be used more than once in a solution. Heuristic solutions that may not always produce the greatest number of titles will be accepted: seek a reasonable tradeoff of efficiency and optimality.
Data provided by MovieLens at the University of Minnesota.
|
| Word Numbers |
"If the integers from 1 to 999,999,999 are written as words, sorted alphabetically, and concatenated, what is the 51 billionth letter?"
To be precise: if the integers from 1 to 999,999,999 are expressed in words (omitting spaces, 'and', and punctuation[1]), and sorted alphabetically so that the first six integers are
- eight
- eighteen
- eighteenmillion
- eighteenmillioneight
- eighteenmillioneighteen
- eighteenmillioneighteenthousand
and the last is
then reading top to bottom, left to right, the 28th letter completes the spelling of the integer "eighteenmillion".
The 51 billionth letter also completes the spelling of an integer. Which one, and what is the sum of all the integers to that point?
[1] For example, 911,610,034 is written "ninehundredelevenmillionsixhundredtenthousandthirtyfour"; 500,000,000 is written "fivehundredmillion"; 1,709 is written "onethousandsevenhundrednine".
|
| The O'Hare Affair |
Objective You want to meet a friend at O'Hare airport at noon and return home the same day. Given a date and an origin airport, find the pair of nonstop flights that gets you to Chicago and home again on that date, minimizing your total time away from home, subject to the constraint that you are at O'Hare at noon.
Details Your program, which must be written in Java, will work by scraping our http://matrix.itasoftware.com website. Create an account on that site called "candidate_YourName" for your program to use. (Please include your name and email address in your registration in case we need to contact you.) Your program should accept two command-line inputs as follows: The program should log in to matrix.itasoftware.com with your candidate_YourName account and pose a round-trip query between the given airportCode and O'Hare (ORD), limited to nonstop flights only, using BOS as the sales city, with appropriate date and time constraints. The program should then scan the resulting solution set for solutions that meet the objective specified above. No more than 15 http requests should be made of matrix.itasoftware.com per invocation. Finally, details of the three shortest solutions (breaking ties arbitrarily) should be written out in human-readable form to the console.
For example, for a traveler from Baltimore on July 4th, your program might be invoked as follows: Sample output:
Strive to make your code clean and robust, and to report errors cleanly. Be sure to include your source, any necessary libraries, and instructions on how to run it.
java -jar OHareAffair.jar 2006-07-04 BWI
java -jar OHareAffair.jar YYYY-MM-DD airportCode
Travelling round-trip from BWI to ORD on 2006-07-04:
Trip length: 6:21 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:39 Outbound: United Airlines Flight UA641 (9:45a-10:47a) Return: United Airlines Flight UA1236 (1:30p-4:24p)
Trip length: 6:54 Outbound: American Airlines Flight AA3991 (10:03a-11:04a) Return: American Airlines Flight AA4009 (2:09p-4:57p)
|
Back to top
Data and Reporting Programmer Puzzle:
| Schedule File Parsing and Error Detection |
Bay State Express Airlines, will be starting service on two new routes; a shuttle service between Boston and Washington and a seasonal service between Boston and Fort Lauderdale. Bay State is creating a schedule file to help plan their new flights. They need a program to locate errors in their schedule file as well as print reports.
Implement a program to read the provided schedule file, schedule.txt, and output all data in the format requested. The program must detect and report any potential errors or inconsistent data contained in the input file.
The contents of the schedule file are to be reported using a format string constructed with any of the codes (A-L) listed below. The format string and input file path locations are passed to the program as command line options. The requested output must be printed on STDOUT. Any errors or inconsistent data in the inputted schedule file are to be described in output to STDERR.
------------------
Schedule File Input Format:
Record 1, Schedules:
Bytes
From |
To |
Length in Bytes |
Data Element |
Format |
| 1 |
1 |
1 |
Record Type |
Always 1 |
| 2 |
5 |
4 |
Flight Number |
Integer, Right Justified |
| 6 |
7 |
2 |
Carrier Code |
Alphanumeric |
| 8 |
10 |
3 |
Departure Airport Code |
Alphabetic |
| 11 |
13 |
3 |
Arrival Airport Code |
Alphabetic |
| 14 |
20 |
7 |
Days of Operation |
Boolean (0 or 1) |
Each of the seven fields 14-20 corresponds to a weekday Mon-Sun
|
| 21 |
29 |
9 |
First Day of Operation |
Two Digit Day |
| |
|
|
|
First 3 Letters of Month |
| |
|
|
|
Four Digit Year |
| 30 |
38 |
9 |
Last Day of Operation |
Same Format as First Day of Operation |
| 39 |
42 |
4 |
Departure Time |
Two Digit Hour (24-hour format) |
| |
|
|
|
Two Digit Minutes |
| 43 |
6 |
4 |
Arrival Time |
Two Digit Hour (24-hour format) |
| |
|
|
|
Two Digit Minutes |
| 47 |
55 |
9 |
Meal Service |
Alphabetic, Left Justified
Snack, Breakfast, Lunch or Dinner |
Record 2, Airport Names:
|
Bytes
From |
To |
Lenth in Bytes |
Data Element |
Format |
| 1 |
1 |
1 |
Record Type |
Always 2 |
| 2 |
4 |
3 |
Airport Code |
Alphabetic |
| 5 |
34 |
30 |
Airport Name |
Alphanumeric, Left Justified |
| |
|
|
|
|
Output Format Codes:
A = Flight Number
B = Carrier Code
C = Departure City Code
D = Arrival City Code
E = Departure City Name
F = Arrival City Name
G = Days of Operation
H = First Day of Operation in format DDMMMYYYY (same as input format)
I = Last Day of Operation in format DDMMMYYYY (same as input format)
J = Departure Time
K = Arrival Time
L = Meal Service
All output format codes are delimited with a "\" character.
Here is an example of an output format string:
"Flight \B\A departs \E at \J and arrives \F at \K; \L will be served"
1. First Report
Attach your program output when executed as follows:
schedule-report --schedule-file schedule.txt --format
"Flight \B\A departs \E at \J and arrives \F at \K; \L will be served"
> schedule-report.txt 2> schedule-errors.txt
2. Second Report
Add an option that will result in only flights that operate on that
date to be output in the report. The --date argument accepts dates in
YYYYMMDD format, where YYYY = 4 digit year, MM = 2 digit month, and
DD = 2 digit day.
Attach your program output when executed as follows:
schedule-report --schedule-file schedule.txt --date 20080926 --format
"Flight \B\A departs \E at \J and arrives \F at \K; \L will be served"
> schedule-report-20080926.txt 2> schedule-errors-20080926.txt
Schedule.txt
|
back to top
Operations Programmer Puzzle:
| Roll Your Own Chat Server |
Implement a simple standalone TCP-based chat server, using the following protocol:
The server responds to all commands with either:
OK<CRLF>
or, when an error occurred, with:
ERROR <reason><CRLF>
<CRLF> indicates the bytes '\r\n'.
Upon connecting to the server, the client sends:
LOGIN <username><CRLF>
Clients can create new chatrooms or join existing chatrooms (chatrooms begin with the character '#') by doing:
JOIN #<chatroom><CRLF>
Clients can leave chatrooms by sending:
PART #<chatroom><CRLF>
Clients can be in multiple chatrooms at once.
Clients can send a message to a chatroom:
MSG #<chatroom> <message-text><CRLF>
Clients can send a message to another user:
MSG <username> <message-text><CRLF>
When a message is sent to a chatroom the user is in, the server sends to the appropriate client:
GOTROOMMSG <sender> #<chatroom> <message-text><CRLF>
or if the message is sent directly from one user to another:
GOTUSERMSG <sender> <message-text><CRLF>
Finally, the client can log off by sending:
LOGOUT<CRLF>
Here's a transcript of a sample session where a user named "alice" joins a chatroom called #news after connecting. C indicates the line was sent by the client, S indicates it was sent by the server (end of line indicates CRLF was sent):
C: LOGIN alice
S: OK
C: JOIN #news
S: OK
C: MSG #news hi everyone
S: GOTROOMMSG bob #news nothing much happened after that
S: OK
S: GOTROOMMSG alice #news hi everyone
S: GOTUSERMSG carol hi alice, where've you been?
C: MSG carol on vacation
S: OK
C: LOGOUT
<server closes connection>
When implementing the server, aim for scalability and robustness. (Many submissions fail due to lack of robustness!) Your submission should include a description of the steps you took towards those two goals. Keep in mind that the client may be buggy, or even malicious. For example, if a client connects to the server and sends an infinite stream of the byte 'X' with no line break, the server should deal with this case gracefully. Please do not use an existing networking framework (e.g., Twisted or asyncore for Python, ACE for C++, etc.) to implement the server. The server should support running on Linux.
|
Back to top
|
|