YAFZ | 5 years ago | on: The Black Swan Theory and Why Agile Principles Fit Better
YAFZ's comments
YAFZ | 5 years ago | on: Ask HN: My wife might lose the ability to speak in 3 weeks – how to prepare?
There's also open source TTS from Mozilla: https://github.com/mozilla/TTS
YAFZ | 6 years ago | on: Turkey buys Delphi licenses for an estimated one million students
YAFZ | 8 years ago | on: Microsoft gives up on Windows 10 Mobile
YAFZ | 12 years ago | on: Do not touch that stone – Do not touch that IDE
My point is not to denigrate any popular process or advanced technological tools. And I don't embrace big design up front for everything, especially when it makes it even more easier (and more expensive) to paint yourself into a corner. I wanted to draw attention to a simple fact: sometimes the medium of production is not necessarily the best medium for thinking about that production and being immersed in that medium can prevent you from realizing this, thanks to the human psychology that took hundreds of thousands of years.
YAFZ | 13 years ago | on: Career Day - A parent introduces programming at her son's school
"... a host of new features such as file and webpage manipulation and advanced colour sensing, cloning and much more besides, Panther provides advanced usage for avid Scratchers around the globe as well as new programmers looking for a fluid, easy to understand starting language."
YAFZ | 13 years ago | on: Career Day - A parent introduces programming at her son's school
The Scratch programming environment, being the most child-friendly system I've ever seen so far (and I have tried to teach children, as well as adults with zero prior programming experience, using environments as different from each other as StarLogo and Python), lets children create amazing programs, but most important of all introduce the fundamentals of computational thinking and creativity with almost zero barriers for entry. From a programming perspective it definitely has a lot of shortcomings (most of which have been addresses by 'add-on's or similar systems built on top of it) but if you want to show the basics to a bunch of kids who are 7 or 8 year olds, then it is a great system.
Moreover, the social aspects of Scratch, namely easily publishing your projects and seeing the source code of others, are a gift. Try to do the same with Python and GitHub (one of my favorite combinations when I'm not dealing with children ;-), starting from scratch (some pun intended) and showing them all the tools... I'm curious how far their attention span would go.
Finally, apparently a number guessing game can be super easily implemented with a 'fake programming language' such as Scratch, too: http://scratch.mit.edu/projects/emres/2859373
And the source code, plain and simple, is probably easier to explain to children (and I had kids create much more complex games, animations, quizzes, etc. with Scratch): http://www.flickr.com/photos/64416865@N00/8121602786/in/phot...
PS: For a nice account of Scratch from a veteran compile developer please see: "Teach children planning and problem solving not programming" http://shape-of-code.coding-guidelines.com/2012/09/20/teach-...
YAFZ | 13 years ago | on: Eclipse Code Recommenders Proposes Code Based On Bayesian Networks
The idea of the code recommenders is to adjust and filter the set of proposals given when the code proposal key sequence is triggered. By default, Eclipse will show the list of public methods (or fields) in alphabetical order. However, when coding against unfamiliar APIs, or ones with many overloaded methods (Quick! Which of the 6 Date constructors is the right1 one to use?), it is not always clear which one should be called.
The code recommenders tool has a database of prior code samples, along with frequencies of the method callers, and uses that to prioritise which method or constructor to prompt for. If most Date constructors use either the zero argument (or single long argument), then these two choices will be presented first, with other ones filtered out. In addition, the proposal can use context sensitive information, so if completing a method call of timezoneOffset = date.get it will prompt the getTimezoneOffset() method as the first selection.
The recommenders project also provides a list of context-sensitive snippets of code. These can be constructed manually, or inferred from existing code samples. As with other Java templates (such as main or syserr), these can be used to quickly implement code.
InfoQ caught up with Marcel Bruch, creator of the recommenders project, and started by asking what prompted the creation of the project:
YAFZ | 14 years ago | on: Google Blockly - a visual programming language
YAFZ | 14 years ago | on: Scalable Game Design Initiative - Programming Goes Back to School
YAFZ | 14 years ago | on: Google Blockly - a visual programming language
This might change your idea: http://day.scratch.mit.edu/
I think it's a little risky to transfer concepts from one domain to another, without taking into account the working assumptions and the surrounding context. For example something as fundamental as the definition of the concept of 'Black Swan' à la Taleb, is a tricky one, let alone its application to the world of software development. Maybe the best we can do so far is to take this in a very broad sense, and interpret it as a general principle: "first, avoid ruin". But, almost by definition, the events outside the control of a software development/project team can be so extreme that it might render the practical application of the principle almost meaningless. (Think about it: what does it really mean in the context of creating a software product really?)
There are of course meaningful principles that apply to creating investment portfolios, strategies, etc.; do they really apply to software development? Are we using similar data sets and statistics for software development and combination of financial instruments? Can we? That's something I can't say "yes" immediately.