bitbucket дропает поддержку HG
https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket
.......................
Больше сказать мне нечего.
https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket
.......................
Больше сказать мне нечего.
Это ужас!!! На большом мониторе сегодня главная вызывает отвращение. Картинка высотой больше высоты окна!!!
Сделайте хоть что-то...
Перемещено jollheef из linux-org-ru
Купил для детей книгу «Ричардсон Крэйг, Программируем с Minecraft. Создай свой мир с помощью Python». 30 с лишним страниц первой главы рассказывают какие кнопочки нажать, чтобы поставить инструменты под Windows, MacOS и RaspberryPi из готового комплекта. А как это обновить, собрать самому или поставить под Linux: ни слова. А всё что надо:
Из коробки не завелись русские (utf-8) сообщения. Как оказалось, в mcpi зашито преобразование всего текста в cp437. Меняем на utf-8 и отдаём ноут детям.
Общее впечатление от книги и mcpi: минимальное api, совершенством не назовёшь. Но самое то после Scratch. Дико напомнило:
SCREEN 12
LINE (10, 10)-(100,200), 15, B
З.Ы.: На ноуте дефолтная Ubuntu. Тупо жалко времени настраивать шрифты, иконки и цвета.
>>> Просмотр (1366x768, 507 Kb)
Задача написать учебный пример по Abstract data type на примере Си.
Что получилось:
stack.h:
// ...
struct Stack_s;
typedef struct Stack_s Stack;
// Old: typedef int Item;
typedef int8_t Item;
// Old: Stack* stack_create ();
// Old: void stack_destroy (Stack **stack);
// Old: Stack* stack_clone (Stack *stack);
Stack* stack_create (void);
void stack_destroy (Stack *stack);
Stack* stack_clone (const Stack *stack);
size_t stack_size (const Stack *stack);
int stack_is_empty (const Stack *stack);
void stack_push (Stack *stack, Item item);
Item stack_pop (Stack *stack);
Item stack_top (const Stack *stack);
void stack_clear (Stack *stack);
// ...
stack.c:
#include "stack.h"
struct Stack_s {
// Полное описание структуры стека скрыто от пользователя
// ...
};
// Old: Stack* stack_create() {
Stack* stack_create(void) {
// Создать стек можно только используя stack_create
// ...
}
// ...
main.c:
#include <stdio.h>
#include <stack.h>
int main(void) {
Stack *stack = stack_create();
stack_push(stack, 1);
stack_push(stack, 2);
stack_push(stack, 3);
while(!stack_is_empty(stack)) {
printf("%d\n", stack_pop(stack));
}
// Old: stack_destroy(&stack);
stack_destroy(stack);
return 0;
}
Хочется конструктивной (и не очень) критики.
Не смог найти хороших ссылок по именованию и минимальному набору функций (в том числе как удалять «объект»).
З.Ы.: Про GObject, Cello, OOC toolkit, Axel T. Schreiner, Object-Oriented Programming with ANSI-C слыхал
Нодоело в TikZ вечные blue!30
, red!43
. Потратил немного времени и набил пакетик с определениями цветов из первой попавшейся палитры.
Кому надо, файлик и пример тут
>>> Просмотр (1920x1045, 293 Kb)
Есть такой «свободный» конструктор http://multiplo.org/.
Кто его юзал? И что есть похожего?
Есть ряд мелких задач для управления сервером, которые хочется свести в простую Web-морду. Для чего готов написать немного кода. Основные требования:
Примеры задач:
Главное от чего хочется уйти, так это от HTML/CSS вёрстки.
Стою перед выбором CentOS 7 или Scientific Linux 7.
Цель: обновление вычислительного кластера.
Как следствие: будут свои ядра для работы с Lustre.
Подход к сохранению версий 7.1/7.2 в SL мне больше по душе чем Rolling у CentOS.
Результат: пока склоняюсь к SL
Хочется услышать за и против от других.
Решил тут подготовить пару слайдов по DVCS для студентов и понял, что не могу выбрать внятное определение «системы управления версиями» и список функций, что бы влезало на слайд обычным текстом в beamer. Кто что может посоветовать?
UPDATE:
Исходный код презентации: https://bitbucket.org/AlexVRud/presarhpc/src/default/Mercurial_intro.tex?file...
Объявлено о выходе новой версии распределённой файловой системы Lustre 2.8.
Основные изменения:
Файловая система Lustre предназначена для построения высокопроизводительного масштабируемого хранилища (на нескольких серверах) для большого числа клиентов (есть инсталляции для тысяч клиентов). Основная сфера применения: вычислительные кластерные системы. За счёт распределения файлов по серверам, активного использования оперативной памяти для кэша и поддержки InfiniBand может достигаться суммарная пропускная способность в сотни ГБ/с.
>>> Подробности
Как избавиться от варнинга в ситуации:
typedef struct Solver_s {
...
} Solver;
double Solver_compute_X(Solver * self) {
static const double alpha = sqrt(M_PI)/27.0; // <--- Warning
static const double beta = cos(3.0/17.0); // <--- Warning
...
return ... alpha ... beta ...;
}
Есть долго вычисляемая функция по мат.формуле, в которой присутствуют разные константы. Хочется удержать эти константы в читаемом виде внутри функции, но вычислять их один раз (на этапе компиляции или запуска приложения). Но при этом не видеть лишних варнингов.
Пусть есть некая модель: http://medical.nema.org/dicom/2013/output/chtml/part17/sect_C.5.html
Patient
Study
Series
Waveform
Waveform\MultiplexGroup
Waveform\Chanel
Waveform\Sample
Так же планируется задействовать SWIG для предоставления доступа к библиотеке из Python.
Как в данном случае упорядочить и назвать классы:
1:
namespace dicom {
class Patient;
class Study;
class Series;
class Waveform;
class WaveformMultiplexGroup;
class WaveformChannel;
class WaveformSample;
}
2:
namespace dicom {
class Patient;
class Study;
class Series;
class Waveform {
class MultiplexGroup;
class Channel;
class Sample;
...
};
}
3:
namespace dicom {
class Patient;
class Study;
class Series;
class Waveform
namespace wf {
class MultiplexGroup;
class Channel;
class Sample;
}
}
Лето, температура за бортом +10, что уже радует.
Решили порешать задачки, ни у одну подкидываю.
Есть код:
#include <iostream>
class Foo {
public:
Foo() : a_(0) {};
Foo(int a) : a_(a) {};
inline int getA() { return a_; };
virtual void print() { std::cout << "{a: " << getA() << "}\n"; };
private:
int a_;
};
class Bar : public Foo {
public:
Bar() : Foo(), b_(0) {};
Bar(int a, int b) : Foo(a), b_(b) {};
inline int getB() { return b_; };
virtual void print() override { std::cout << "{a: " << getA() << ", b: " << getB() << "}\n"; };
private:
int b_;
};
int main() {
Foo t1 = Bar(10,10);
Bar t2 = Bar(20,20);
Foo *t3 = new Bar(30,30);
t1.print();
t2.print();
t3->print();
delete t3;
return 0;
}
Выхлоп ожидаемый:
...$ g++ -std=c++11 task.cpp && ./a.out
{a: 10}
{a: 20, b: 20}
{a: 30, b: 30}
И тут вопрос: «А как сделать вывод в первой строке такой же как в других? А чем это будет плохо?»
При компиляции на 32-битной платформе:
float x = 0.0f;
printf("%f", x);
float x = 0.0f;
printf("%f", (double)x);
Вопрос: в каком документе это описано?
Ситуация: вычислительный кластер, на узлах запускается приложение в 20 потоков потребляющее много памяти. В один момент ОЗУ заканчивается и узлы тут же уходят в перезагрузку. Что бы пользовательское приложение уводило систему в перезагрузку мне кажется мало вероятным, более вероятным кажется, что систему выводит из строя либо какая-то служба (например, ganglia), либо драйвер Infiniband. Если что ОС Redhat 6, ОЗУ 64Гб, своп 2 Гб. Что можно сделать?
Понимаю, что задача достаточно стандартная, но башка уже не варит.
Есть сервер (RedHat). На нём в основном народ будет работать через ssh. Но в некоторых случаях нужен запуск графических приложений. Проброс X-ов ведёт себя, мягко говоря, притормаживающи. Каналы связи клиентов могут быть крайне медленными (1Мб/с, а то и уже). Основная ОС клиентов: Оффтоп. В далёкие времена я для таких целей использовал FreeNX. Но что сейчас выбрать?
Стою перед задачей поднять несколько машиин с CentOS для разработки ПО под кластер. Честно говоря от такого закоренелого Ынтерпрайза я в шоке. Тихо мирно первый ноут привожу к удобоворимому виду. Но вот хочется услышать, кто как использует сабж (какие репозитории используете, откуда таскаете spec-файлы, чем автоматизируете сборку пакетов, зачем вам вообще это надо, ...)
Пример А пытался сослаться на http://xn--90afdbaav0bd1afy6eub5d.xn--p1ai/bsr/case/13446
Вышел корректирующий релиз операционной системы Tizen 2.2.1.
Изменения:
Tizen предлагает два основных подхода к написанию приложений HTML5 и «Нативные». С другой стороны, через утилиту «Smart Development Bridge» можно получить доступ к консоли устройства и воспользоваться утилитой zypper для доступа к репозиториям на http://download.tizen.org/releases/ .
>>> Подробности
← предыдущие | следующие → |