“Low quality code is not cheaper; it is vastly more expensive, even in the short term. Bad code slows everyone down from the minute that it is written. It creates a continuous and copious drag on further progress. It requires armies of coders to overcome that drag; and those armies must grow exponentially to maintain constant velocity against that drag.” Robert C. Martin
Thursday, April 14, 2011
OSYM sucks in Turkey
So there should be an objective investigation about this exam for over all years. And the justice should be applied.
And a funny thing that the OSYM minister told that there is no encryption, than it is proven there is encryption. Then they told that the encrypted exam book is only for press release and never given to any of the exam participants, today we saw that the encrypted book is released before the exam has been taken. I hope they have a reasonable explanation about it.
Thursday, April 7, 2011
Notes From Scandev2011-The Rules of SOA
-You have to use the right tool for the right problem.
-SOA is not only "Webservice", it is a way of simplifying the integration between different domains.
-You should be aware of the development patterns.
-You have to be aware of what is XML, SOAP and be aware of the cost,side effect, benefit of using them.
Wednesday, April 6, 2011
MapReduce?? Hmm should I know this!
MapReduce framework is patented by Google.
-What patented?
-Don't wory my friend. You don't need to pay any money to Google. This is just for safety.
more on that
Notes From Scandev2011-Apache Hadoop
If you have chunks of data and have to do some manipulation or analysis on that, you probably need to use Hadoop. You don't have to, but life is easier with them. In SDC2011 Josh Devins from Nokia explained how to do log analysis with Hadoop and Pig.(If you are interested in working in Nokia on these cool stuff you may contact them) In some cases Log analysis is a really resource consuming process as you know. By using HDFS-Hadoop-MapReduce technologies you can save your time for your kids.
I don't want to explain every detail of these technologies but if you are in trouble these technologies may save your life. Before you need to use, you have to learn first. If you will be aware of the tools you have, than you can be aware of the problems arising in front of your eyes before they smack on your face. (Google, Facebook, Yahoo, Microsoft and more others are using... so they know something I guess ;) )
If you are interested-->
Monday, April 4, 2011
Notes From Scandev2011-Git Going with a Distributed Version Control System
Spokesperson:Matthew McCullough
The most interesting thing for me is you can make partial commits on the same file with git!
It is possible to search on commit comments.
It is possible to add a control before commit, you can say: Do the commit, if the test is successful.
And Matthew gave some real world examples how fast git is. Its power is impressive. I will try that.
And he mentioned that it is very easy to migrate projects from other source control system to git.
Notes From Scandev2011-NoSQL
And this presentation is about a new approach to storing data in physical space in some other format, and keeping the relational information together to remove the relation information from tables.
He talked about the CAP theorem which can be rewritten as Consistency-Availability-Partition Tolerance, which our relational DB's are not capable of having three of them together.
He gave some example of NoSQL DB's and explained how they manage the most important assets DataModel-Query-Scale.
Some Examples:
Cassandra :DataModel:Big Table-column based(Consistent Hashing)
MangoDB :DataModel:JSON (No Schema needed, object is saved how it is!)
Redis :DataModel:Key/Value store(Redis is a DataStructure Server, wrting to disc optional)
Neo4J :DataModel:REST/JSON, DataMetaphor:Graph
Notes From Scandev2011-Yet More Performance Tuning
Spokesperson:Kirk Pepperdine
I guess this presentation should be more productive. I think Kirk is a great guy on performance tuning, I find his presentation very helpful for every java developer. But it could be more informative, because he made a demo but most of the room was not aware of what is going on. And nobody asked any question after his presentation.
The key point of perfomance tuning we should focus on 4 factors :
- Actors(Usage Patterns)
- Application(Locks, External Systems etc.)
- JVM(Memory, Process)
- HW/OS(CPU, Memory, Disk IO, Network)
- If nothing dominates than check the resources.(This is my addition to 4 factors :))
We have to tune the system before we tune the Application he says. And he says first Diagnostic than Diagnose.
Some performance profile tools: Apache JMeter, HP JMeter, VisualVM, JProfiler, HP LoadRunner etc.
Notes From Scandev2011-JDK7
Spokesperson:Henrik Ståhl
-JDK7 Not a revolution, but an evolution!
This was an informative presentation of new features in JDK7 and Java SE 8
Henrik talked about the enhancements, and Oracle's strategy on Java. He said that the "Evil Company" wants to support Java for its own good. Oracle bought Java for insurance! He said that there exists some open positions in JDK development team, if you are interested you may contact him. May be you want to be one of 10 thousand Java developer in Oracle.
Some enhancements in JDK7: Strings in switch statements, underscore in variable names, multi catch for exception handling, diamond operator etc...
Other Features in Detail
vm : JSR 292: Support for dynamically-typed languages (InvokeDynamic)
Strict class-file checking [NEW]
lang : JSR 334: Small language enhancements (Project Coin)
core Upgrade class-loader architecture
Method to close a URLClassLoader
Concurrency and collections updates (jsr166y)
i18n : Unicode 6.0
Locale enhancement
Separate user locale and user-interface locale
ionet : JSR 203: More new I/O APIs for the Java platform (NIO.2) (turorial on File I/O)
NIO.2 filesystem provider for zip/jar archives
SCTP (Stream Control Transmission Protocol)
SDP (Sockets Direct Protocol)
Use the Windows Vista IPv6 stack
TLS 1.2
sec :Elliptic-curve cryptography (ECC)
jdbc :JDBC 4.1
client : XRender pipeline for Java 2D
Create new platform APIs for 6u10 graphics features
Nimbus look-and-feel for Swing
Swing JLayer component
web :Update the XML stack
mgmt :Enhanced JMX Agent and MBeans [NEW]
+CSS support for Javadoc :)
Thanks to Henrik!
Notes From Scandev2011-Alistair Cockburn
Than the stage was all Alistair Cockburn's, and he talked about shaping the process of software development. He mentioned that, why people are always being beyond the schedule in SW project. He thinks that the software development process is going to be emulated by other sectors in 10 or 20 years by now(I hope so?). And he indicated that every team has to improve themselves on a changing environment. But sometimes the project cost and the team revenue doesn't rise with the same acceleration ratio.
The main idea in his speech was, software development is a cooperative game…
And people should understand the importance of remind-inform-inspire triangle. And the power of communication by face to face talk.
This was an impressive and thoughtful speech to listen.