Classic games, computers and gaming consoles are a source of joy for those who came of age when the titles and hardware were cutting edge commodities. Few things can transport you back to your youth faster than playing with what made you happy back in the day. For some people, playing with the games of yore includes tinkering to make something new and wonderful.
Read the rest
Modder Kaze Emanuar has taken the 2D level design of that older game and crammed it into the engine of Super Mario 64. Judging from the video that announced the mod, this allows the player to do all the leaping, hopping, and air flipping that a modern Mario can do while still enjoying the “classic” feel of the levels.
Coraline Ehmke is a leading figure in the push to make Linux programming more welcoming and inclusiv, supplementing the project's famed Code of Conflict with an enforceable Code of Conduct project called CoC Beacon. Read the rest
Austrian researcher Károly Zsolnai-Fehér from Two Minute Papers presents four examples of AI finding loopholes that programmers had not anticipated. Read the rest
Glitch is a simple and powerful open-source canvas for experimenting on the web—and after a year of beta testing, it's ready for artists and coders to get stuck in. If you want to make things online but get put off by complicated frameworks, the headache of server set up, and myriad incompatible platforms your work has to end up running on, Glitch might be for you.
I tinkered with it for the first time last week, and within minutes had overcome hurdles that I thought I'd never have the time or energy to figure out.
To a casual visitor, Glitch looks like YouTube, but for digital artwork and rudimentary games. You can even embed stuff there on your own site, just like video, though you have to click into the editing tools to get the snippets.
Dig in, though, and it turns into a simple but powerful coding environment: one that can't be messed up, no matter how hard you try. For me, it seems to offer all the freewheeling instant gratification of the early web, but with modern tools and technology -- and the chance to collaborate with other people without having to teach them Git. The promise of just focusing on art or application code seems almost alien to the modern web, but here it is, all without having to be my own sysadmin, security expert and full-stack drudge.
Best of all, you can take anything anyone's done, clone it, and tinker with it, and see the results change live: the best and fastest way to learn markup and scripting languages. Read the rest
In the New York Times, Jason Schreier reports on the game industry's cult of crunch: the pervasive practice of making workers put in 20-hour days, resulting in one met deadline and a many lines of low-quality code.
“People think that making games is easy,” said Marcin Iwinski, a co-chief executive and co-founder of CD Projekt Red, the Polish developer of a 2015 game, The Witcher 3. “It’s hard-core work. It can destroy your life.” Mr. Iwinski, like many other top video game creators, sees crunch as a necessary evil ... A growing faction of game developers, however, argues that it’s possible to make good games without crunching. Tanya X. Short, a co-founder of the independent studio Kitfox Games, asked colleagues to sign an online pledge against excessive overtime. The pledge, which was published last year, has been signed by over 500 game developers. “Crunch trades short-term gains for long-term suffering,” said Ms. Short in an email.
Hey, ever met a geeky computer programmer with a bottomless need to prove his own competence and a political ideology perfectly tailored to capital's needs? Read the rest
Springing from the august tradition of esoteric programming language Brainfuck, behold the mind-mangling power of JSFuck. Read the rest
A version of Yes, an app that says "y" at maximum speed, is built-in to unix-based operating systems. You can test it by firing up a terminal, typing "yes", and then watching it fill your window; you'd usually pipe it to another app or script. But there's a problem: it can only generate 51 megabits per second worth of yes, and something must be done about it.
The trivial program yes turns out not to be so trivial after all. It uses output buffering and memory alignment to improve performance. Re-implementing Unix tools is fun and makes me appreciate the nifty tricks, which make our computers fast.
As benchmarked by the author's computer, 3GB/s of yes is now possible! Read the rest
Interested in learning Python? You can watch all 38 videos for MIT 6.0001 Introduction to Computer Science and Programming in Python from Fall 2016, for free on YouTube.
[via] Read the rest
Nintendo programmer Masahiro Sakura coded the Game Boy classic Kirby's Dream Land on a cartridge-based Famicom console and Disk System that lacked a hardware keyboard. According to a recent presentation given by Sakura, "values had to be input using a trackball and an on-screen keyboard."
Sakura, who was 20-years-old at the time, said he just thought that was "the way it was done."
From Game Watch's report in Japanese, translated by Source Gaming:
At the time, the development tool that HAL Laboratory was using was the Twin Famicom, a console that combined the Famicom and the Famicom Disk System. A trackball made specifically for the Twin Famicom was used with the machine, which read and wrote data to a floppy disk and uploaded data to the floppy disks [during development].
Essentially, they were using a Famicom to make Famicom games. Sakurai told the crowd, “It’s like using a lunchbox to make lunch”. However, because of that, they were able to create a functional test product before the project plan was even completed.
(via Ars Technica) Read the rest
Lunus Sakesson's 256 byte Commodore 64 demo "A Mind Is Born" took first place at the Oldskool 4K Intro compo at the Revision 2017 digital art festival. From his program notes:
The demo is driven by its soundtrack, so in order to understand what the program needs to do, it helps to have a schematic overview of the various parts of the song.
The three voices of the SID chip are used as follows: Voice 1 is responsible for the kick drum and bass, Voice 2 plays the melody and Voice 3 plays a drone that ducks on all beats, mimicking the genre-typical side-chain compression effect.
All in all, the song contains 64 bars in 4/4 time. It is played back at 112.5 bpm by means of a 60 Hz timer interrupt. The interrupt handler is primarily responsible for music playback, while the visuals are mostly generated in main context.
"A Mind Is Born" by Linus Akesson
Read the rest
Humble Bundle has a good sale on Python books right now. For $1 or more, you get three No Starch Python ebooks. There are more books offered at the $8 and $15 level. Read the rest
In his Lifehacker essay looking back on his five years of tinkering with the Raspberry Pi, Thorin Klosowski says one of the desirable features of the Pi is the fact that it's not easy to use right out of the box.
Read the rest
The joy I get from finding a solution to some dumb problem is one of the main things that drew me to the Raspberry Pi to begin with. Thankfully, Raspberry Pi projects have gotten easier over the years. Where it was once a complicated process to build an SD card, it’s now pretty much automatic. Still, the Raspberry Pi is far, far away from being as user friendly as a PC or Mac. That’s a feature, not a bug. The Raspberry Pi is built to force you to learn troubleshooting, and that’s still one of my favorite things about it.
Before hobbyists latched onto the Raspberry Pi, it was a computer for learning how to code targeted mainly at kids. Since then, the appeal has broadened, but it’s still impossible for a project to “just work” out of the box. You will have to tweak something, dig into the command line, or spend a few hours buried in an obscure internet forum to find solutions to problems that only you seem to be having. You will slam your head against the wall, yell a little, and throw your Raspberry Pi at least once for every project you attempt to make.
For every project you complete, for every bug you squash, and for every typo you correct, comes a small, glowing feeling inside your stomach that is well worth the trouble of it all.
Implementing an on/off switch on a general artificial intelligence is way more complicated than it sounds. Rob Miles of Computerphile looks at what could go wrong. Hint: lots. Read the rest
This Tumblr gives new software-development titles to old paintings.
“Engineering manager returning from a budget meeting”
Oil paint, 1888
“Front end programmer”
Giovanni Battista Moroni, 1570–1575
“Sysadmin grants sudo privileges to developer on production web server” - Andrea del Verrocchio and Leonardo da Vinci, 1425-1475, Oil on wood Read the rest
You're probably familiar with Scratch, the introductory programming language that allows kids (and adults) to create interactive stories, games, and animations. Scratch doesn't require lines of code to write programs. Instead, you build programs by snapping together colored blocks. (My book, Maker Dad, has an introduction to Scratch that shows how to make retro-style video games).
Scratch is perfect for kids 8 and up. Recently, MIT Media Lab's Lifelong Kindergarten Lab announced the release of ScratchJr, an even simpler programming language for young children (ages 5-7) to create interactive stories and games. It's free and runs on iPads and Android tablets.
Mitchel Resnick, who runs MIT Media Lab's Lifelong Kindergarten Lab, and Marina Umaschi Bers, a professor in the Computer Science Department at Tufts University, have a new book out called, The Official ScratchJr Book: Help Your Kids Learn to Code. The publisher sent me a copy, and it looks like a great way for parents to learn about ScratchJr so they can get their kids up to speed and let them go off on their own. With full color screenshots on every page, it provides a thorough overview of everything ScratchJr is capable of doing.
Read the rest
When I was a mechanical engineer in the late 1980s I used Microsoft QuickBASIC to write and create simple programs for work. I loved it. It was a compiled BASIC, too, so it was speedy. I used it to recreate a lot of the programs from Rudy Rucker's Chaos software from Autodesk. I got pretty good at writing programs in BASIC, just as I got pretty good at nodding my head when my smarter programmer friends would tell me that BASIC was not a real programming language.
I never learned any other languages, but recently I've started using Python and it is easy and fun. One thing I did with Python was write a nontransitive dice simulator to prove to myself that these confounding dice really worked as described.
I just got my hands on a new book called Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al Sweigart, and it looks like it is exactly what I need: a book for beginners and with lots of ideas for programs that are actually useful. Examples:
Search for text in a file or across multiple files
Create, update, move, and rename files and folders
Search the Web and download online content
Update and format data in Excel spreadsheets of any size
Split, merge, watermark, and encrypt PDFs
Send reminder emails and text notifications
Fill out online forms Read the rest