Shared posts

11 Apr 14:18

Facebook’un satın aldığı Oculus Rift ile Parrot AR drone entegre olursa [Video]

by A. Bugra Ferah

drone-oculusFacebook’un 2 milyar dolara satın aldığı sanal gerçeklik gözlüğü Oculus Rift’le ne yapacağı konusunda ihtimaller konuşulmaya devam ederken, Almanya’dan farklı bir haber geldi.

Berlin’de yaşayan yazılımcı Diego Araos Oculus Rift ile Parrot AR’ı entegre ederek YouTube kanalında paylaştı.

Araos, Oculus Rift ile kafasını ileri geri hareket ettirerek Parrot’u sağlıklı bir şekilde kontrol etmeyi başarmış. Facebook’un Oculus VR‘dan önce satın aldığı Titan Aeurospace‘in ise İnsansız Hava Araçları ürettiğini düşündüğünüzde gelecekte bu videodaki görüntülerin gerçekleşebileceğini söyleyebiliriz.

Bilim kurgu filmlerinden bir sahne izlenimi veren videoyu yazının devamında izleyebilirsiniz. 

18 Nov 11:07

Anlaması Kafa Gerektiren GIF'ler

by Eda Demir
Anlaması Kafa Gerektiren GIF'ler

GIF'in artık bir sanat kolu olduğunu vurgulayarak tüm yaratıcı GIF sanatçılarının işlerine yer vermeye çalışıyoruz Bigu'da. Markalar için de bunu izlemenin görsel netin yükselişiyle önemli olduğunu vurgulayarak.

Önce bir yazının, bir fotoğrafın bize neler anlatabileceğini gördük, bir video kaydı ise bu konuda daha şanslıydı. Şimdi de kendini tekrar eden animasyonlar ve GIF'lerle bir hikayenin nasıl anlatabileceğini keşfediyorum. Milos Rajkovic'in GIF'lerinin her biri farklı farklı kesimlerden kodamanların kafasının içinde neler olduğunu resmediyor. Her GIF'te ayrı bir politik/sosyolojik mesaj olduğunu anlıyorsunuz. Öte yandan yalnızca izlemesi dahi büyüleyici.


















Eda Demir @edademir
27 Aug 14:30

20 of the fastest growing developer tools

by Christina Farr

Venture capitalists and angel investors are clamoring to fund developer tools. According to a recent estimate, they poured a massive $646 million into this space in 2012, making it one of the hottest market opportunities for entrepreneurs.

So of course, companies are rushing to create new tools for developers. Some of these new products provide real value, and are selling fast. Others inspire initial interest from customers, and then fall flat. However, unless you’re highly technical and have abundant time on your hands to test new products, it’s near impossible to figure out what is the best.

Mattermark is helping investors pinpoint startups with potential. For its latest free newsletter, the Mattermark team compiled a handy list of the front-end and back-end developer tools with the most momentum, meaning the companies that are growing their user-bases at a consistent and steady rate. Some of these startups have raised venture financing or an angel round, others are entirely bootstrapped. They all have a minimum of 10,000 users, but many have far more than that.


Editor’s note: Our upcoming CloudBeat conference, Sept. 9-10 in San Francisco, will be tackling revolutionary cases of enterprise cloud usage. Register today!


Mattermark compiles data from a variety of sources, including news articles, AngelList, app store rankings, Alexa.com rankings, and anonymous tips. The signals for business-to-business startups are weaker, but Mattermark tracks sales support materials, like white papers and customer videos, to get a sense of how robust the company’s business pipeline is. Its analysts factor out anomalies, like a surge of interest due to a Hacker News hit.

“Hacker News spikes do help the company, but only if they can sustain meaningful traffic beyond the initial bump,” chief executive Danielle Morrill told me.

If you’re not familiar with Mattermark, check out our in-depth profile of Mattermark that ran last week. In a nutshell, it’s a new service that helps investors make more informed bets. The data isn’t foolproof by any means, but for investors, it’s a good place to start.

Here are the top development tool companies as identified by Mattermark.

10 front-end software development tools 

Ink Mobility - tool for enabling apps to communicate on mobile
Bootstraptor - Twitter Bootstrap templates for web developers
Macaw - web design tool capable of writing semantic HTML and succinct CSS
XingCloud - “One click” localization of your website
FlauntResponsive - responsive design conversion tools
StatusPage.io - simple downtime communication tools
GrowthGiant - Continuous A/B testing tools (private beta not yet launched)
Spinnakr - tools for A/B testing content, display different messages to different users
Dakwak - deliver localized versions of your website to your visitors
Nitrous.IO - rapid development environment management and code collaboration

10 back-end developer tools

Bitnami - app store for server software running on Amazon, Azure and VMWare
Flywheel - WordPress hosting and management for designers
Pivotal - enterprise platform as a service (spin out from EMC and VMWare)
Salt Stack - systems and configuration management for DevOps organizations
KnackHQ - manage databases in the cloud
HortonWorks - commercial vendor of Apache Hadoop, used for big data storage
Digital Ocean - cloud hosting service for developers
Fastly - next generation content delivery network (CDN)
Honeybadger - modern error management service for Rails
Mean.io - boilerplate for MongoDB, Node.js, Express and AngularJS applications

[Disclosure: Morrill made an angel investment in Bitnami.]


Filed under: Business

VentureBeat is creating an index of the most exciting cloud-based services for developers. Take a look at our initial suggestions and complete the survey to help us build a definitive index. We’ll publish the official index later this month, and for those who fill out surveys, we’ll send you an expanded report free of charge.

    






15 Apr 16:33

Downgrade from PHP 5.4.x to PHP 5.3.5

#!/bin/bash # # Original for 5.3 by Ruben Barkow (rubo77) http://www.entikey.z11.de/ # release 1 PHP5.4 to 5.3 by Emil Terziev ( foxy ) Bulgaria # Originally Posted by Bachstelze http://ubuntuforums.org/showthread.php?p=9080474#post9080474 # OK, here's how to do the Apt magic to get PHP packages from the natty repositories: echo "Am I root? " if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then echo " NO! Error: You must be root to run this script. Enter sudo su " exit 1 fi echo " OK"; #install aptitude before, if you don`t have it: apt-get update apt-get install aptitude # or if you prefer apt-get use: # alias aptitude='apt-get' # finish all apt-problems: aptitude update aptitude -f install #apt-get -f install # remove all your existing PHP packages. You can list them with dpkg -l| grep php PHPLIST=$(for i in $(dpkg -l | grep php|awk '{ print $2 }' ); do echo $i; done) echo these pachets will be removed: $PHPLIST # you need not to purge, if you have upgraded from natty: aptitude remove $PHPLIST # on a fresh install, you need purge: # aptitude remove --purge $PHPLIST #Create a file each in /etc/apt/preferences.d like this (call it for example /etc/apt/preferences.d/php5_2); # #Package: php5 #Pin: release a=natty #Pin-Priority: 991 # #The big problem is that wildcards don't work, so you will need one such stanza for each PHP package you want to pull from natty: echo ''>/etc/apt/preferences.d/php5_3 for i in $PHPLIST ; do echo "Package: $i Pin: release a=natty Pin-Priority: 991 ">>/etc/apt/preferences.d/php5_3; done echo "# needed sources vor php5.3: deb http://bg.archive.ubuntu.com/ubuntu/ natty main restricted deb-src http://bg.archive.ubuntu.com/ubuntu/ natty main restricted deb http://bg.archive.ubuntu.com/ubuntu/ natty-updates main restricted deb-src http://bg.archive.ubuntu.com/ubuntu/ natty-updates main restricted deb http://bg.archive.ubuntu.com/ubuntu/ natty universe deb-src http://bg.archive.ubuntu.com/ubuntu/ natty universe deb http://bg.archive.ubuntu.com/ubuntu/ natty-updates universe deb-src http://bg.archive.ubuntu.com/ubuntu/ natty-updates universe deb http://bg.archive.ubuntu.com/ubuntu/ natty multiverse deb-src http://bg.archive.ubuntu.com/ubuntu/ natty multiverse deb http://bg.archive.ubuntu.com/ubuntu/ natty-updates multiverse deb-src http://bg.archive.ubuntu.com/ubuntu/ natty-updates multiverse deb-src http://bg.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu natty-security main restricted deb-src http://security.ubuntu.com/ubuntu natty-security main restricted deb http://security.ubuntu.com/ubuntu natty-security universe deb-src http://security.ubuntu.com/ubuntu natty-security universe deb http://security.ubuntu.com/ubuntu natty-security multiverse deb-src http://security.ubuntu.com/ubuntu natty-security multiverse deb-src http://archive.canonical.com/ubuntu natty partner deb http://extras.ubuntu.com/ubuntu natty main deb-src http://extras.ubuntu.com/ubuntu natty main deb http://bg.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse deb-src http://bg.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu natty partner deb-src http://archive.canonical.com/ubuntu natty partner " >> /etc/apt/sources.list.d/natty.list aptitude update apache2ctl restart echo install new from natty: aptitude -t natty install $PHPLIST # at the end retry the modul libapache2-mod-php5 in case it didn't work the first time: aptitude -t natty install libapache2-mod-php5 apache2ctl restart # extra: http://askubuntu.com/questions/116254/how-to-downgrade-from-php-5-4-to-5-3
03 Jul 09:08

Asp.Net Web API Üzerinden Resim Döndürmek

by bsenyurt

Road-Runner-Wile-E-Coyote-looney-tunes-5226561-1024-768Merhaba Arkadaşlar,

Eminim çocukken çizgi filmlerle aranız vardı. Hatta çoğumuz yaşı kaç olursa olsun çizgi filmlere arada sırada da olsa zaman ayırmakta. (Ben Batman gördüm mü pür dikkat izlerim örneğin) Keza pek çok büyüğümüz de, eskiden izlediği çizgi filmler ile karşılaştığında taaaa çocukluk yıllarına kadar gidip aynı o zamanki gibi içten gülebiliyorlar da(Rahmetli babamdan bilirim)

Aslına bakarsanız bazen teknoloji de bizi aynen bu mantıkta epeyce güldürebiliyor. Örneğin Microsoft’ un ürünlerini düşünelim. (Gerçi çok fazlalar ama gene de düşünmeye çalışalım) Sürekli yenilikler çıkartıyorlar, sürekli verisyon atlatıyorlar ve işin en acı tarafı da koşan Road Runner’ a benziyorlar. Biz mi? Biz ise Road Runner’ ı her fırsatta yakalamaya çalışıp yakaladığını zanneden ama son anda hep elinden kaçıran Coyote’ ye Smile Bence bu senaryoda developer’ lar biraz daha şanslı. Ya benim gibi düzenli blog tutmaya çalışanlar napsınlar Disappointed smile 

Sözü fazla uzatmadan ve moralimizi daha da bozmadan konumuza geçelim.

Bu yazımızda Asp.Net Web API üzerinden, SQL tablolarında binary formatta tutulabilen resim içeriklerini nasıl çekebileceğimizi basit bir örnek ile incelemeye çalışıyor olacağız. Örneğimizin özel yanlarından birisi de kısa süre önce yayınlanan Visual Studio 2013 Preview ile geliştirilecek olması. Önce senaryomuza bir bakalım.

Senaryo

Uzun zamandır uğramadığımız hatta pek çok genç arkadaşımızın belki de adını bile duymadığı bir Microsoft veritabanını ele alıyor olacağız. Pubs, SQL 2000 sürümünde sıklıkla Northwind ile birlikte andığımız kobay veritabanlarından birisidir Smile Bu veritabanında yayıncılara ait bazı bilgiler yer almaktadır. Örneğin pub_info isimli tablo içerisinde pub_id, logo ve pr_info isimli 3 adet alan yer almaktadır. Bu alanlardan logo tahmin edileceği üzere Binary veri tipindedir ve yayıncının firma logosunu tutmaktadır.

Hedefimiz bu binary içerikleri(yani logoları) bir Web API fonksiyonu üzerinden geriye döndürebilmek ve hatta en azından tarayıcı pencresinde resim formatında gösterebilmek olacaktır. O halde projeyi açarak ilk adımımız atalım.

wapigi_1

Projenin Oluşturulması

İlk olarak yeni bir Web uygulaması oluşturarak işe başlayabiliriz. Pek tabi Visual Studio 2013 preview içerisinde görünen önemli özelliklerden birisi de One Asp.Net yeteneğidir. Buna göre tek bir Web uygulaması şablonu üzerinden hareket edilerek istenen kabiliyetlere göre seçimler yapılması sağlanmaktadır.

wapigi_2

Doğruyu söylemek gerekirse Asp.Net tarafındaki proje şablonlarının artması kafa karışıklıkları yanında bir arada kullanmak istediğimiz kabiliyetler olduğunda da sıkıntı yaratmaktaydı. Umarız bu özellik baki olur ve daha da iyileştirilir.

Asp.Net Web Application seçimi sonrasında karşımıza gelen pencereden Empty template tipini seçip Web API özelliğini etkineleştirebiliriz. Ya da Web API özelliğini işaretleyip ilerleyebiliriz. Ben mümkün mertebe sade bir ortam arzu ettiğimden Empty template seçip Web API kutusunu işaretledim.

wapigi_3

Bu işlemler sonucunda solution ve proje içeriği aşağıdaki gibi oluşacaktır.

wapigi_4

Modelin Eklenmesi

İzleyen adımda modelimizi ilave etmemiz gerekiyor. Tahmin edeceğiniz gibi Entity Framework den yararlanıyor olacağız. Projeye yeni bir öğe olarak Ado.Net Entity Data Model nesnesi ekledikten sonra klasik adımlarımızla ilerliyoruz(Model klasörü altına ekleyebilirsiniz) Lakin Visual Studio 2013 Preview’ a has bir özellik olarak Entity Framework versiyonunu seçebileceğimiz bir ekranla karşılaşacağız(Sanırım Entity Framework tarafı kadar hızlı versiyon atlatan ürün sayısı nadirdir) Ben 6.0 sürümünü seçtim ve bunun sonucu olarak Beta 1’ in kütüphane olarak ilave edildiğini fark ettim.

wapigi_5

İzleyen kısımda sadece pub_info tablosunun eşleniği olan entity üretimini yaptırmamız yeterlidir. (Diğer tablolaraı dilersenize ekleyebilirsiniz ancak şu anki senaryomuz için çok da gerekli değiller)

wapigi_6

Controller Tipinin Yazılması

Web API’ nin temel yapı taşı olan Controller tipini ekleyerek örneğimize devam edelim.

wapigi_7

Web API controller sınıfı için iki farklı versiyon bulunmaktadır. (Ben v1’i seçerek ilerledim ama bunu yaparken iki versiyon arasındaki farkı tam olarak bilmediğimi itiraf etmek isterim Embarrassed smile)

LogosController sınıfı içeriği

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;

using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http;

using WebApplication4.Models;

namespace WebApplication4.Controllers
{
    public class LogosController
        : ApiController
    {
        public List<string> Get()
        {
            List<string> pubIds = null;
            using (PubsEntities _context = new PubsEntities())
            {
                pubIds = (from p in _context.pub_info
                          select p.pub_id).ToList();
            }
            return pubIds;
        }
        public HttpResponseMessage Get(string id)
        {
            HttpResponseMessage response = null;

            using (PubsEntities _context = new PubsEntities())
            {
                var pubPicture = (from p in _context.pub_info
                                       where p.pub_id == id
                                       select p.logo).FirstOrDefault();
                if (pubPicture==null)
                {
                    response = new HttpResponseMessage(HttpStatusCode.NotFound);
                }
                else
                {
                    MemoryStream ms = new MemoryStream(pubPicture);
                    response = new HttpResponseMessage(HttpStatusCode.OK);
                    response.Content = new StreamContent(ms);
                    response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");
                }
            }
            return response;
        }
    }
}

LogosController sınıfı içerisinde iki adet Get metodu bulunmaktadır. İstemci tarafından gelecek HTTP Get taleplerine cevap verecek olan bu fonksiyonlardan birisi pub_info tablosundaki pub_id alanlarını liste olarak döndürmektedir. Diğer yandan senaryomuzun can alıcı Get metodu ise, HttpResponseMessage tipinden bir nesne örneğini döndürmektedir. Bu metod parametre olarak string tipinden olan bir pub_id değerini alır. İlgili alana eş satırın logo içeriğini bulur(eğer varsa). Bu içeriğin byte[] tipinden olan karşılığı bir MemoryStream referansından yararlanılarak HttpResponseMessage örneğinin Content özelliğine set edilir.

Bundan sonra yapılması gereken, istemciye dönecek cevap içeriğinin bir image olduğunu belirtmektir. Headers.ContentType özelliğine bir MediaTypeHeaderValue örneğinin atanmasının ve parametre olarak image/png verilmesinin sebebi de budur. Çok doğal olarak ilgili id değeri yanlış girilebilir ve LINQ sorgusu bu durumda null değer üretebilir. Null değer kontrolü yapılarak böyle bir vaka oluşması halinde HTTP 404 Not Found istisnasının döndürülmesi de sağlanmaktadır(Web’ in doğasına ve isteğine uygun şekilde Winking smile )

Testler

Uygulama kodunun tamamlanmasını müteakip test çalışmalarına başlanabilir. Her hangi bir tarayıcı uygulama ile bu işlemi yapabiliriz(Ben tercihimi Google Chrome’ dan yana kullandım Smile ) Örneğin api/logos şeklinde bir talepte bulunulduğunda aşağıdaki ekran görüntüsüne benzer olacak şekilde pub_id bilgilerinin elde edildiği görülür.

wapigi_8

Eğer belirli bir pub_id değeri için talepte bulunulursa asıl istediğimiz sonuçlara ulaşırız. Yani yayıncının logosuna Winking smile

api/logos/0736 için aşağıdaki sonuç elde edilirken

wapigi_9

api/logos/1756 için

wapigi_10

sonucu elde edilir. Çok doğal olarak olmayan bir pub_id için istemci tarafında HTTP 404 hatası dönecektir.

Daha Neler Yapılabilir ve Size Kalan

Senaryomuz sadece yayın evinin logosunu ve yayın evi numaralarını döndürecek fonksiyonelliklere sahip bir Asp.Net Web API hizmetini içermektedir. Ancak siz bu senaryoyu daha da geliştirebilirsiniz.

  • Örneğin jQuery kullanarak yayıncıların listesinin logoları ile birlikte bir View’ da görünmesini deneyebilirsiniz.
  • Kuvvetle muhtemel yukarıdaki maddeyi bir MVC projesinde denersiniz. Ama aynısını Web Forms tabanlı bir uygulama için de yapmaya çalışabilirsiniz.
  • Resimlerin gösterilmesi haricinde istemcilerin yine Asp.Net Web API’ den yararlanarak upload etme işlemlerini yapabilmelerini de sağlayabilirsiniz Winking smile Bunu bir araştırmanızı öneririm. POST şeklinde bir talebi ele almanız gerektiğini ip ucu olarak verebilirim.
  • Bir önceki maddede var olan kısmı birden fazla dosyayı bir seferde yükleme senaryosu için ele alabilirsiniz(Multiple Upload)
  • Büyük boyutlu resimleri parça parça atmayı veya okumayı deneyebilirsiniz.
  • ve benim aklıma gelmeyen ama sizin ele alacağınız başka bir senaryo da söz konusu olabilir.

Görüldüğü üzere bir Asp.Net Web API servisini resim içeriklerinin elde edilmesini konu alan bir senaryo da kullanabildik. Örneğimizi yeni göz bebeğimiz Visual Studio 2013 Preview üzerinde geliştirmeye çalıştık ve böylece geldik bir yazımızın daha sonuna. Tekrardan görüşünceye dek hepinize mutlu günler dilerim.

27 Jun 17:00

Meet 15 Finalists and Science in Action Winner for the 2013 Google Science Fair

by Emily Wood
Bugra Cakmak

Congratulations to Elif!

Creating a world-class science project is no easy task, but this year thousands of 13-18 year olds from more than 120 countries submitted their project to the third annual Google Science Fair. After further judging and deliberation, today we’re announcing the 15 finalists from our top 90 regional finalists, as well as the winner of the Scientific American Science in Action Award.

From the creation of an exoskeletal glove to support the human hand to managing the impact of infrastructure projects on endangered species to an early-warning system for emergency vehicles, the caliber, ingenuity and diversity of this year’s projects is a testament to the fact that young minds really can produce world-changing ideas.

The 15 finalists will join us at our Mountain View headquarters on September 23 to present their projects to an international panel of esteemed scientists for the final round of judging. The Grand Prize winner will receive a 10-day trip to the Galapagos Islands with National Geographic Expeditions, $50,000 in scholarship funding and more.


Congratulations to our finalists:

Age 13-14
Alex Spiride (USA): Squid-Jet: Bio-Inspired Propulsion System for Underwater Vehicles
Venkat Sankar (USA): Ecology or Economy: Managing the Impact of Infrastructure Projects on Endangered Species
Kavita Selva (USA): Superconductor Tapes: A Solution to the Rare Earth Shortage Crisis
Liza Sosnova and Tina Kabir (Russia): Lyytinen - Universal hydrostatic densitometer
Viney Kumar (Australia): The PART (Police and Ambulances Regulating Traffic) Program

Age 15-16
Elif Bilgin (Turkey): Going Bananas!-Using Banana Peels in the Production of Bio-Plastic As A Replacement of the Traditional Petroleum Based Plastic
Ann Makosinski (Canada): The Hollow Flashlight
Yi Xi Kang, Kwok Ling Yi and Tricia Lim (Singapore): Efficacy of Estrogens and Progesterone in Hepatic Fibrosuppression
Valerie Ding (USA): Rapid Quantum Dot Solar Cell Optimization: Integrating Quantum Mechanical Modeling and Novel Solar Absorption Algorithm
Shrishti Asthana (India): Solar Light Assisted nanoZnO Photo Catalytic Mineralization - The Green Technique for the Degradation of Detergents

Age 17-18
Charalampos Ioannou (Greece): An Exoskeleton Glove which Enhances and Supports the Movement of the Human Palm
Esha Maiti (USA): Stochastic Monte Carlo Simulations to Determine Breast Cancer Metastasis Rates from Patient Survival Data
Elizabeth Zhao (USA): A Novel Implementation of Image Processing and Machine Learning for Early Diagnosis of Melanoma
Eric Chen (USA): Computer-aided Discovery of Novel Influenza Endonuclease Inhibitors to Combat Flu Pandemic
Vinay Iyengar (USA): Efficient Characteristic 3 Galois Field Operations for Elliptic Curve Cryptographic Applications

We’re also announcing the winner of the Scientific American Science in Action Award, which honors a project that makes a practical difference by addressing an environmental, health or resources challenge. An independent panel has selected Elif Bilgin from Turkey for this award for her work using banana peels to produce bioplastics. Congratulations to Elif, who will receive $50,000 and and a year’s worth of mentoring from Scientific American to help develop her project. Elif’s project is also one of the 15 finalists, and she is still in the running for the Grand Prize Award.

Which of the 15 finalist projects do you think has the potential to change the world? While the official judges will decide the 2013 Grand Prize Winner, in August you’ll be able to participate in this year’s competition by voting for the Voter's Choice Award. Visit the Google Science Fair website August 1-30 to vote for the project you think has the greatest potential to change the world.

Check back for more details, and tune in live to see the finalist gala on September 23, which will be broadcast on our website, Google+ page and YouTube channel. Congratulations to all our finalists. We look forward to meeting in Mountain View!

Posted by Clare Conway, Google Science Fair team

Update July 30: Updated the name of the Voter's Choice Award (previously the Inspired Idea Award).