argon bulletin board

Факултети => Факултет по математика и информатика => Темата е започната от: artanis в 07.05.2004, 23:42:00

Титла: отворен код
Публикувано от: artanis в 07.05.2004, 23:42:00
здравейте,

интересно ми е дали студентите подкрепят идеята за отворен код. дали биха публикували свои програми, например във форума. не става въпрос да дискутираме за и против, а за това дали конкретни хора биха публикували конкретни програми тук. така тези, които публикуват, могат да обменят ценен опит, а за студентите без много опит, това би била една много полезна база от данни за разучаване на нови езици, алгоритми и т.н. за университета това значи престиж, тъй като студенти от други университети в България могат да ползват публикуваните програми за свои нужди. какво мислите, подкрепяте ли идеята за отворен код? въпросът ми е основно към завършващите студенти, но и всички, които подкрепят идеята за отворен код.

поздрави:
Атанас
Титла: отворен код
Публикувано от: Naiden в 12.05.2004, 21:51:00
as mislq che ideqta e super zasajelenie sam prekaleno nepostoianen za da sedna i napravq neshto v momenta samo gledam da ucha i ucha i ucha ...  (http://forum.argon.acad.bg/html/smile.gif) inache as primerno mn bih se kefil na tazi ideq i dori mislq che ne e nujno da se publicuvat source-ove samo s uchebna cel mi i po princip .. tyi kato povecehto hora " gi e strah " samo spomenavam che ne e nujno da e pod GPL ima drugi licensi koito zabranqvat pipaneto na koda modificiraneto a pozvolqavat samo gledaneto taka che za ucebni cceli e super
Титла: отворен код
Публикувано от: BORIME4KA в 15.05.2004, 11:30:00
Много ясно, че зависи за какъв точно отворен код става дума... Ако направя нова версия на Windows (и не толкова бъгава, при това), вярвай ми, няма да й покажа кода... иначе ще стане UNIX ;-)
От друга страна, разни програмки от състезанията по програмиране или пък простички неща ще дам с удоволствие... Например курсовият си проект, над който работя в момента.
Титла: отворен код
Публикувано от: artanis в 16.05.2004, 00:29:00
BORIME4KA,
вярвай ми, ти не можеш да 'направиш' нова версия на Windows, дори и толкова бъгава като досегашните (въпреки, че ще се намерят хора, които няма да са съгласни, че Windows непременно е бъгава система)
тук не говорим за учебна цел (че като знам колко за ученолюбиви студентите ...)
тук говорим за обмяна на опит
аз, например обмислям да дам кода на едни функции на C++ за работа със стрингове. кодът е елегантен и е внесен от централна Европа.
кажете, като сте готови да споделяме и обсъждаме реален код. не само да мислим, да обмисляме и накрая нищо да не стане, и само да сме си загубили времето да пишем по форумите.

поздрави на всички:
Атанас
Титла: отворен код
Публикувано от: Naiden в 25.05.2004, 21:05:00
as pyk dori da pritejavam source na neshto genialno dori na nebugav windows pak vednaga go praa open source.
pyk i na windows nishto mu nqama chesno kazano ... ne e po bugav ot linux apak ako nqakoi iska da si sporim za security linux vs windows...  (http://forum.argon.acad.bg/html/smile.gif))) hubavo navit sam e vij nachi BSD e druga raota tam e jelqzna istoria :P
Титла: отворен код
Публикувано от: artanis в 26.05.2004, 21:32:00
едно парченце красота  (http://forum.argon.acad.bg/html/smile.gif)

с тази функция на C++ поздравявам всички почитатели на Delphi

void read_ln(FILE *file, char *buffer)
{
   fgets(buffer, LINEBUFFER_LENGTH, file) ;
   if (strlen(buffer)>=1)
   if (buffer[strlen(buffer)-1]<32) buffer[strlen(buffer)-1]='\0';
}
Титла: отворен код
Публикувано от: Георги Соколов в 31.05.2004, 18:02:00
Хайде ето и от мен парченце красота което ме отчая днес(накара ме съвсем да се откажа от C-то и да се върна на добрия стар паскал)! Може би това ще е полезно за по начинаещите програмисти. Идеята е как се записва и чете структура в двоичен файл.

void write_to_binary_file(Firma p_Data)
{
        fstream binary_file("test.dat",ios: (http://forum.argon.acad.bg/html/redface.gif)ut|ios::binary|ios::app);
        binary_file.write(reinterpret_cast<char *>(&p_Data),sizeof(Firma));
        binary_file.close();
}

        void read_from_binary_file()
         {
             Firma p_Data;
             fstream binary_file("c:\\test.dat",ios::binary|ios::in);
             binary_file.read(reinterpret_cast<char *>(&p_Data),sizeof(Firma));
             binary_file.close();
         }

Титла: отворен код
Публикувано от: sasquatch в 30.06.2004, 10:43:00
Айде на структурите

#include <cstdlib>
#include <fstream>
#include <iostream>
using namespace std;

#define COUNT 10
struct s1{int a;int b;double c;};

template <int x> class u2{
public:   
   union{
      char content[x*sizeof(s1)];
      s1 array
   };
};
u2<COUNT> temp_out;
u2<COUNT> temp_in;
int main(int argc, char* argv[])
{
   for(int i=0;i<COUNT;i++){
      temp_out.array.a = i;
      temp_out.array.b = i*2;
      temp_out.array.c = (double)i/2;
      
   }
   std::ofstream out("test.dat",ios_base::binary | ios_base::trunc);
   if(!out){
      cout << "Error opening file!" << endl;
      return 1;
   }
   for(i=0;i<COUNT*sizeof(s1);i++){
      out.put(temp_out.content);
   }
   out.close();
   std::ifstream in("test.dat",ios_base::binary);
   if(!in){
      cout << "Error opening file!" << endl;
      return 1;
   }
   for(i=0;i<COUNT*sizeof(s1);i++){
      in.get(temp_in.content);
   }
   for(i=0;i<COUNT;i++){
      cout << temp_in.array.a << " " << temp_in.array.b << " " << temp_in.array.c << endl;
      
   }
   in.close();
   return 0;
}
Титла: отворен код
Публикувано от: Пуйка в 30.06.2004, 15:14:00
Ми Google знае всичко. Вместо да събираш боза от данни с програми за студентите просто можеш да им препоръчаш да се запишат на курс по английски. Освен това ако някой още не знае - българските програмисти (в по-голямата си част) са гадни заядливи копелета, които си мислят че знаят всичко, а другите нищо (аз не правя изключение). Ако търсите отговор на някой въпрос НЕ ГО пишете в български форум. Това само ще предизвика як бой между резидентите във форума, който накрая ще изроди вашия въпрос в нещо от сорта на "Колко бира може да са налее в CString преди да ви свърши swap файла". Ако искате бърз и точен отговор, потърсете го в някой форум на руски или на английски.

А колкото до красотата:

maxlinechars = max([len(x.strip()) for x in file("blah.txt") if x.strip()[0] != "#"])

Когато някой от вас успее да го напише това на 1 ред на C или Паскал да дойде да ми се обади... (аа... и реда да е по къс от 200 символа  (http://forum.argon.acad.bg/html/smile.gif)
То така като гледам

maxlinechars = max([len(x.strip().split("#")[0]) for x in file("blah.txt")])

ще свърши май точно същата работа, даже и по добра...
Титла: отворен код
Публикувано от: sasquatch в 01.07.2004, 01:53:00
същото го върши на баба ти фърчилото, я като си толкова отворен (отзад) виж това, и съм го взел от БЪЛГАРСКИ ФОРУМ не от руски или английски:

/^(.*?)([^\/\n]+)$/,$p=$1,$o=$_=$2,s/[\W_]+/\./g,rename($p.$o,$p.$_)for `find *|tac`

Айде господин много знаещ - на какъв език е и какво прави  (http://forum.argon.acad.bg/html/wink.gif)
Титла: отворен код
Публикувано от: sasquatch в 01.07.2004, 02:05:00
Ти ако мислиш че БГ програмистите са по долу от другите много се лъжеш пич, да не си 5-ти клас?
За това ли SAP имат лаборатория тук, че и търсят още персонал, но това е предполагам защото БГ програмистите са заядливи "копелета" които знаят всичко и го израждат в swap файлове, CString-ове и бира.
Айде сега поздрав за всички C++ програмисти и т.н.:

package edu.ecl.delc.modules.actions.portlets;

import org.apache.jetspeed.portal.portlets.VelocityPortlet;
import org.apache.jetspeed.modules.actions.portlets.*;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.torque.*;
import java.sql.*;
import java.util.*;
import edu.ecl.delc.dataobjects.*;

public class QuestionsAction extends VelocityPortletAction {
  private final String INPUT_COMBO_LECTURES = "lecture_combo";
  private final String INPUT_COMBO_THEMES = "theme_combo";
  private final String INPUT_QUESTION = "input_question_1";
  private final String INPUT_QUESTION_POINTS = "input_question_points_1";
  private final String INPUT_QUESTION_ID = "input_question_id_1";
  private final String INPUT_THEME_ID = "input_theme_id_1";
  private final String INPUT_ANSWER = "input_answer_1";
  private final String INPUT_ANSWER_ID = "input_answer_id_1";
  private final String INPUT_ANSWER_IS_CORRECT = "input_answer_is_correct_1";

 protected void buildNormalContext(VelocityPortlet portlet, Context context, RunData rundata) throws java.lang.Exception {
    String doaddquestion = rundata.getRequest().getParameter("addquestion");
    String doeditquestion = rundata.getRequest().getParameter("editquestion");
    String doeditanswer = rundata.getRequest().getParameter("editanswer");
    String doaddanswer = rundata.getRequest().getParameter("addanswer");
    String dodeleteanswer = rundata.getRequest().getParameter("deleteanswer");
    String dodeletequestion = rundata.getRequest().getParameter("deletequestion");

   if(doaddquestion!=null){
      doAddQuestion(rundata,context);
    }
    else if(doeditquestion!=null){
      doEditQuestion(rundata,context);
    }
    else if(doeditanswer!=null){
      doEditAnswer(rundata,context);
    }
    else if(doaddanswer!=null){
      doAddAnswer(rundata,context);
    }
    else if(dodeleteanswer!=null){
      doDeleteAnswer(rundata,context);
    }
    else{
      doView(rundata, context);
    }
  }
  private void doView(RunData rundata,Context context){
    ArrayList lectureCourses = new ArrayList();
    ArrayList lectureThemes = new ArrayList();
    ArrayList testQuestions = new ArrayList();
    Connection conn = null;
    PreparedStatement stmt;
    ResultSet rs;

   Integer lc_id = (Integer)rundata.getSession().getAttribute("questions_lc_id");
    Integer old_lc_id = (Integer)rundata.getSession().getAttribute("questions_old_lc_id");

   if(lc_id==null){
      lc_id = new Integer(0);
    }
    Integer lt_id = (Integer)rundata.getSession().getAttribute("questions_lt_id");
    if (lt_id == null) {
      lt_id = new Integer(0);
    }
    if (old_lc_id == null) {
      old_lc_id = lc_id;
    }
    else if (old_lc_id.intValue() != lc_id.intValue()){
      old_lc_id = lc_id;
      lt_id = new Integer(0);
    }
    rundata.getSession().setAttribute("questions_old_lc_id",old_lc_id);
    try{
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("SELECT lc.* FROM lecture_courses lc JOIN TURBINE_USER tu ON lc.lecturer_id = tu.USER_ID " +
                                   "WHERE tu.LOGIN_NAME = ?");
      stmt.setString(1,rundata.getUser().getUserName());
      rs = stmt.executeQuery();
      while(rs.next()){
        LectureCoursesNew lc = new LectureCoursesNew();
        lc.setLecture_course_id(rs.getInt(1));
        lc.setTitle(rs.getString(2));
        lc.setDescription(rs.getString(3));
        lc.setLang(rs.getString(4));
        lc.setCountry(rs.getString(5));
        lc.setLecturer_id(rs.getInt(6));
        lectureCourses.add(lc);
      }
      stmt = conn.prepareStatement("SELECT lt.* FROM lecture_courses lc "+
                                   "JOIN TURBINE_USER tu "+
                                   "ON lc.lecturer_id = tu.USER_ID "+
                                   "JOIN lecture_themes lt "+
                                   "ON lc.lecture_course_id = lt.lecture_course_id "+
                                   "WHERE tu.LOGIN_NAME = ? "+
                                   "AND lt.lecture_course_id = ?"
                                   );
      stmt.setString(1,rundata.getUser().getUserName());
      stmt.setInt(2,lc_id.intValue());
      rs = stmt.executeQuery();
      while(rs.next()){
        LectureTheme lt = new LectureTheme();
        lt.setLecture_theme_id(rs.getInt(1));
        lt.setTitle(rs.getString(2));
        lt.setDescription(rs.getString(3));
        lt.setLecture_course_id(rs.getInt(4));
        lectureThemes.add(lt);
      }
      stmt = conn.prepareStatement("SELECT tq.* FROM lecture_courses lc "+
                                   "JOIN TURBINE_USER tu "+
                                   "ON lc.lecturer_id = tu.USER_ID "+
                                   "JOIN lecture_themes lt "+
                                   "ON lc.lecture_course_id = lt.lecture_course_id "+
                                   "JOIN test_questions tq "+
                                   "ON tq.lecture_theme_id = lt.id "+
                                   "WHERE tu.LOGIN_NAME = ? "+
                                   "AND tq.lecture_theme_id = ?"
                                   );
      stmt.setString(1,rundata.getUser().getUserName());
      stmt.setInt(2,lt_id.intValue());
      rs = stmt.executeQuery();
      while(rs.next()){
        Question tq = new Question();
        tq.setId(rs.getInt(1));
        tq.setLecture_theme_id(rs.getInt(2));
        tq.setType_id(rs.getInt(3));
        tq.setQuestion(rs.getString(4));
        tq.setPoints(rs.getInt(5));
        testQuestions.add(tq);
      }
      context.put("lecture_courses",lectureCourses);
      context.put("lecture_themes",lectureThemes);
      context.put("test_questions",testQuestions);
      context.put("lc_id",lc_id);
      context.put("lt_id",lt_id);
      context.put("theme_id",lt_id);
      context.put("action","view");
      context.put("input_combo_lectures",INPUT_COMBO_LECTURES);
      context.put("input_combo_themes",INPUT_COMBO_THEMES);
    }
    catch(Exception e){
        System.err.println(e.getMessage());
    }
    finally{
      try{
        Torque.closeConnection(conn);
      }
      catch (Exception e){
        System.err.println(e.getMessage());
      }
    }
  }
  public void doSelect(RunData rundata,Context context) throws Exception {
    rundata.getSession().setAttribute("questions_lc_id",new Integer(rundata.getParameters().getString(INPUT_COMBO_LECTURES)));
    rundata.getSession().setAttribute("questions_lt_id",new Integer(rundata.getParameters().getString(INPUT_COMBO_THEMES)));
  }
  private void doAddQuestion(RunData rundata,Context context){
    Integer lt_id = new Integer(rundata.getRequest().getParameter("theme_id"));
    context.put("action","addQuestion");
    context.put("input_question", INPUT_QUESTION);
    context.put("input_question_points", INPUT_QUESTION_POINTS);
    context.put("input_theme_id", INPUT_THEME_ID);
    context.put("theme_id",lt_id);
  }
  private void doAddAnswer(RunData rundata,Context context){
    Integer qid = new Integer(rundata.getRequest().getParameter("question_id"));
    context.put("action", "addAnswer");
    context.put("input_answer", INPUT_ANSWER);
    context.put("input_answer_is_correct", INPUT_ANSWER_IS_CORRECT);
    context.put("input_question_id", INPUT_QUESTION_ID);
    context.put("question_id", qid);
  }

 private void doEditQuestion(RunData rundata,Context context){
    ArrayList questionAnswers = new ArrayList();
    Connection conn = null;
    PreparedStatement stmt;
    ResultSet rs;
    int qid = Integer.parseInt(rundata.getRequest().getParameter("id"));
    try
    {
      conn = Torque.getConnection();
      stmt  = conn.prepareStatement("SELECT tq.* FROM test_questions tq WHERE tq.id=?");
      stmt.setInt(1,qid);
      rs = stmt.executeQuery();
      rs.next();
      Question question = new Question();
      question.setId(rs.getInt(1));
      question.setQuestion(rs.getString(4));
      question.setPoints(rs.getInt(5));
      context.put("question",question);

     stmt  = conn.prepareStatement("SELECT qa.* FROM question_answers qa WHERE qa.question_id=?");
      stmt.setInt(1,qid);
      rs = stmt.executeQuery();
      while(rs.next()){
        Answer answer = new Answer();
        answer.setId(rs.getInt(1));
        answer.setQuestion_id(rs.getInt(2));
        answer.setAnswer(rs.getString(3));
        answer.setIs_correct(rs.getInt(4));
        questionAnswers.add(answer);
      }
      context.put("question_answers",questionAnswers);
    }
    catch (Exception ex)
    {
      System.err.println(ex.getMessage());
    }
    finally{
      try
      {
        Torque.closeConnection(conn);
      }
      catch (Exception ex)
      {
        System.err.println(ex.getMessage());
      }
    }
    context.put("action","editQuestion");
    context.put("input_question", INPUT_QUESTION);
    context.put("input_question_points", INPUT_QUESTION_POINTS);
    context.put("input_question_id", INPUT_QUESTION_ID);
    context.put("theme_id",(Integer)rundata.getSession().getAttribute("questions_lt_id"));
  }
  public void doUpdatequestion(RunData rundata,Context context) throws Exception{
    Connection conn = null;
    PreparedStatement stmt;
    try
    {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("UPDATE test_questions SET question = ?,points = ? WHERE id=?");
      stmt.setString(1,rundata.getParameters().getString(INPUT_QUESTION));
      stmt.setInt(2,Integer.parseInt(rundata.getParameters().getString(INPUT_QUESTION_POINTS)));
      stmt.setInt(3,Integer.parseInt(rundata.getParameters().getString(INPUT_QUESTION_ID)));
      stmt.execute();
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally{
      try
      {
        Torque.closeConnection(conn);
      }
      catch (Exception ex)
      {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
  }
  private void doEditAnswer(RunData rundata,Context context){
    Connection conn = null;
    PreparedStatement stmt;
    ResultSet rs;
    Answer answer = new Answer();
    try
    {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("SELECT * FROM question_answers WHERE id=?");
      stmt.setInt(1,Integer.parseInt(rundata.getRequest().getParameter("answer_id")));
      rs = stmt.executeQuery();
      rs.next();
      answer.setId(rs.getInt(1));
      answer.setQuestion_id(rs.getInt(2));
      answer.setAnswer(rs.getString(3));
      answer.setIs_correct(rs.getInt(4));
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally{
      try
      {
        Torque.closeConnection(conn);
      }
      catch (Exception ex)
      {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
    context.put("answer",answer);
    context.put("action","editAnswer");
    context.put("input_answer",INPUT_ANSWER);
    context.put("input_answer_id",INPUT_ANSWER_ID);
    context.put("input_answer_is_correct",INPUT_ANSWER_IS_CORRECT);
  }
  public void doUpdateanswer(RunData rundata,Context context) throws Exception{
    Connection conn = null;
    PreparedStatement stmt;
    try
    {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("UPDATE question_answers SET answer = ?,is_correct = ? WHERE id=?");
      stmt.setString(1,rundata.getParameters().getString(INPUT_ANSWER));
      stmt.setInt(2,Integer.parseInt(rundata.getParameters().getString(INPUT_ANSWER_IS_CORRECT)));
      stmt.setInt(3,Integer.parseInt(rundata.getParameters().getString(INPUT_ANSWER_ID)));
      stmt.execute();
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally{
      try
      {
        Torque.closeConnection(conn);
      }
      catch (Exception ex)
      {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
  }
  public void doSavequestion(RunData rundata,Context context) throws Exception{
    Connection conn = null;
    PreparedStatement stmt;
    try {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("INSERT INTO test_questions VALUES(?,?,?,?,?,NULL)");
      stmt.setString(1, rundata.getParameters().getString(INPUT_THEME_ID));
      stmt.setInt(2, 1);
      stmt.setString(3, rundata.getParameters().getString(INPUT_QUESTION));
      stmt.setInt(4,Integer.parseInt(rundata.getParameters().getString(INPUT_QUESTION_POINTS)));
      stmt.setInt(5, 0);
      stmt.execute();
    }
    catch (Exception ex) {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally {
      try {
        Torque.closeConnection(conn);
      }
      catch (Exception ex) {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
  }
  public void doSaveanswer(RunData rundata, Context context) throws Exception {
    Connection conn = null;
    PreparedStatement stmt;
    try {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("INSERT INTO question_answers VALUES(?,?,?)");
      stmt.setInt(1, Integer.parseInt(rundata.getParameters().getString(INPUT_QUESTION_ID)));
      stmt.setString(2, rundata.getParameters().getString(INPUT_ANSWER));
      stmt.setInt(3,Integer.parseInt(rundata.getParameters().getString(INPUT_ANSWER_IS_CORRECT)));
      stmt.execute();
    }
    catch (Exception ex) {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally {
      try {
        Torque.closeConnection(conn);
      }
      catch (Exception ex) {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
  }
  public void doDeleteAnswer(RunData rundata, Context context) throws Exception {
    Connection conn = null;
    PreparedStatement stmt;
    try {
      conn = Torque.getConnection();
      stmt = conn.prepareStatement("DELETE FROM question_answers WHERE id=?");
      stmt.setInt(1, Integer.parseInt(rundata.getRequest().getParameter("answer_id")));
      stmt.execute();
    }
    catch (Exception ex) {
      ex.printStackTrace();
      System.err.println(ex.getMessage());
    }
    finally {
      try {
        Torque.closeConnection(conn);
      }
      catch (Exception ex) {
        ex.printStackTrace();
        System.err.println(ex.getMessage());
      }
    }
    doEditQuestion(rundata,context);
  }
}
Титла: отворен код
Публикувано от: Пуйка в 01.07.2004, 13:19:00
Точно за това говорех бре душо... Кажеш нещо и всички почват да ти опяват колко си отворен 'отзад' и като си толкова отворен що не си го напишеш сам и т.н. Освен това не ми тикай думи в устата... не съм казал че БГ програмистите са по-зле от останалите. Казах само че са заядливи копелета... или не можеш да схванеш разликата? Се едно. Не ми се перчи с разни Perl ски регулярни изрази... Това, което си написал горе е всичко друго само не и красиво. Общо взето може да си го разчете само тоя ненормалник, дето го е писал. Та за Action а:
1. Не спазваш конвенцията за именуване на променливи.
2. Смисъла на PreparedStatement е да си го Prepare неш... а не да го правиш всеки път, щото е доста по-бавно от нормалния Statement. И като имаш предвид че Torque ти предоставя такава възможност...
3. Що не тикнеш всичко в един try-catch(Throwable th) блок? В смисъл къф е смисъла да catch ваш Exception като не го обработваш... Поне пиши по едно съобщение на админ а на Кю то че базата му не бачка... Портлета като ти покаже празна таблица това какво е? Няма данни или базата не бачка?
4. Константите трябва да са ти static, за да не се инстанцират 10 стринга всеки път, когато някой ти инстанцира Action а. После ми опявайте че Java та била бавна... Ако не знаеш, време е да научиш че new е най ама най-бавната операция в Java.
5. Преди да кажеш на Torque да затвори Connection а (той реално не го затваря, само го маркира като свободен...), поне провери дали имаш такъв... Той няма да се оплаче, ако му дадеш null, ама някои други методи не са чак толкова прощаващи (в смисъл един път като свикнеш...).
6. Има още едно-две неща ама като цяло бива  (http://forum.argon.acad.bg/html/smile.gif)

Не ми се сърди... аз съм БГ програмист => че съм гадно заядливо копеле... ако не се заям няма да съм аз...

Rayman много си се изнервил с тоя Jetspeed майна... нещо не си на себе си...
Абе се едно... успех на защитата  (http://forum.argon.acad.bg/html/smile.gif)

Python is executable pseudocode. Perl is executable line noise...
Титла: отворен код
Публикувано от: artanis в 01.07.2004, 13:43:00
Господа български програмисти,

Предлагам ви като пишете някакъв код да споменете на какъв език е той и ако кодът не се самоописва, да сложите коментари.
Този JAPH (Just Another Perl Hacker) от пост-а на г-н sasquatch дори този, който го е писал няма да може да си го разчете.

Моля, ако е възможно да пишете по-кратки постове, защото вниманието на четещите се губи някъде към 10тия ред.

Добре платените програмисти пишат четливо и разбираемо!

Аз смятам, че българските програмисти не са много добри, с минимални изключения (обикновено тези дето работят в чужбина или за местни клонове на чужди компании). Това е не защото са глупави, а защото не умеят да работят в екип.

Извинявам се за отклонението.
Ваш:
Атанас Чанев
4ти курс информатика
Титла: отворен код
Публикувано от: sasquatch в 01.07.2004, 23:30:00
@artanis : Тея че не можели БГ програмистите да работят е екип ще ги раправяш някъде другаде, аз в какво работя? Във фабрика за бонбони? Грешен отговор  (http://forum.argon.acad.bg/html/wink.gif) Не съди само по собствения си опит, щом може във еди коя си фирма в Пловдив да се работи в екип значи може и на други места в БГ, не съм ли прав?
За SAP споменах вече, а те са сериозни хора.

Аве Пуйка много си се маскирал фе направо не мога да повярвам чак на втория пост разбрах кой си  (http://forum.argon.acad.bg/html/wink.gif)
P.S. И такъв Pythоn щи дам (мнооооого голям и дебееееел Python). ..
Знам че си ултра открехнат  (http://forum.argon.acad.bg/html/smile.gif) Ама кажи ми едно нещо - за кво да им отваряме очите на други хора, като сме заядливи копелета които спорят на тема "колко бира може да се налее в един CString преди да свърши swap-a"? Еми май не сме толкова заядливи а пък и нали трябва да се работи в екип (http://forum.argon.acad.bg/html/smile.gif)

Който се е почуствал обиден да се оплаче на адрес mentalcube@tuol.org  (нещо като на арменския поп...)
ако не съм си забравил паролата и не са ми изтрили accounta може и да го прочета особено ако се сетя  (http://forum.argon.acad.bg/html/wink.gif)

PEACE
Титла: отворен код
Публикувано от: sasquatch в 01.07.2004, 23:40:00
Аве пуйков, знаеш ло кво се сетих - тея конвенции за имената могат да да го д***т, а пък колкото до preparedStatement - какъв е смисъла когато класа се инстанцира всеки път фе майна - той като е prepared специално MS SQL ще го изпълни по-бързо защото е компилиран вече, а не е просто заявка  (http://forum.argon.acad.bg/html/wink.gif) Ама ти сега ще кажеш че съм заядливо копеле (или че съм гЪз който ползва Servlet API вместо да си парсва сам request-ите) ...
Абе като се замисля ако не духна от БГ що да не вземем наистина да направими една фирмичка? Замисли се сериозно над този въппос дори и да изчезна нищо не ти пречи сам да скалъпиш една kick ass фирма с дейност в областа на Internet, Intranet и Extranet приложениията  (http://forum.argon.acad.bg/html/smile.gif)
Титла: отворен код
Публикувано от: sasquatch в 01.07.2004, 23:49:00
И пуйков (ако изобщо се сетиш да го прочетеш тоя форум) - за кво да пращам на админ-а ICQ  когато само това е един смотан прототип (разбирай дипломна работа) едва ли ще има админ изобщо и т.н.  (http://forum.argon.acad.bg/html/smile.gif)
Титла: отворен код
Публикувано от: artanis в 02.07.2004, 00:07:00
>щом може във еди коя си фирма в Пловдив да се работи в екип значи може и на други места в БГ, не съм ли прав?

Не сте прав!
Титла: отворен код
Публикувано от: Цуйка в 02.07.2004, 09:44:00
Rayman душо... това да правиш портал с Jetspeed и MSSQL си е жива гавра баси... Ми напиши го на ASPdotMiNet... ще е точно толкова платформено преносимо... както и да е... знам че нямаш избор общо взето. Някой ден и ти ще дойдеш на моя акъл и ти ще лапнеш дебелия Python... в това съм почти 100% убеден... ако не и 200... (и даже ще ти хареса  (http://forum.argon.acad.bg/html/smile.gif)
Конвенциите за имената могат да го духат, обаче ти ще го издухаш, когато ти се наложи да използваш така популярния Reflection. Вярно, ако си го пишеш тоя код за себе си можеш да си кръщаваш нещата penka, patka, cuika и puika... ама когато някой друг трябва да ти го чете... Освен това спецификацията си е спецификацията... щом мардите от Sun са я пуснали значи са имали нещо в предвид... това, че ти и аз не го разбираме (все още) не означава, че не трябва да го правим.
Колкото до работата в екип - ми понякога се получава, понякога не... зависи от много неща... колко са пили членовете на екипа снощи, дали жената на някой не му е пуснала вечерта, цикличните проблеми на индивидите от женски пол и т.н. Обаче през повечето време екипа си цъка като швейцарски часовник... така че ако някой не може хронично да се сработи с екипа си да търси проблема в себе си.
Rayman фирмата ще я направим когато и дойде времето... знам, че тогава ще е вече късно и ще е бая трудно, обаче ако не беше трудно всеки щеше да го прави нали  (http://forum.argon.acad.bg/html/smile.gif)

Пиис бабо, пиис....
Титла: отворен код
Публикувано от: Цуйка в 02.07.2004, 10:13:00
Абе сега като се замислих... някой тук има ли мераци да пише игрички? Обаче мераците все пак да имат някакво покритие... примерно таткото да е шеф на БТК или на някоя силова групировка или нещо такова...
Сериозно. Ако на някой му се занимава с подобно нещо сериозно (в смисъл да си изкарва яденето с това) да пише 1-2 реда.
Титла: отворен код
Публикувано от: Ники Вълчанов в 02.07.2004, 19:50:00
Sry ,no shte otprawq edin offtopic post  (http://forum.argon.acad.bg/html/smile.gif)

Цуйка ,mnogo qk nick imash bratle!!!  (http://forum.argon.acad.bg/html/smile.gif)

Moje da piem po rakiq nqkoj den ... moje da si polafim i za igri ... ne razbiram mnogo ,no imam BEGLA ideq kak se pishe iskustwen intelekt na protiwnici ... moje da se probwame  (http://forum.argon.acad.bg/html/smile.gif)

BYEzzz
Титла: отворен код
Публикувано от: sasquatch в 02.07.2004, 22:22:00
Цуйковист,
сериозно съм се замислял и аз по въпроса, за кво мислиш че седя в Импрес-а? Седя защото дано покрай другите щуротии и малко 3DS MAX да понауча, а и те са правили две игри вече (преди доста време) но са се отказали и колкото пъти ги ръчкам се ми казват че нямало смисъл ... Та и аз това си мисля има ли смисъл? Можем ли ние с нашите крайно ограничени ресурси да направим нещо качествено?
Титла: отворен код
Публикувано от: CBuHEnAC в 02.07.2004, 22:29:00
Виждам че тук сте много напред с материала и има нещо което искам да ви питам.
Видеото ми не му работи eject-a как софтуерно да си реша проблема?
Титла: отворен код
Публикувано от: sasquatch в 03.07.2004, 03:54:00
Иначе не е лоша идеята на n_vylchanov за една сбирка, може пък да се съберем "болни мозъци" и да сътворим нещо? Знае ли човек?
ако не друго то поне ще пийнем леко   (http://forum.argon.acad.bg/html/smile.gif)

P.S. Абе Цуйка, пусни малко Python тука да се покефим  (http://forum.argon.acad.bg/html/smile.gif)

[This message has been edited by sasquatch (edited 05-07-2004).]
Титла: отворен код
Публикувано от: Цуйка в 05.07.2004, 14:18:00
Rayman на:

from xml.dom import minidom
from urllib import urlopen

def children(parent, chName):
   return [x for x in parent.childNodes if x.nodeName == chName]

doc = minidom.parse(urlopen("http://gamedev-bg.net/rss.php"))
for channel in children(doc.firstChild, "channel"):
    chanName = children(channel, "title")
    if chanName:
        print "\t:: Channel: %s ::" % chanName[0].firstChild.nodeValue
        print "\n".join([" - " + title.firstChild.nodeValue
            for channel in children(channel, "item")
            for title in children(channel, "title")
        ])
doc.unlink()

Това ти дърпа RSS 2.0 feed и ти показва имената на topic ите.

За типа с видеото:
мой човек май си объркал форума... форума за психично болни е на бул. Руски, на втория етаж в чакалнята. Много интересно място. Можеш бая да научиш там :)
Титла: отворен код
Публикувано от: Цуйка в 05.07.2004, 14:20:00
Ба..му оплеска се indentation а. Така няма да тръгне. Ей така ще стане, ако заместиш всеки 3 точки с по 1 таб.

from xml.dom import minidom
from urllib import urlopen

def children(parent, chName):
...return [x for x in parent.childNodes if x.nodeName == chName]

doc = minidom.parse(urlopen("http://gamedev-bg.net/rss.php"))
for channel in children(doc.firstChild, "channel"):
...chanName = children(channel, "title")
...if chanName:
......print "\t:: Channel: %s ::" % chanName[0].firstChild.nodeValue
......print "\n".join([" - " + title.firstChild.nodeValue
.........for channel in children(channel, "item")
.........for title in children(channel, "title")
......])
doc.unlink()
Титла: отворен код
Публикувано от: Райчо Мукелов в 06.07.2004, 23:12:00
Аве яко тва за RSS, а за тоя с видеото - той от нас го постна тва и просто се ебаваше  (http://forum.argon.acad.bg/html/smile.gif) Голям веселяк си пада   (http://forum.argon.acad.bg/html/wink.gif)Ама наистина голям, скоро като гледам ще ги стигне стоте кила  (http://forum.argon.acad.bg/html/smile.gif) (http://forum.argon.acad.bg/html/smile.gif) (http://forum.argon.acad.bg/html/smile.gif)

[This message has been edited by sasquatch (edited 06-07-2004).]
Титла: отворен код
Публикувано от: artanis в 14.10.2004, 22:26:00
Здравейте колеги,

Реших да пусна в нет проекта си по компютърна графика. Писан е на Java и се нуждае от библиотеката gl4java. Оценен е с 5, основно защото липсват някои интерфейси  за работа с потребителя, които са в изискванията. Смея да твърдя, че има добър структурен процесор (който отговаря за групиранията на елементи според спецификацията).

адресът е: http://free.hit.bg/artanis/grafika/grafika.tar.gz (http://free.hit.bg/artanis/grafika/grafika.tar.gz)

Надявам се проектът ми да свърши работа на когото трябва, а именно на студентите, които този или някой следващ триместър имат курса компютърна графика:

поздрави на всички:
Атанас Чанев
Титла: отворен код
Публикувано от: artanis в 22.10.2004, 17:49:00
http://openfest.org/modules.php?op=modload&name=News&file=index&catid=14 (http://openfest.org/modules.php?op=modload&name=News&file=index&catid=14)

По-добре късно, отколкото никога. Бъдете там утре!  (http://forum.argon.acad.bg/html/smile.gif)

Сергей Георгиев (наш колега от ФМИ) ще изнася лекция за Питон. Подозирам (дори почти съм сигурен), че точно той е човекът, който се крие зад псевдонимите Цуйка и Phyz в едни дискусии по-рано в този форум.

По лични наблюдения, Сергей е един от най-добрите програмисти във моя курс - специалност информатика (които завършихме тази година), въпреки че никога няма да си го признае или претендира по някакъв начин с това.

Аз съм там утре  (http://forum.argon.acad.bg/html/smile.gif)

поздрави:
Атанас Чанев
PhD студент в Университета в Тренто, Италия
Титла: отворен код
Публикувано от: Райчо Мукелов в 04.11.2004, 00:20:00
ето ви чудно-кретенска програмка за сваляне на картинки с имена номера :
import java.io.*;
import java.net.*;

class ivan
{
  static String fixNumber( int numberVal )
  {
    String str="";
   
    if( numberVal < 10 )
         str = "00000" + Integer.toString(numberVal) + ".jpg";
         
      if( numberVal >= 10 && numberVal < 100 )
         str = "0000" + Integer.toString(numberVal) + ".jpg";   
         
      if( numberVal >= 100 && numberVal < 1000 )
         str = "000" + Integer.toString(numberVal) + ".jpg";      
         
      if( numberVal >= 1000 && numberVal <= 10000 )
         str = "00" + Integer.toString(numberVal) + ".jpg";      
         
    return str;
  }

 public static void main( String[] args )
  {
    String URLDir = "http://adme.ru/cannes2003prints/";


    for( int m = 1; m <= 8715; m++ )
    {
     
        try
        {
          String fileName = fixNumber( m );

         File f = new File( fileName );
          if( !f.exists() )
          {
            URL url = new URL( URLDir + fileName );
            InputStream is = url.openStream();

           FileOutputStream fos = new FileOutputStream( fileName );

           System.out.println( "File: " + fileName );
            System.err.println( "File: " + fileName );

           int buf;
            while( ( buf = is.read() ) != -1 )
              fos.write( buf );

           fos.close();
          }
        }
        catch( Exception e )
        {
          System.out.println( e );
          System.err.println( e );
        }
     }
   }
}