All over the world we have these huge spaces like factories, construction sites, clubs, tech campuses and universities where people constantly need to move from a building to another and stuff like that.
I think there’s a good opportunity there for the emergence of a company offering an inward (restricted area), private bicycle transportation service to solve transportation issues in these places.
How would it work?
Imagine yourself as the administer of some university. Let’s say there are 10 thousand people everyday in campus, on average. Now you could ask for 2% the number of people in bicycle, just to begin with (later you could upgrade the number of bicycle, if needed).
There you have 200 bicycle, ready to be used and shared. Awesome, non-polluting, safe, healthy fuel-free transportation for everyone inside the university perimeter.
All bicycle and other equipment would not be purchased by the customer and would be owned by the startup. All things rented, and payment done in the good pay-as-you-go fashion.
How security would work for this idea I haven’t thought much. But one way could be not only restricting the use within the perimeter of the place but also restricting to “verified” people.
Maybe the bicycles could be slightly customized with the subscribing company logo and color.
The monthly subscription would be calculated for every customer. Based on the number of bicycles, parking stations and other equipment requested. Of course any damage done to any of the equipment would mean additional cost for the customer.
Bicycle transportation is becoming more and more popular (not to mention cool) – and represent the best alternative to transport in many situations – these days and this idea would make it way more practical for the possibly interested institutions to implement it.
If you have a tech company or some other kind of company that depends much on hackers, then you certainly can benefit from supporting programming/development user groups.
There are a lot of reasons for it. You may be looking to hire people (and if you’re really a tech company then you’ll probably be doing it all the time), you may be selling products/services for hackers, like web hosting or some proprietary technology or even consulting, etc.
By supporting these user groups, your company may certainly grow its reputation among hackers, and it can only be a good thing.
So I even suggest, don’t spend money with some non-technical recruiter and instead sponsor these groups and use this as your recruiting mechanism.
Also, doing this may be way less expensive than you may be thinking. Of course sponsoring huge events will be costly and may not be the best for your company, but there are always smaller, local user groups to with you can contribute and benefit from.
P.S: now this article could be extended from technical user groups to entrepreneurship meetings too. You can find good opportunities in those.
I started programming in mid 2009 in Python. I wanted to be a hacker, yes. So when I got a PC I started crawling into the web to find out how could I become one.
I’m glad to me it all started with Python, with which you can get started pretty fast and do something interesting right away. This is something very important for diminishing frustration.
Then I started my graduation in Computer Science in a school where Java is used to teach programming and object orientation to students. I was a little worried it’d bore me to death, have to deal with a language so less “dynamic” than Ruby, Python or JavaScript.
But hey, turns out my worries were nonsense. Learning Java is great for grasping more elementary insights about program structure and working. You kinda get to think more about the way everything is supposed to happen in the code.
You start thinking more about memory consumption and management, although we all know that JVM runs a Garbage Collector just like Ruby, for example. But IMO, just the static typing characteristic already has the effect of making you more aware of how you allocated memory resources in a program, which is great.
I plan to really dig into the language with time. I wanna learn everything that is necessary to be a good Java hacker.
What leaves me excited about the future
I’ve head people saying that Java is becoming obsolete and I don’t think that is happening. What I think is happening (and happening for quite a long time already) is that other languages have evolved to solve problems that people thought they could only solve with Java before (or they thought Java was more suited for when it wasn’t), like small/medium web applications and web sites.
Also, the Java community is big. You can find a ready, open source library for a lot of things.
But what leaves me more excited, is how the JVM is becoming more and more popular and evolving in such a creative way, specially through Scala and Clojure. Knowing Java will help you a lot if you decide to become a Scala or Clojure hacker.
Last year I started college and even having some pretty good experiencing in programming, I have failed a lot.
The fact is, in college it is always more about Mathematics than programming itself and I did not know about that before and I took too much time to acknowledge this. So I successfully went thru Programming, Computing and Discrete Math. But failed both Calculus and Linear Algebra.
The Problem with Failing and UFPE
There are actually many problems related to failing disciplines in a Computer Science education. First, it will weaken your self-esteem, or at least that was true for me. Real destroyer. It will delay your graduation, weaken your morale among fellow students and your professors. It will make it impossible to achieve a American/British/German university. Make it harder for you to be accepted in the departments study groups (A.I groups, Security groups, Software Engineering, Aug. reality) or be accepted in Research Projects.
Once you’ve failed, you’ve failed. Even when you get up to your feet again and pass those badass disciplines, you’ll still be marked as a someone who failed. This quite frustrating and depressing.
The problem with me
I’ve never studied really hard in high-school. In fact, thru all the years, I was just a mediocre student and I thought – and man, I wish I hadn’t – that I could just get by without really studying.
Today I think: how could I behave like that and still want to be a Computer Scientist? Guess I was just really dumb!
Then I did the exam, and got admitted at the University.
The overcome
As you might have guessed, I got really frustrated for having failed what I absolutely should not, and could not. Damn it man, it is my dream.
The only way to solve my problem is to really be a good student and do the exam again, get out of college and get in back again. Start over and work really hard. I’ve decided I will do that.
New to Computer Science? Here is my advice
If you are considering starting a CS graduation. Be careful. Try focusing much more on Math than in programming itself. Specially, study fields like Calculus, Analytic Geometry, Linear Algebra, Discrete Math, Statistics and Algorithms. It will help you a lot.
CIn/UFPE, The Informatics Center of the Federal University of Pernambuco
I’m a freshman Computer Science student at CIn/UFPE, one of the main technological centers in Brazil and in this post I’ll explain how Computer Programming is taught there and what are the benefits and drawbacks of their approach.
First, the program is composed by exams, exercise lists and finally, a project.
The program is pretty intensive for they assume the alumni have no previous experience in programming (which is a great assumption to make, of course).
They give preference to the Object Oriented paradigm and use Java. For me, there is no inherent problem here. I think it’s preferable to teach programming with OO first (if you have to choose the paradigm) and I don’t think Java is a bad choice (well, not anymore).
And although Java is pretty syntactically fat (thus making it harder for remembering language instructions), I think this verbosity helps too when you need to visualize how things are supposed to behave and what data is supposed to be represented, and where.
Some concepts are really well explained in the course: polymorphism, encapsulation, DRY principles, inheritance, modularity, project patterns and some basic principles for facilitating code maintenance and understanding between developers.
The Exams
The exams require up to the latest subject given, so they only require what has been covered until the day of the exam. Everything okā¦but, here is the weird part: the exams are done with pencil and paper!
I still find this bizarre even after tons of explanations heard. The main rationale around this (from the professors) is that they need to make sure that the alumni are learning Java properly and that the user’s code development is not facilitated by some tool/IDE like Eclipse, which apparently makes it really hard for someone to miss the language keywords.
Also, the exams are not hard. At all. That’s what is wrong with this approach in my opinion. Programming is much more about learning how to solve problems with elegant and fast solutions than having all keywords from a language recorded in your mind.
The Exercise Lists
During the first part of the program, three exercise lists are assigned, for helping us practice our programming skills. These lists are intentionally more advanced that the topics given, this is done in order to make students really search for solutions and interact to each other to figure out how to make things work.
The Project
Now this is where the course really gets interesting. In the middle of discipline, they shift focus the the discipline project, which is to be developed by teams of two students.
They present us with a project (the class has around 50 members) and each team has to develop and deliver that project within a month, trying to make everything as smart and easy-to-understand-and-maintain as possible.
The project not only helps students really grasp the workings of Software Development but they also help us develop collaboration skills, which is great for any programmer.
Wrapping up
I think the approach at CIn is fairly reasonable except for the written exams. And everything else is very realistic, stimulating and engaging.
So, what do you think of the approach at CIn/UFPE? How do they teach programming at your University?
It’s a very tough to determine wheter a product/startup idea is feasible or really interesting or not. There are many ways to increase the chance of success and many ways to measure growth and market acceptance. But before all of these, I think one should consider asking oneselves some questios about one’s idea. I’ve collected some questions in books and other blog posts and put them all here for future consulting:
Is it something customers want?
What problem are you solving?
Can it be solved?
Whose problem is it?
Will they pay for it?
How hard would it be for another company to copy you?
Why are you able to produce and deliver it more than anybody else?
How hard is it to acquire a customer?
Are your customers coming back or attracting more customers?