惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fox-IT International blog
Recent Announcements
Recent Announcements
D
Docker
IT之家
IT之家
B
Blog
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
量子位
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 司徒正美
李成银的技术随笔
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
T
Tailwind CSS Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
小众软件
小众软件
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
M
Microsoft Research Blog - Microsoft Research
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog

The Register - Offbeat: Site News

A word about comments and forums... Register job ads: Devs wanted in Newcastle, opportunities for penguins in Warrington Do you want to become a vulture? Now's your chance to join The Register's news desk Looking for a new IT job? This week's list includes roles ranging from infosec analyst to working on embedded software for set-top boxes Think it's about time for the next challenge? Check out these software vacancies on both sides of the pond USA, Germany, UK: From systems engineer to data centre mechanics guru, here are this week's jobs Fancy a complete change of direction or just ready for something new? Browse our latest job vacancies Time to move on? From dev work to telco engineering to server-wrangling, there are plenty of jobs in this week's Reg listings Time for a change and a fresh tech role? Have a browse of this week's Reg job listings Python charmer? Data science whizz? Linux engineer? Get a load of these exciting career opportunities waiting for you Seeking that perfect role? Come inside and peruse vacancies for developers, testers and DataOps Leaders Looking for an IT person? Searching for a job? Sign up for free ads – or browse through these job openings Your industry needs you: Database engineers, sysadmins and developer vacancies revealed Security experts, systems managers and developers: Lots of intriguing job openings to look through this week Full stack, C++, and backend developers in demand in this week's job openings Looking for a fresh challenge or somewhere new to work? Here are some vacancies: Developers and a digital architect Looking for a new tech gig? Here are vacancies for web devs, games programmers, server engineers and more Looking for a new IT gig? Here are vacancies around the world for developers, cloud engineers, infosec analysts, Jira admin, and more Looking for a new tech gig? Engineers, developers, and Atlassian admin sought – more details inside Looking for a tech job? Have a browse – there are plenty of roles in our biggest listing yet Need a new IT role? These orgs are hiring engineers, leaders, analysts – see inside for more details Short of tech talent to deal with novel coronavirus surge? Let us help – with free job ads on The Register Happy new year, readers. Yes, we have threaded comments, an image-lite mode, and more... Do not adjust your set, er, browser: This is our new page-one design The Register's 2018 homepage redesign: What's going on now? You wanna be an alpha... tester of The Register's redesign? Step this way Wanna work for El Reg? Developers needed for headline-writing AI bots <i>Reg</i> writer wins quite prestigious journalism prism The Register, Heise launch Serverless Computing London Conference Politics is going digital, but guns and money still pack a punch History shows why geeks will never, ever, ever... get along Power: The ultimate web-based commodity The Register Lecture: The secrets of power in the digital age Reg reader Regina is doing Byte Night - and so should you El Reg is hiring an intern. Apply now before it closes Why is it that geeks' favourite enemies are... other geeks? Heavy sleeper? Put your god-given talent to work and raise some cash El Reg partners with Action for Children to give IT industry an uncomfortable night Love bots lecture thrills room full of Reg readers Reg now behind invisible HTML5 Bitcoin paywall The Register's Top 20 Most-Commented Stories in 2016 Got a genius enterprise tech idea? Tell the world about it Need a Brain Lift? Welcome to the Reg Summer School Cubesats, balloons, and rockets: Top prof takes us to new space Things ain't what they used to be... Find out how at The <em>Reg</em> Lecture Geek's Guide to Britain – now a book. Permission to geek out granted <em>El Reg</em> Summer Lectures: Space, robots and digital homes Could you deploy a new version of your business – EVERY WEEK? The Register's entirely serious New Year's resolutions for 2016
Reg Programming Compo: 22 countries, 137 entries and... wow – loads of Python
2016-09-21 · via The Register - Offbeat: Site News

Devops

We have a winner, ladies and gents

ROUNDUP Our latest programming competition was our most popular yet in terms of the number of entries – 137 in all once we'd de-duplicated them.

The judges were intrigued to see just how popular Python is these days: nearly half (a smidge over 48 per cent) of the entries used this as the language of choice, with Java the next most popular at a “mere” 32 per cent. Even more surprising was that almost 12 per cent of entries were in PHP – looks like there are plenty of web developers out there who decided to use their favourite language for our challenge despite it being devoid of any requirement for funky webness.

Entries to the competition, which was sponsored by IBM, came in from 22 countries, which is a fantastic variety. With 79 entries (58 per cent of the total) the UK was the most common, followed by 15 from the USA, six each from Ireland and the Netherlands and five each from Australia, Canada and Denmark.

REG AD

Our favourite entry had to be the one in Fortran 90. The author (Simon: you know who you are ...) noted in the comments: “Not eligible of course because of the weird language constraints but if you're forward thinking and open minded like me you'll at least be interested in this entry”. We're not sure we'd agree that the language constraints are all that “weird” (can't say we see a lot of code in our day jobs where the source filename ends in “.f90”) but we do now know that we can run Fortran 90 programs on a Mac, and it was a fun entry to deal with.

REG AD

We also discovered an interesting fact about Python: throwing stuff into data structures without forcing a sort sequence can end up with non-deterministic ordering of the results. Our test data contained some examples where two competitors ended up with the same score. In no fewer than 12 of the solutions, running the program multiple times sometimes produced A before B in the output file but sometimes plonked B before A. Seems it's a Python thing, as we didn't see it – at least with our test data on our platform – with other languages. Incidentally, where there were two competitors with the same score some of the solutions only put one of them in the output file.

There were refreshingly few schoolboy/schoolgirl errors. We stipulated that the solution should be presented as a single code file, and only a handful of people didn't do this. Those of you who commented that this isn't best practice, programming-wise: yes, we agree, but in this case it was a compromise to make a potentially large number of solutions to a relatively simple algorithm uniform and easy to run via our scripts. And only two entries managed to fail by misspelling “Decathlon” as “Decathalon” in the name of their program and/or the name of the input/output files.

Some of the solutions – 16, or nearly 12 per cent – managed to calculate scores incorrectly. One was a bit weird because it got all but one right, but that single incorrect one was among the less complicated examples. In a handful of cases it looked like things fell off the upper limit of a number representation – some of the higher scores were incorrect where the lower ones were right. Testing solutions prior to submission against a robust set of test data is always a good idea, and in this case there's no excuse for not doing so because there's shedloads of it out there on the internet.

So, for example, when we were writing our sample solutions some of the test cases we used were actually Daley Thompson's real scores from the 1980 and 1984 Olympics, as provided by Mr. Google (noting that the scoring system did change in 1984). And if you're too young to know who Daley Thompson is, ask someone over 40 to bore you with tales of what a legend he was back then.

Output formatting was a problem in some cases, too. Most common was the failure to right-justify some of the higher scores correctly – some competitors perhaps assumed that scores wouldn't be more than four or five digits, so some of the more extravagant test cases extended past the 25th column. And in a couple of solutions the names in the output file weren't expressed in capital letters (the instructions and the sample output stated/showed how this should have been done).

Finally, some solutions fell down by not handling junk in the input file. So for instance we stated in the instructions: “You should ... be prepared for the possibility that there may be extra characters and/or lines after the marker that denotes the end of the input file”. Translated from judge-speak, this means you can be absolutely certain that our test data will have exactly this kind of garbage thrown in to test how you handle it.

On to the results, then. Obviously we immediately discarded the solutions that either didn't run error-free to completion or simply gave incorrect answers when run against our test data. We then had to look at the remaining solutions that had processed the data correctly and decide which we liked most with regard to how they were written, the clarity of the code, the efficiency of the algorithm (not the actual execution time – that would be an unrealistic comparison) and so on.

And after some deliberation... we've decided that the winner this time round is Brett Fernandes from Gauteng in South Africa. Well done, Brett.