Don't miss Joystiq's up-to-the-minute live coverage of E3!
AOL Tech
Posts with tag programming

Schnippselchen: manage frequently-used code snippets

Schnippselchen code snippet managerSchnippselchen is a source code management app that lets software developers manage multiple types of code that may need to be reused. The program has a sidebar with a "Categories" section (helpful for separating code by language) and a "Snippets" section for the actual titles of your code snippets. So you could have a PHP category with five snippets of PHP code that run your LOLcats social-network site.

Syntax highlighting is supported for many languages and code types including CSS, Perl, Python, XML, Applescript, and SQL. There is also a "Go to Line" feature and the ability to comment on your snippets (so you can remind yourself what those C functions do).

Schnippselchen can run from a thumbdrive (or iDisk) because your snippets are stored in the .app package; keep this in mind if you remove or update the program.

[Via i use this]

Look, I are programmer

LOLCats
We don't know whether this is more an indicator of some hacker's bountiful free time or of the popularity of exploiting cats and kittens for cheap laughs online. Either way, we think it's gnarly. A user of the photo-sharing, feline-themed web site LOLCats.com has built a programming language using the preferred dialect of LOLCats users: which is a cross between toddler talk and l33tspeak. The formula for LOLCats photo captions is to apply this odd way of writing, and the result is usually hilarious. Ie. my "kugfu" iz stronger.

Inspired by such sayings as "do you want karate" and "I'm in ur chair ignorin ur seetin reqwirmnts", the .NET language is called LOLCat. Take a look at this code snippet:

IM IN UR LOOP
IZ APPLE BIGR THAN CHEEZBRGR
BTW comment here.
YARLY
DIAF 1 "Can I haz apple plz"
NOWAY
DIAF 1 "Can I haz cheezbrgr now"
KTHX
[....]


Who knows? LOLCat might end up bigger than Java.

Dev Chair : Faster, better, cheaper with Agile?

Nokia N800
As NASA starts to wind down their Space Shuttle activity in the next three years, the space agency's effort to return to the Moon has been ramping up quietly in the background. With their new Orion/Ares space vehicle combination, crew automation will definitely be on the top of software priorities for NASA. But with a much smaller budget and shorter timescale than the last lunar attempt, would NASA and its contractors embrace new approaches and techniques so our tax dollars are better spent? Can Dan Goldin's "Faster, Better, Cheaper" approaches be finally achieved?

A couple of months ago I was fortunate enough to join ThoughtWorks, a company that advocates the use of Agile software development practices (Extreme Programming, Scrum, TDD, etc.) to bring business value to our customers. I have been using Agile practices on my previous project for over three years and it had proved to be highly successful. And ThoughtWorks' experience in this area proves that Agile can also be applied successfully on large enterprise software projects. But can Agile be used on a highly mission-critical software project such as the one for the Orion spacecraft?

Over ten years ago my first programming job was for small software company developing real-time, safety critical software for controlling railway trains. The work we did was the embodiment of the Waterfall model. The system requirements were collected and analyzed. The model was designed and validated. Then we mere programmers set out to write code to realize the model. Huge amount of unit tests and integration tests were created to make sure our code did what the model said it should do. All the while, the project manager kept track of our progress to ensure that, hopefully, we delivered the product on time and on budget.

At first glance, Agile sounds like a good fit with this type of project where requirements are generally very well defined and correctness are paramount. Short iteration and test-driven development will ensure features are delivered often and proved to be working by the unit tests. Continuous integration means there will be fewer surprises as multiple systems are joined up to work with together. The costs of requirement changes will be reduced and can be implemented quickly, rather than in the next version.

But would the world of safety /mission critical software development, dominated by engineers and scientists, be receptive to the less rigid world of Agile development? Would they feel that without the top down approach, its highly structured development process, and the tightly prescribed set of delivery artifacts, the project delivery cannot be guaranteed?

I would love to hear from people who have more recent experiences in this area of software development with regard to Agile. Is it being used, is it being used widely, and how effective it has been?

Run BASIC: today's time-waster

Run BASIC

Ever wish you could go back to 1984 (and we mean the real 1984, no the other 1984)?

Now you can. Sort of. Run BASIC is a site that lets you relive those heady days of PEEKs and POKEs by giving you a place to run BASIC programs.

Actually, Run BASIC is based on Liberty BASIC, not the more familiar Apple or PC versions, so it only takes you back to 1992. But all your favorite command line and lo-res favorites are there, including hangman and HiLo. You can also write your own programs, or just dig out those old manuals.

This really geeked me out when I saw it. The thrill I got from flipping on our first //e, typing a few simple lines into the built-in BASIC interpreter, typing 'RUN,' and watching my programs actually begin to to something was what got me hooked on computers in the first place as a kid. Seeing how high the computer could count was always a favorite, as was anything that involved an infinite loop or GOTO sequence that left an END someplace other than the last line.

[via Chris]

Teach programming concepts with Alice 3D environment


It's like welcoming LOGO to the 21st century. Alice is a Java based 3D toolkit which serves as an excellent foundation for teaching youngsters the basics of programming. The Alice 3D Authoring system is developed and maintained by the Stage3 Research Group at Carnegie Mellon University

Through a simple drag-and-drop interface you can build all sorts of animation by attaching object methods to events, giving clear visual feedback in the form of the animations you build, but also stealthily teaching simple modern programming techniques. Even the only slightly nerdy kids you know will fall in love with animating characters while learning valuable lessons along the way.

Takes you back to writing simple programs in BASIC but, with a whole new modern twist. Alice is a hefty download, at 115MB, and you'll need Java installed as well. Still, it's free, educational and just the perfect thing for a rainy spring day. Take the jump to see some shots of Alice's user interface.

Continue reading Teach programming concepts with Alice 3D environment

Dev Chair : My love-hate relationship with Apple development

First, let me start with the full disclaimer: I develop Windows .NET application by day (and by night too for ecto) and use Mac OS X at home for everything else. Before getting my Mac Pro last December I used to work on ecto using a second Windows machine, but since then I have been using Visual Studio 2005 in an XP virtual machine using Parallels.

Whether you love or hate Microsoft, you have to give them credit for popularising programming on Windows. While I was a junior programmer fresh out of college learning C++ and working on train control software, truckloads of CS/Engineering graduates were learning to program in Visual Basic. Whatever faults VB has, the way it allows even beginner or causal programmers to learn the craft and produce quick and dirty applications means that programming for Windows was no longer the eminent domain of the traditional CS/Engineering graduates, where FORTRAN and C/C++ rules. Microsoft continues this trend with C#/VB.NET and the .NET Framework, providing a lot of built-in functionality that used to require hand-crafted code or expensive third-party libraries, freeing up developers' time to concentrate on problem solving instead of mechanics.

With OS X, Apple began with Objective-C and Java as the programming languages of choice but ever since version OS X 10.3 Java had been put onto the back burner and is expected to be phased out eventually. Unfortunately, making Objective-C the sole language of the platform also makes it difficult and 'expensive' for Windows programmers, such as yours truly, to join the party. The difference in syntax (despite the 'C' in the name it does not have much resemblance to C or C++), difference in framework and API, difference in IDE philosophy, and the lack of refactoring tools (ReSharper, CodeRush, etc.) and unit testing tools (NUnit, JUnit, etc.) mean that some of the more open-minded programmers (mostly Java and .NET) will not take an active interest in Apple software development.

The upcoming Xcode 3 looks like it would make a big step in closing the gap, but the IDE still lacks the tools mentioned above to attract the time-constrained, less hard core developers from the Windows side of the world. The dark horse may be the combination of Eclipse IDE and Mono project. The Eclipse IDE is mature and has a flexible plug-in architecture so refactoring and unit testing tools can be integrated into the IDE by third party developers. Meanwhile the Mono project has been making lots of progress as far as compatibility with Microsoft's implementation is concerned. And the ability to take code written in Windows and runs it in Linux or OS X (with some limitation, of course) will appeal to Windows developers, at least as a starting point.

In fact, Eclipse/Mono may actually achieve what Sun tried to do with Java all those years ago. Remember 'Write once, run anywhere'?

Dev Chair : It is all voodoo magic

The MatrixMy wife (and the rest of my family in fact) has never comprehended what I do as a software developer. Throughout all the years we have been together she has seen me sat in front of the computer and typed code into the screen for hours on end. But still she does not know how ideas in my head are transformed into a software application like one that she uses everyday. She thinks it is all voodoo magic, really she does. Last week, I explained to her that software development is kind of like cooking. Not the follow the recipes in the cookbook type, rather the Michelin Star chief type where the dish is created out of thin air.

The image of 'programmers' and 'hackers' portrait by Hollywood does not help either. When I tell people that I write computer software for a living, I am pretty sure in their mind they see binary code (probably green) flowing down the black screen continuously in multiple overlapping windows. Just like in 24 or The Matrix, in fact. And coding involves typing a few lines of indecipherable command in one of those black windows, more code flows down, and Boom! Global warming is solved!

While this image works really well in a TV series or movie, unfortunately software development is not that dramatic or glamorous. The idea of someone (be it a genius or a mad scientist) working alone deep in the basement and conjuring a software application out of nowhere and that every single line of code is memorised is so deeply ingrained in the general population psyche that I truly believe this is affecting software development as a whole.

Of course, it is partly our own fault. We, the software developers, have worked so hard to make complex and powerful software easy to use for the users. We have worked so hard to improve our development process to decrease the turnaround time for each development cycle so new features and bug fixes are delivered to the users with increasingly shorter time-scale. This has raised the expectation of the users on our ability to deliver feature that looks deceptively simple on the surface but probably hugely complex behind the scene.

Is there a light at the end of this tunnel for software developers? Perhaps, but only if we work very hard on at least the following two areas. First better design concepts (object-oriented design, design patterns, refactoring), processes (Agile, TDD), and development tools (C# 3.0's LINQ, Ruby On Rails, etc.) will continue to be improved to let us deliver more and faster. These are already in place and many clever people are working hard to take us there. More importantly, as well as building kick-ass software; we also need to begin an education initiative.

We need to change the perception of our work in the users' mind from part voodoo magic, part art, part skills, and full nerds to a disciplined profession. Some may even want to call it 'software engineering', do you believe that?! Until the general population considers software development on the same level as lawyers, doctors, or engineers, recognises the immense complexity of software applications and the skills requires to build them out of thin air, our job as software developers would only get harder and harder.

* Dev Chair: The place where I plant my butt after a hard day of code bashing and muse about meta-issue. [Alex Hung is a co-developer of desktop blogware ecto and will be penning a regular series for DLS about software development.]

Second Life open sources their client

I don't care if you dislike Second Life, think it is stupid, or whatever, the fact that they will open source their client is a bold and smart move. This means people can and will be able to create the system they want and make the kind of software they want it to be. Developers will be able to do infinitely more than they could before now that the Second Life client will be their to tinker with. If you want to breathe fire into your software, give it away and let the developer community loose on it. Second Life's creators think this move on their part will help the community grow faster than ever before. The main idea behind Second Life is a user-generated world, and now this paradigm extends to the client itself.

Internet Explorer 7 Developer Toolbar

IE7 Dev Toolbar
I am in the middle of a large and difficult programming project that is pushing the limits of what I was capable of, so as you can imagine I feel like a stretched out rubber band that is having a hard time shrinking back to the way it was. As if the task wasn't demanding enough, I went looking for tools to help with web development. I am completely set on Firefox, I have all the tools I could need, but for IE 7 (the browser I really wish I didn't have to develop for) my arsenal was admittedly a bit lacking, mostly because the browser is so new and I just hadn't looked at it yet. Upon a quick search I stumbled head-long across this nifty little tool, the Internet Explorer Developer Toolbar. It features a DOM "explorer", the ability to toggle certain IE features, view classes, discover table and other elements for developers and our many headaches. IE7 Dev Toolbar (sounds better shortened, doesn't it) is available on Windows Marketplace as a FREE download. IE Dev Toolbar adds a nice set of features like a customizable ruler, an image dimensions display, a window resizer to allow you test out your pages on different resolutions, and a bunch of other options. This is one of the most inclusive tools I have used. It is definitely worth the glance.

PHP 5.2 released

PHPI don't have to tell you what PHP is obviously, many of you could run circles around me. I don't have to tell you how widely used, versatile, or powerful it is either. All I need to tell you is that 5.2 is out. This release is mostly bug fixes, some new enhancements, just in case you were wondering or hadn't heard yet. PHP is my favorite web scripting language, and I jump all over it when new versions of my favorite software comes out. Via the PHP.net website, these are the new features of PHP 5.2.0:
  • New memory manager for the Zend Engine with improved performance and a more accurate memory usage tracking.
  • Input filtering extension was added and enabled by default.
  • JSON extension was added and enabled by default.
  • ZIP extension for creating and editing zip files was introduced.
  • Hooks for tracking file upload progress were introduced.
  • Introduced E_RECOVERABLE_ERROR error mode.
  • Introduced DateTime and DateTimeZone objects with methods to manipulate date/time information.
  • Upgraded bundled SQLite, PCRE libraries.
  • Upgraded OpenSSL, MySQL and PostgreSQL client libraries for Windows installations.
  • Many performance improvements.
  • Over 200 bug fixes.
And this is the list of security features:
  • Made PostgreSQL escaping functions in PostgreSQL and PDO extension keep track of character set encoding whenever possible.
  • Added allow_url_include, set to Off by default to disallow use of URLs for include and require.
  • Disable realpath cache when open_basedir and safe_mode are being used.
  • Improved safe_mode enforcement for error_log() function.
  • Fixed a possible buffer overflow in the underlying code responsible for htmlspecialchars() and htmlentities() functions.
  • Added missing safe_mode and open_basedir checks for the cURL extension.
  • Fixed overflow is str_repeat() & wordwrap() functions on 64bit machines.
  • Fixed handling of long paths inside the tempnam() function.
  • Fixed safe_mode/open_basedir checks for session.save_path, allowing them to account for extra parameters.
  • Fixed ini setting overload in the ini_restore() function.
So, apparently the PHP guys have been busy bees, and they are doing it all for the good of the common developer like you and me. It brings a tear to my eye...okay not really.

Instacalc: Quick, powerful, shareable calculator

Instacalc
Instacalc just blows my mind. It's such a simple idea, brilliantly executed: It's sort of like a Web 2.0 mini-Excel, allowing you to quickly create a calculator for anything--body mass, loan repayment, YouTube valuation--with simple or complex calculations, and then share them with your friends, colleagues, or the world. It knows lots of mathematical operations and functions, understands things like "3 billion" or "8 kbps," and even does some basic programming-like operations.

Unlike a full-fledged spreadsheet, Instacalc just has rows, and in each row you can enter a number or bit of math, and the result will be shown at the end of the row as you type. You can refer to values from other rows by their row number (e.g. 5 + R1), or you can give a row a name by putting "rowname =" before it and then refer to it by name (5 + rowname). You can click on the result at the end of a row to hide the row and show only the result, and you can put "//" before a row to make it into a comment, i.e. a text label that doesn't do anything but give information to whoever's using your Instacalc. If you've ever done any programming, all of this is probably sounding pretty familiar, but even if you haven't Instacalc is easy to use. On top of all the various operations, you can also quickly create bar, pie, and line charts, like this country population chart.

But wait, it gets better. Like any good Web 2.0 service, Instacalc lets you embed your calculator in any web page with a snippet of HTML.

Obviously, I'm very impressed by Instacalc and am shuffling it straight into my bookmarks. Head over there and check out some of the sample calculators to quickly get an idea of what it's capable of. Once you've played around a bit, post links to your Instacalcs in the comments.

FreeTechBooks.com

Looking for some great free books, or some stored knowledge in the form of e-books, lecture notes, programming texts? FreeTechBooks.com has you covered. All books are legally free and available for online viewing or download. There is a lot of great stuff here, and the only "catch" is that the texts are bound by their own terms, which isn't a problem in my book. Most of the titles are in the computer science or related areas like operating systems, programming, logic and systems analysis and design. There is enough stuff here to keep you busy for a weekend, or several weekends depending on how many programming languages and texts you are interested in.

How-to: Shoot yourself in the foot, programmatically

Shoot yourself in the footI just about laughed my butt off reading this. I'll warn you by saying that you need to be a programmer to even "get" the list of language jokes on this page. Of course you will identify with several different languages than I did most likely, but it is a very funny, very enjoyable site to peruse. My non-programmer wife even enjoyed a few of them because some of them are just funny to read aloud. Don't know what I'm talking about? That's why you have to visit the site, you'll get it. A bit of well-placed programming humor, don't you think?

Google debuts Code Search

google code searchGoogle released Code Search today. It is billed as the single location programmers can search for accessible code. Google Code Search can be searched using precise regular expressions, or restricted searches for particular languages or filenames can be performed. Google's code searcher crawls and indexes the web for .tar.gz, .tar.bz2, .tar, and .zip files. The idea for the code search came about from Google's internal code base search tool that was getting a lot of successful usage. The results from searches seem a little messy, and quite ugly, which might be a deterrent for some users, but could potentially be quite a useful tool for providing more insight into, and solving coding issues quicker.

Real-time HTML editor helps coding and learning

Real-time HTML editorAnyone who has hand-coded HTML (I know, oldskool) has wished for a tool like this real-time HTML editor, though regrettably the days of hardcore hand-coding HTML are pretty much over. I still code HTML in my free time just for the tactile feel of simple code beneath my fingers and remembering the old day before things got easy. Real-time HTML Editor puts your code into practice as soon as (and somewhat before) you type it. Through the power of AJAX, HTML is now more fun. This tool is obviously not for serious coding, but it can help a noob learn the basics or help you text a small script, such as a MySpace layout or something nonsensical like that. I checked it out for the nostalgic value more than anything, so if that is your brand of suck tape, give it a whirl.

Next Page >

Download Squad Features




View Posts By

Categories
Audio (853)
Beta (342)
Blogging (700)
Browsers (44)
Business (1373)
Design (822)
Developer (936)
E-mail (517)
Finance (128)
Fun (1766)
Games (558)
Internet (4863)
Kids (135)
Office (495)
OS Updates (580)
P2P (182)
Photo (471)
Podcasting (167)
Productivity (1330)
Search (265)
Security (547)
Social Software (1126)
Text (438)
Troubleshooting (52)
Utilities (1972)
Video (1028)
VoIP (140)
web 2.0 (785)
Web services (3368)
Companies
Adobe (187)
AOL (50)
Apache Foundation (1)
Apple (473)
Canonical (35)
Google (1311)
IBM (30)
Microsoft (1312)
Mozilla (470)
Novell (20)
OpenOffice.org (43)
PalmSource (11)
Red Hat (17)
Symantec (14)
Yahoo! (355)
License
Commercial (681)
Shareware (194)
Freeware (2027)
Open Source (920)
Misc
Podcasts (13)
Features (391)
Hardware (167)
News (1119)
Holiday Gift Guide (15)
Platforms
Windows (3666)
Windows Mobile (425)
BlackBerry (44)
Macintosh (2093)
iPhone (100)
Linux (1598)
Unix (78)
Palm (177)
Symbian (122)
Columns
Ask DLS (11)
Analysis (26)
Browser Tips (296)
DLS Podcast (5)
Googleholic (201)
How-Tos (99)
DLS Interviews (19)
Design Tips (14)
Mobile Minute (130)
Mods (68)
Time-Wasters (385)
Weekend Review (40)
Imaging Tips (32)

RESOURCES

RSS NEWSFEEDS

Powered by Blogsmith

Sponsored Links

Advertise with Download Squad

Most Commented On (60 days)

Recent Comments

Urlesque Headlines

BloggingStocks Tech Coverage

More Tech Coverage

Other Weblogs Inc. Network blogs you might be interested in: