|
On Apr 17, 2012 Jordan Mechner released the source code of Prince of Persia. Even though it is the Apple II version written in 6502 assembly language, it was a pleasant experience to dive in the code of that mythical game: As usual there were many fascinating sofware wizardries to discover. The Apple II apparent poor environment for game programming was actually ground to unmatched innovation and creativity : From self-modifying code, in-house bootloader, clever floppy disc format to skewing lookup tables: Prince Of Persia features engineering treasures in every modules. You - and this code - are the only obstacle between Jaffar and the throne.
|
|
|
|
|
I see three main reasons why people might not be thinking about — or even doing! — backups as much any more: Time Machine, cloud services, and new bogeymen.... Needless to say, not paying attention to backups is a dangerous trend — despite Apple’s excellent work with automatic iOS backups to iCloud and Google’s cloud-focused Chrome OS, we’re still years from a mainstream computer operating system that will automatically and reliably back up all local data. (Of course, if the NSA is keeping copies of all our files, perhaps they could let us restore too!) Once in a while, You got to burn down your house, keep your dreaming alive.
|
|
|
|
|
I have very little need to back up. All I back up anyway is all my install files, which are readily available. All my work, code, docs etc. are backed up on bitbucket. And for a bonus, administered and versioned.
The only think I need back up is my media collection, but I've heard or watched them all before, and they're also available everywhere.
|
|
|
|
|
Terrence Dorsey wrote: NSA is keeping copies of all our files, perhaps they could let us restore too!
They have to take care of privacy. Which means that your data are protected from you accessing them!
|
|
|
|
|
Feel like someone is snooping on you? Browse anonymously anywhere you go with the Onion Pi Tor proxy. This is fun weekend project that uses a Raspberry Pi, a USB WiFi adapter and Ethernet cable to create a small, low-power and portable privacy Pi. Be smart and paranoid about your TOR usage.
|
|
|
|
|
In the Linux and Unix operating systems, everything is treated as a file. Whenever possible, those files are stored as human- and machine-readable text files. As a result, Linux contains a large number of tools that are specialized for working with texts. Here we will use a few of these tools to explore a textual source. DIY cyberintelligence.
|
|
|
|
|
A month or two ago, I made a conscious decision that I would return to using as much Free Software as possible. The PRISM debacle of the last week confirmed my fears and reasoning, and so I made the decision to accelerate the schedule. Here’s what I did, and how you can, too. Free software developed by volunteers all over the world. What could possibly go wrong?
|
|
|
|
|
Bloomberg came out with quite a bombshell last night, discussing how lots of tech companies apparently work with the NSA and other government agencies, not to pass data on users over to the government, but to share exploit information, sometimes before it's public or patched -- in some cases so it can be useful for the US government to use proactively. Last month, we had written about how the feds were certainly collecting hacks and vulnerabilities for offensive purposes, but it wasn't clear at the time that some of these exploits were coming directly from the companies themselves. With friends like this, who needs hackers?
|
|
|
|
|
The Hon. David Nuffer has ruled on the SCO v. IBM motions, granting SCO's motion for reconsideration and reopening the case, which IBM did not object to.... The thing that makes predictions a bit murky is that there are some other motions, aside from the summary judgment motions, that were also not officially decided before SCO filed for bankruptcy that could, in SCO's perfect world, reopen certain matters. I believe they would have been denied, if the prior judge had had time to rule on them. Now? I don't know. It will be the year of the Unix desktop before this case finally gets resolved.
|
|
|
|
|
Linux already runs on ARM and while Microsoft continue to play it cagey on their thoughts about ARM binaries for Windows Server, owning a Microsoft Surface I can tell you that Windows does run on ARM today even if there are still massive performance optimisations being pushed out on a regular basis.... While Windows RT is Windows 8 on ARM in 32 Bit Mode it proves ARM like PowerPC or DEC ALPHA in the Windows NT 4 days, is a viable target platform technically. Even if the business case for Windows Server just isn’t there yet. It's only a matter of time (and cheap chips) before Windows Server runs on ARM.
|
|
|
|
|
Citadel was the seventh Microsoft-led operation against botnets. While some researchers commend the company for causing financial pain to cybercriminals, other researchers see the operations as public relations stunts that run roughshod over their work to battle botnets. A Swiss researcher in the nonprofit organization abuse.ch said in a recent blog post that roughly a quarter of the 4000 domain names seized by Microsoft and redirected to its server were actually pointed to the systems of researchers gathering information on Citadel. Watching the watchers watching watchers of watchers.
|
|
|
|
|
Quote: Software Engineering Candies[^]
This article describes how to write unmaintainable code and have an excellent paid job for the rest of your life. The key skill to unmaintainable code is the obfuscation of the code - besides poor design, no test cases and overly complex algorithms. [...] If you really like to write well maintainable code, feel use this as input for things you shouldn't do in your next project.
This may sound as a pure joke, but it should help to write better code.
|
|
|
|
|
I always prefer to read direct suggestions on how to make something better rather than read one of a million examples on how to make something worse.
Stating obvious pitfalls is certainly a good way to create a checklist of things to look out for, especially if they are easy traps to fall into, but I always find I'm left with the "OK, so what's the right way to do this, and when, if ever, is there a reason not to do it the standard way? (ie even the "rules" have their exceptions - and it's these exceptions that show the value of a rule)
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
I think you are absolutely right - that it's better to say the correct way of doing things and not to tell anti-pattern and/or wrong solutions.
After working more than 20 years in software development it's still mysterious for me, why people don't listen when you tell them the right way. But tell a story in an humorously and/or even ironic way let the people start to listen (in the best case to discuss). This is the goal of this small article.
The most important part is: Share this tutorial with your colleagues and discuss how to improve your current project. A good starting point is static code analysis and unit testing. The best is - to do code reviews within the team to find out what can be improved."
Markus Sprunck
|
|
|
|
|
My name is Ariya Hidayat. I live in Mountain View, California.... Right now I’m working for Sencha, a company focusing on web frameworks and tools. My recent responsibility is to architect and build the hybrid web runtime to allow our tools (written in HTML, JavaScript, CSS) run as desktop apps and enjoy native desktop integrations. We talk to Ariya Hidayat, developer, tech blogger, and “software provocateur”.
|
|
|
|
|
Let’s suppose you built an application which loads records in a Grid in a paginated manner. But when you loaded thousands of records, you noticed that, it is taking more time to load than the expected time and your boss was not happy with that. So, what to do? Are there any kind of proper solutions or workarounds to reduce this load time? If so, what are those? Let’s began with our post with a problem statement. Sorry, it won't do the work while you nap, but it will get done eventually.
|
|
|
|
|
This post explains the flow of data within the Visual C++ compiler – starting with our C++ source program, and ending with a corresponding binary program. This post is an easy one – dipping our toes into the shallow end of ocean. Let's examine what happens when we compile a single-file program, stored in App.cpp, from the command-line. (If you were to launch the compilation from within Visual Studio, the diagram below would have to include higher layers of software; however, these end up emitting the very commands I'm about to describe). The latest post from the Visual C++ team in a series on compilation and code optimization.
|
|
|
|
|
|
SQL is hard. Who's to say whether it's harder for the person that has no technical background or the one that is comfortable with object oriented, procedural, or functional styles and has to cross the great divide to set-based, declarative queries. In either case, there's a journey ahead of you. Some good tips for learning SQL.
|
|
|
|
|
Nifty site. I'll send that to a friend who is learning SQL.
|
|
|
|
|
Sony’s Open SmartWatch Project will make it possible for developers to create and install alternative software on the Sony SmartWatch.... Developers can already create apps for the SmartWatch, but with the Open SmartWatch project Sony is expanding the possibilities, according to a blog post on Thursday. Developers can take control of SmartWatch in new ways by creating and flashing their own alternative firmware. The project comes with a number of caveats. Consumers are strongly advised to keep the official tested and verified firmware, according to the blog post. Only developers completely sure of what they are doing should take part, it said. Since when has "know what they're doing" ever stopped a programmer?
|
|
|
|
|
The first time I heard mention of the GIL, it had nothing to do with how it worked, what it did, or why it existed. I only heard about that it was silly because it restricted parallelism or that it was great because it made my code thread-safe. In time, I've gotten more comfortable with multi-threaded programming, and realized that the world is more complicated than that. I wanted to know, at a deep technical level, how the GIL worked. Only, there's no specification for the GIL, and no documentation. It's essentially unspecified behaviour; an MRI implementation detail. The Ruby core team makes no promises about how it will work or what it guarantees. Every programmer's nightmare: code that works, but nobody knows why.
|
|
|
|
|
The word “visualization” once more readily described the act of creating a mental image in one’s mind, whereas today it’s far more likely to mean the graphical representation of information. We are living in an increasingly visual world, peering into screens of different sizes with incrementally superior resolutions at every device upgrade. We are also living in a world with more data available to us than ever before. IBM says that 90% of the world’s data was produced only in the last two years and that we produce 2.5 quintillion bytes of data daily. A look at how journalists are using and explaining data in the news.
|
|
|
|
|
Found it interesting that on one of the visualizations had a hard time reading the state names because they were in gray. Think they need to also think about human factors.
|
|
|
|
|
The core issue might be that both Xbox One and Windows 8 represent bets on bigger, longer-term visions than today’s users aren't interested in hearing about, let alone dealing with day-to-day. But unlike with Windows 8, which is being retroactively “improved” with features that should have been there from the get-go, Microsoft still has a chance to “fix” Xbox One before it’s released. These fixes are easy to implement and should include... Should Xbox One respawn, or keep playing?
|
|
|
|