<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Software meets science.</description><title>Technology</title><generator>Tumblr (3.0; @effectiveprogramming)</generator><link>http://technology.oranjeguice.com/</link><item><title>Lisp for Windows</title><description>&lt;a href="http://beelisp.com/"&gt;Lisp for Windows&lt;/a&gt;: &lt;p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/"&gt;http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/"&gt;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sicp.ai.mit.edu/Spring-2005/manuals/dontpanicnew.html"&gt;http://sicp.ai.mit.edu/Spring-2005/manuals/dontpanicnew.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/816706361</link><guid>http://technology.oranjeguice.com/post/816706361</guid><pubDate>Thu, 15 Jul 2010 16:46:44 -0500</pubDate><category>lisp</category><category>windows</category></item><item><title>iOS Icons made in pure CSS</title><description>&lt;a href="http://blog.graphicpeel.com/post/740928981/ios-icons-made-in-pure-css"&gt;iOS Icons made in pure CSS&lt;/a&gt;: &lt;p&gt;11 iOS icons made in only CSS, no images whatsoever …&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The following demo was made using a variety of CSS techniques. Rounded corners, shadows, gradients, rgba, pseudo-elements, and transforms are just some of them. A lot of these were generated by helpful tools, such as &lt;a href="http://westciv.com/"&gt;westciv’s tools&lt;/a&gt; and &lt;a href="http://border-radius.com/"&gt;Border Radius&lt;/a&gt;. By combining these techniques, you can create rich graphics with just a few lines of code.&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://technology.oranjeguice.com/post/812391789</link><guid>http://technology.oranjeguice.com/post/812391789</guid><pubDate>Wed, 14 Jul 2010 16:44:42 -0500</pubDate><category>apple</category><category>iphone</category><category>ios</category><category>css</category><category>html</category></item><item><title>Course Catalog: Masters Degree in Internet Entrepreneurship</title><description>&lt;p&gt;&lt;a href="http://kylewritescode.com/post/681195378/course-catalog-masters-degree-in-internet" class="tumblr_blog"&gt;kylewritescode&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://innonate.tumblr.com/post/681160163/course-catalog-masters-degree-in-internet" class="tumblr_blog"&gt;innonate&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So epic. Godspeed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jschwa.tumblr.com/post/681063383/course-catalog-masters-degree-in-internet"&gt;jschwa&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Every year I set out searching for a graduate degree suited to my career in the Internet industry.  I am looking for a combination of computer science classes in web development, design courses that focus on UI, and business courses that teach Internet entrepreneurship.&lt;/p&gt;
&lt;p&gt;Disappointed by what universities are offering, I created my own course catalog.  It is aimed at entrepreneurial, non-developer, technology professionals that work in the Internet field.  There is a strong core of development courses, but they are designed for someone to understand web development as opposed to training students to be developers.  I hope to see something like this offered soon.&lt;/p&gt;
&lt;p&gt;Please comment if you think a course is missing or disagree with my choices.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Semester 1&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Introduction to Programming&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;An overview of programming that touches on PHP, Python, Ruby, Java, and Objective-C.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Internet Activity Theory and Psychology&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;What causes users to do the things they do?  This will be an in depth look at the psychology of an Internet user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Ideation for Web Startups&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will learn the process of brainstorming and picking apart business ideas.  They will learn to spot indicators that an idea will work or not, and how to go about testing a thesis before heavy development begins.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Equity Financing&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;An in-depth course on equity financing where students and will learn about step of the fund raising process with mock simulations at each stage.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Semester 2&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Pick 1&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;     Development in PHP&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;     Learn the CakePHP framework and in depth development in PHP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;     Development in Python&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;     Learn the Django framework and in depth development in Python.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;     Development in Ruby&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;     Learn the Rails framework and in depth development in Ruby.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;     Development in Objective-C&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;     Learn the iPhone SDK and in depth development in Objective-C.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;     Development in Java&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;     Learn the Android SDK and in depth development in Java.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Frontend Development in Html5/CSS/Javascript&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will learn to create frontend interfaces and clickable prototypes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;User Experience and User Interface Design&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will learn the fundamentals of usability, and how to design interaction and user interfaces.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Business Modeling and Current Events&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;A case-study driven course will break down successful web companies and their business models.  Emerging models will be discussed and students will brainstorm their own.  Current events in the tech world will be closely monitored and discussed. STUDENTS WILL NOT BE ASKED TO WRITE A TRADITONAL BUSINESS PLAN.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;span mce_style="font-weight: normal;"&gt;Semester 3&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Launch an App Part 1&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will work with pairs to develop their own app.  In Part 1 users will finish the semester with high-fidelity wireframes, a clickable prototype, and detailed tasks broken down for development. In Part 2 students will begin heavy development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Scalability&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;This course will focus on choosing the right set of tools. It will cover languages, hosting environments (Cloud vs Dedicated Hosting), and databases (SQL vs NoSql)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Product Management&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;In this course students will learn to create a product roadmap.  They will learn skills to conduct thorough requirements gathering and user testing.  Finally they will learn to break down features into tasks for developers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Agile Project Management&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will learn the agile project management methodology and will take part in multiple simulations.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Semester 4&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Launch an App Part II&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will continue their work from Part I and begin development of their application.   Professors will be available throughout the process for programming help.  Students will end the semester with the launch of their application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Analytics and Performance Tracking&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will become experts at setting up, managing, and gaining insight into analytics.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Startup Operations&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Co-founders, hiring, compensation plans, benefits, management skills, company culture, and office space are all issues that entrepreneurs need to deal with.  While these are common to most businesses, startup operations requires a unique touch to create fast moving and innovative environments for your employees.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span mce_fixed="1" mce_style="font-weight: bold;" mce_name="strong"&gt;Internet Marketing and PR&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;Students will learn to conduct marketing and PR for their startup.  SEO, SEM, ad-buys, blog PR, and traditional media PR will be covered.  Marketing through your website, building a brand, community management and customer service will also be part of this course.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should also require each class to be taught by someone with extensive, hands-on experience and a proven track record in that field.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://technology.oranjeguice.com/post/808062754</link><guid>http://technology.oranjeguice.com/post/808062754</guid><pubDate>Tue, 13 Jul 2010 16:44:43 -0500</pubDate><category>education</category></item><item><title>Where Did SetWindowSubclass Come From?</title><description>&lt;p&gt;Off and on for the past 4 years, I&amp;#8217;ve been writing my own version of a Windows, C++ windowing library. Why write my own? Mainly, I just wanted to better understand the low level &lt;a href="http://en.wikipedia.org/wiki/Windows_API"&gt;Windows API&lt;/a&gt; and thought I&amp;#8217;d learn it by creating my own windowing library. I also wanted to better understand C++ templates which I use extensively to avoid most virtual calls associated with passing events down an object hierarchy.&lt;/p&gt;

&lt;p&gt;My first implementations of this library were always &lt;a href="http://www.hackcraft.net/cpp/windowsThunk/"&gt;thunk&lt;/a&gt; based. I got this idea from Microsoft&amp;#8217;s ATL/WTL library and from reading &lt;a href="http://stackoverflow.com/questions/117792/best-method-for-storing-this-pointer-for-use-in-wndproc"&gt;various discussions&lt;/a&gt; like this. Thunking does some assembly level magic and allows me to redirect a static WNDPROC invocation to an object&amp;#8217;s instance method.&lt;/p&gt;

&lt;p&gt;It turns out that thunking isn&amp;#8217;t exactly revered or thought to be very safe :) but it worked and it was clever so I stuck with it. Well, late last year I stumbled across &lt;a href="http://msdn.microsoft.com/en-us/library/bb762102(VS.85).aspx"&gt;SetWindowSubclass&lt;/a&gt; and realized I could now, via the Windows API, achieve the same results that thunking gave me. Unlike &lt;a href="http://msdn.microsoft.com/en-us/library/ms644898(VS.85).aspx"&gt;SetWindowLongPtr&lt;/a&gt;, SetWindowSubclass doesn&amp;#8217;t preclude end users from using GWL_USERDATA for their own purposes.&lt;/p&gt;

&lt;p&gt;My library was always intended to be proprietary since I thought there was some value in getting my thunk to work so consistently but with this little change, I&amp;#8217;m considering open sourcing it under the Apache 2.0 license. It may take me a while to clean it up but hopefully I&amp;#8217;ll create a repo on &lt;a href="http://github.com/effectiveprogramming"&gt;github&lt;/a&gt; and commit it later this year.&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/803567027</link><guid>http://technology.oranjeguice.com/post/803567027</guid><pubDate>Mon, 12 Jul 2010 16:44:43 -0500</pubDate><category>windows-api</category><category>setwindowsubclass</category><category>setwindowlongptr</category></item><item><title>SSH and HG at BitBucket</title><description>&lt;a href="http://bitbucket.org/help/UsingSSH"&gt;SSH and HG at BitBucket&lt;/a&gt;: &lt;p&gt;&lt;a href="http://www.codza.com/mercurial-with-ssh-setup-on-windows"&gt;codza&lt;/a&gt;&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/796049540</link><guid>http://technology.oranjeguice.com/post/796049540</guid><pubDate>Sat, 10 Jul 2010 22:06:00 -0500</pubDate><category>ssh</category><category>hg</category><category>bitbucket</category></item><item><title>Testing with Spring 3</title><description>&lt;p&gt;&lt;pre&gt;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:/com/domain/app/conf/spring.sb.xml")
public class TestQuickStartController
{
    @Autowired
    private QuickStartController controller;

    @Before
    public void setup()
    {
        // Dependency2 d1 = new Dependency1();
        // Dependency3 d2 = new Dependency2(d1);
        // Dependency3 d3 = new Dependency3(d2);
        // controller = new QuickStartController(d3);
    }

    @SuppressWarnings("unchecked")
    @Test
    public void testQuickStart()
    {
        final Model model = new BindingAwareModelMap();
        final String m1 = "hello";
        final String dest = controller.quickStart(m1, model);

        // test the destination view
        Assert.assertEquals("quickstart/example", dest);

        // test the message in the model
        final String m2 = (String) model.asMap().get("message");
        Assert.assertEquals(m1, m2);

        // test for the user(s)
        final List&lt;user&gt; us = (List&lt;user&gt;) model.asMap().get("users");
        Assert.assertNotNull(us);
        Assert.assertEquals(1, us.size());
    }
}&lt;/user&gt;&lt;/user&gt;&lt;/pre&gt;&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/795289408</link><guid>http://technology.oranjeguice.com/post/795289408</guid><pubDate>Sat, 10 Jul 2010 17:54:18 -0500</pubDate><category>spring-mvc</category><category>spring</category><category>spring3</category></item><item><title>Ball Pool</title><description>&lt;a href="http://mrdoob.com/projects/chromeexperiments/ball_pool/"&gt;Ball Pool&lt;/a&gt;: &lt;p&gt;Nice javascript implementation.&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/794731741</link><guid>http://technology.oranjeguice.com/post/794731741</guid><pubDate>Sat, 10 Jul 2010 14:38:23 -0500</pubDate></item><item><title>pedantics:

So Microsoft has put Richard Feynman’s 1964 physics...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_l4l1dauxjU1qzxlvao1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://pedantics.tumblr.com/post/735295442/so-microsoft-has-put-richard-feynmans-1964" class="tumblr_blog"&gt;pedantics&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;So Microsoft has put Richard Feynman’s 1964 physics lecture series online for anyone to watch.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://research.microsoft.com/apps/tools/tuva/index.html"&gt;Click&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cheers Mr. Gates.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://technology.oranjeguice.com/post/794567448</link><guid>http://technology.oranjeguice.com/post/794567448</guid><pubDate>Sat, 10 Jul 2010 13:42:40 -0500</pubDate><category>physics</category></item><item><title>SCM in the Cloud</title><description>&lt;p&gt;&lt;a href="http://mercurial.selenic.com/wiki/"&gt;HG&lt;/a&gt;, &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; and &lt;a href="http://www.dropbox.com/"&gt;Drop Box&lt;/a&gt; are a heavenly combo (or, should I say, &lt;a href="http://aws.amazon.com/s3/"&gt;cloud&lt;/a&gt; based combo :)&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Source control file system shared across multiple, disparate platforms&lt;/li&gt;
&lt;li&gt;Encrypted data&lt;/li&gt;
&lt;li&gt;Available from anywhere&lt;/li&gt;
&lt;li&gt;Free up to 2GB&lt;/li&gt;
&lt;/ul&gt;</description><link>http://technology.oranjeguice.com/post/181769221</link><guid>http://technology.oranjeguice.com/post/181769221</guid><pubDate>Mon, 07 Sep 2009 01:27:00 -0500</pubDate><category>backup</category><category>cloud</category><category>cloud-computing</category><category>mercurial</category><category>scm</category><category>share</category><category>source-control</category><category>git</category></item><item><title>Objective-C AutoRelease Pool</title><description>&lt;p&gt;While reference counting is not new to me, the Objective-C AutoRelease pool is still a little tricky to understand.&lt;/p&gt;

&lt;p&gt;Most recently, I learned that the autorelease pool will last for the life (scope) of the method invoking the call to a method in which an object is allocated and autoreleased.&lt;/p&gt;

&lt;p&gt;That means I don&amp;#8217;t need to retain an autoreleased object I receive from a library function/method if I&amp;#8217;m only going to use the object within the local scope of where I received it.&lt;/p&gt;</description><link>http://technology.oranjeguice.com/post/140196759</link><guid>http://technology.oranjeguice.com/post/140196759</guid><pubDate>Sun, 12 Jul 2009 09:49:00 -0500</pubDate><category>objective-c</category><category>autorelease-pool</category><category>memory-management</category></item></channel></rss>

