Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Saturday, October 31, 2015

Alive let's you code C# "live"


Programming is a curious thing. You have to imagine what the code you're writing will do once it's finished, but sometimes what you think you'll get and what you actually get are two completely different things. Alive is Visual Studio plugin that allows you to better see what's going on, in real time.

Saturday, April 26, 2014

Top 20 replies by programmers when their programs don't work


Being a programmer, I couldn't resist sharing this list os "top 20 replies by programmers when their programs don't work"; for the most part because I suspect I've already used them all at least once (probably more, but who's counting?)

  1. That's weird...
  2. It's never done that before.
  3. It worked yesterday.
  4. How is that possible?
  5. It must be a hardware problem...
  6. What did you type in wrong to get it to crash?
  7. There has to be something funky in your data.
  8. I haven't touched that module in weeks!
  9. You must have the wrong version.
  10. It's just some unlucky coincidence.
  11. I can't test everything.
  12. THIS can't be the source of THAT.
  13. It works, but it hasn't been tested.
  14. Somebody must have changed my code.
  15. Did you check for a virus on your system?
  16. Even though it doesn't work, how does it feel?
  17. You can't use that version on your system.
  18. Why do you want to do it that way?
  19. Where were you when the program blew up?
  20. It works on my machine.

If you're a programmer... can you see yourself in there somewhere? :)

Tuesday, April 1, 2014

Google revolutionizes computer programming with Talk-to-do


Some say that the language everyone needs to learn these days is not a "human language" but a computer language. Programming is becoming essential in our day and age, where computers have the potential to do everything we want. But not everyone is able to speak "computer language", and even when they do, they often fail to translate their ideas into something computers can understand. But soon, all that can change... and anyone and everyone might be able to make their dreams come true.

Just the other day we saw how anyone can do complex tasks using easily understandable common language. Now, with this new Talk-to-do project by Google, thing will get even simpler.

Instead of having to learn a computer language, this project allows you to simple talk to your computer and tell it what you want to do! You can thing of it as a mashup of wolfram dynamic language, Google Now voice actions, Siri, IFTTT, and more - all mixed together to make whatever you want come true.

Want to make a program that alerts you whenever a Facebook friend goes out of town? Simply say something like: "Send me an email whenever a Facebook friend goes out of town". Yes, it's that simple.

In a closed session demo, Google engineers showed how you could easily code a pac-man style game using nothing but your voice (even the graphic elements were created by simply describing it to the computer - and the system is intelligent enough to ask you for added details whenever it needs to do so).


This will definitely revolutionize the way people interact with computers, and I can't wait to see what "regular people" will be able to code using Talk-to-do when Google opens it up to the public. Computer programming will never be the same again.

Friday, February 28, 2014

Koding offers you an extra GB for easier online programming


I think everyone agreees that the most difficult step one faces when it decides to learn how to do some sort of computer programming is... deciding to actually do it. In the beginning, everything is scary and strange, and every excuse is more than enough to postpone that beginning indefinitely. Koding is an online development environment that takes cares of all that, and is currently offering up to 20GB for free.
Koding is an online development environment with the goal of simplifying worldwide development and providing free computation and development to everyone. It does this by offering Free VMs for development to anyone. The Koding VMs provide you with a real Ubuntu OS, with areal Terminal, and allow you to work on real code. Python,PHP, C++, C, it doesn’t matter. Even better, they are online. Accessible from anywhere in the world. Even sharable with teams.

So, you need no more excuses to postpone your coding. Thanks to this service, you have a dedicated machine for you to "mess around" and try whatever you want, without fearing it might break you actual physical computer - and you can do it from any browser in the world. It's also a very easy way for you to share and collaborate in teamwork (for instance, working on a coding project for school).

If it sounds good you can start with 4GB space in Koding instead of the usual 3GB, and you can get an extra 1GB for every friend you refer up to 20GB (this week only).


Monday, December 9, 2013

Google remembers Grace Hopper with Doodle

One can think of computers and programming as mainly a "manly" affair, but you'd be surprised with how many things we take for granted today were actually devised and developed by women. One such case is the intrepid computer pionnerd Grace Hopper, without whom we might still be talking to computers in "ones and zeros".

The computers Grace Hopper had to deal with wouldn't be recognizable by anyone born on the XXI century. Those were the days of computers taking entire rooms, with punch cards telling them what to do. Grace thought here should be a better way for people to tell computers what to do, instead of having to learn binary machine code, and so she created the first compiler: a program that translates an easier human readable programming language into the binary machine code computers love.

Soon after, she also contributed to the creation of the COBOL computer language (a language I still learned at school, and that I only remember of enjoying... even though I can't really say much more about it these days.)

Grace is also attributed with the term "debugging" after finding a moth messing up calculations inside a computer (the last part of the Doodle is a testament to that. :)

Even at age 80, Grace was still as sharp as ever, as you'll be able to see in the following video; and even not that she's gone, she's still a testament to how women have shaped the way computers are today.

Tuesday, October 8, 2013

Developer teaches homeless man how to program


There's a  well known Chinese proverb that says something like: "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime". If you think fish and technology have nothing in common, what I'm about to tell you might change your mind. In fact, the key issue here is exactly change... and how little it takes, if you're willing to make a difference.


McConlogue is a 23y old developer working in Manhattan, and everyday he passed by a homeless man: Leo. So he decided to do something about it and challenged him: the next day he would return, and either give him $100 and be done with it; or bring him some books and a very cheap laptop, so he could learn to program (as well as give 1h per day to help him along the way). Leo wisely chose to learn to program.

Let's be frank. It's highly unlikely that this episode will miraculously fix every problem Leo has. However, it's certainly a step in the right direction - quite possibly a very big step, as it is bound to become an "example" that will make its way around the world (though what matters the most is to see how things will go on, after the limelight and his 15 "minutes" - or should I say "seconds"? - of fame have passed.)

At the very least it may help remind us (all of us) that sometimes we should take the time and go past the obvious dismissive look with which we discard those that often are labeled as "undesirables". To change the world maybe you don't need a billion dollares and lobby the powers that be to do something. To change the world all it takes is for you to do it yourself, a tiny second at a time.

Saturday, March 9, 2013

Hello World! Processing


If you recall our previous post about Processing, you'll remember just how powerful - and yet simple to use - tool is used by dozens of thousands of people worldwide to create amazing visualizations (and more). Today, I bring you this "Hello World! Processing" documentary, that expands even further how Processing is being put to use, and how it changes the creation process.

A documentary that arrives just in time to greet the upcoming Processing 2.0 with all its enhancements (like having OpenGL as part of the core of the entire system), and that is perfect for watching in a Saturday or Sunday afternoon.

Afterwards, I dare you not to feel compelled to install Processing (in case you haven't done so already) and follow our step by step processing 101 introduction... and move on from there.



Wednesday, January 30, 2013

Firefox OS Boilerplate App

When you're starting to develop in a new language or for a new platform, every little bit of help counts. And that's precisely why Firefox OS developers will like to know they can now take a look at this Firefox OS boilerplate App and see how they can implement some of the basic (and not so basic) features.

For instance, this app contains examples for WebActivities and WebAPIs, doing stuff like: taking pictures, image pickers, dial numbers, add contacts, send SMS, share URL and images, add alarms and notifications, vibrate the phone, check the battery status, etc. etc.

Certainly it will come in handy for all developers wishing to dive into Firefox OS App development - a platform which I sincerely hope to have a bright future, as it will bring us closer to a truly universal mobile platform, where the apps you want to use (and buy) won't be locked to a particularly platform like iOS or Android, which you'll lose access to should you ever consider switching to a device of a different platform.

Thursday, November 24, 2011

Android Preview Tool Shares your Desktop Screen


No matter how many Android simulators you have, there's nothing like seeing how your App looks in the actual physical device. Things that might make sense when designed/viewed in a large desktop monitor may prove to be cumbersome to use when you're holding your smartphone or tablet, and can't easily "reach" the spot with your fingers.

But now, you'll be able to design your App better and faster thanks to this Android Preview Tool.

The idea is simple, it simply replicates a part of your screen on your android device's screen, in real time, making it very easy for anyone to try out their designs and see/feel how it works in the real world.

Sunday, November 20, 2011

Learn to Make Apps for iPhone and iPad

I'm sure lots of people - you and I included - have already thought of an App they would like to create for the iPhone and/or iPad. But the hard part is: where to begin?

Now, Stanford University lends us a helping hand with a free Application Development podcast via iTunes U where Paul Hegarty explains us, step by step, how we can create an amazing App that might become the next huge success on the internet. And even if it doesn't, at least you'll know how to create Apps for the iPhone and iPad.

The course has 13 episodes, and it the perfect example of how global reach can teach people around the world using new technologies.

New lectures will be posted each Monday, Wednesday and Friday.

It is recommended you already have C language and programming experience; if that's not your case, you might want to try with another beginner/introductory course to programming languages.

Saturday, November 20, 2010

Invent Games in Python

Want to learn (or teach someone) Python? Then I recommend you give this open-source and free Invent Your Own Computer Games with Python book a try.

Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the example.

“Invent with Python” was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before.

Seems like a very nice to give your first steps into making your own games, instead of just playing it.

Friday, July 16, 2010

AppInventor - Create your Own Android Apps

Have an ideia for a "killer" Android App but have no knowledge in programming languages? Well, have no fear, AppInventor is here!

Suited for younger people and/or anyone else without the time (or patience) to learn a "traditional" computer programming language, AppInventor allows you to create your own Apps in a much simpler and faster way (you might notice its MIT's Scratch origin.)

Don't be fooled by it's simplicity. There is virtually no limits to what you can do with it. Some people created Apps that automatically respond to SMS while they're driving; or Apps that automatically call for help if they detect someone falling down (using the accelerometers) and not getting back up within a specified time limit.
So... it's really up to you to have that amazing idea you want to try out in your Android.



So, no more excuses not to have you own App adding up to surpass the 100,000 Android Apps  in the Market!

Thursday, December 10, 2009

PhoneGap - Mobile Development Made Easy

One of the presentations I couldn't miss at Codebits was Brian LeRoux talking about PhoneGap.

I had heard about PhoneGap, but nothing like watching a live presentation about it. :)



So, what's this PhoneGap from Nitobi? Well, it basically allows you to quickly and easily develop for a number of mobile devices.
Imagine your boss comes around and asks you to code an App to run, not only on an iPhone (that would already be an hurdle for most non-iPhone programmers) but also Android, Windows Mobile, Blackberry,  and Symbian?

Would you really be willing to waste a lot of time learning all those platforms? With PhoneGap you can easily develop your App using HTML and Javascript, and know that same single App will run on all those devices!
(For javascript they recommend XUI, which is quite compact and allows a better user experience on mobile devices.)

As mentioned by Brian right in the beginning of the talk, the objective of PhoneGap is to cease to be needed. Hopefully, as web standards evolve, all this stuff should be provided in a standardized way. Think of it just as an helper layer that allows you to do your work at this moment. (A bit like Google did when they launched Gears to allow offline use; something that now has been deprecated by HTML5 features.)

Until that happens, if you want to use geolocation, accelerometers, sound, vibration, and others... PhoneGap is the way to do it.



And if you need any help, be sure to check PhoneGap on Google Groups.

Sunday, July 5, 2009

Microsoft .Net Micro Framework

To prove I have nothing against Microsoft per se, today I'll talk about something I was really glad to find: Microsoft .Net Micro Framework.


Although I often criticize lots of MS products and decisions, I won't deny there are lots of good things MS has accomplished over the years. Visual Studio and .Net framework being some of them; setting a standard for programming environments that all others are compared to.

Now, this .Net Micro framework edition allows us to take that easy and fast programming to much smaller devices:
The typical .NET Micro Framework device has a 32 bit processor with no external memory management unit (MMU) and could have as little as 64K of random-access memory (RAM).
Which suits devices like these:





Smallest Footprint64KB RAM, 256KB Flash
Processor
  • ARM7 (with or without MMU)
  • ARM Cortex M3
  • ARM9
  • ADI BlackFin
Real-time OS.NET Micro Framework is not real-time, but can be hosted on a real-time OS as an option
Application development
  • Managed code using Visual Studio 2008 and C#
  • Native C/C++ code interop capabilities
Tools
  • Visual Studio 2008 + .NET MF SDK: application development
  • Visual Studio 2008 + .NET MF Porting Kit + native platform compiler: interop and custom BSPs
Support
  • 10-year product support life cycle
  • Microsoft Developer Network (MSDN)
  • Partner resources / ecosystem


If you're working on embedded programming, you'll want to give it a look.

Monday, May 18, 2009

Pixel City - Procedural City

If you were asked to create a virtual city withou using a single photograph or stock texture, how would you do it?

This PixelCity shows you how it can be done, using just procedural methods. And as you'll be able to see in the following video, the results are... amazing.



Better yet, you can follow this project step-by-step in Shamus Young's blog.

Friday, April 17, 2009

ToneMatrix Synthesizer

A very interesting demo, inpired by Yamaha's Tenori-On as explained by its creator.


So, just try out this ToneMatrix by Andre Michelle.

If you're really into Flash programming, then you'll find his lab to be an amazing resource for ideas and demos: including 3D mapping, physics, particles, sound, video, and many other things.

Thing like this curious cable clock:

Thursday, April 2, 2009

Microsoft Labs Small Basic

For many people, BASIC was the first computer language they had the chance to play around with. That certainly was the case for me, and that's probably why I can't stand indifferent to this remake made by Microsoft Labs: Small Basic.

Intended to be a simple and fun way to learn computer programming, this Small Basic uses a reduced instruction set (only 15 keywords) - while still allowing you to create complex programs and games, and even use web services.

You can check some of the available examples, like a Tetris-style game, as well as searching photos on Flickr. And lots more, available from Small Basic blog.

You can also download a PDF introduction to Small Basic .


If writing code is not your thing, you can always check a more modern approach to programming like MIT's Scratch.

Sunday, March 8, 2009

Javascript

No one can deny javascript is playing an ever more important role by the day. From its simple origins, as a way to execute some simple code on a client-side browser, it has proven it can handle much more than most people would have thought possible, like that javascript motion-tracking example I talked the other day.



This presentation talks about the good, the bad (and yes, also the ugly) things in Javascript and is a precious reference to all those wanting to keep up to date in this amazing programming language that is sure to become even more important in the coming years.

via [google code]

Monday, November 3, 2008

Android vs iPhone [Code Performance]

It looks like Android still has some kinks needing ironing out, at least if they want to attract even more developers.

In a very simple test, to try to assess its code performance Android's Java was about 100 times slower than the same code running on an iPhone.
(And before anyone starts taking me out of context: remember I'm saying: 'a  very simple test'! And I'm referring just to the Java VM code - not Android's API functions and routines.)

Although this doesn't mean you can't develop very interesting applications (just take a look at whole those already out there) it may certainly drive a few of them away because they'll be unable to implement "high-performance" routines.

I'm curious to see if Google will address this "problem" in the upcoming revisions and firmware updates.

Sunday, October 19, 2008

Debugging Javascript with Blackbird

Talking about JavaScript, if you're the kind of developer that is tired of using "alert()" when you're developing a script, you'll be pleased to know you'll soon never have to do it again.Let me introduce you to Blackbird.


This open-source JavaScript message logger will allow you to easily check what's going on behind-the-scenes in your javascripts.
It won't substitute a full-fledged debugger like Firebug, but it will certainly save you a lot of time tracking down what's going wrong.

(And you won't need to install anything on your computer or browser to use it.)

Amazon Store