SEARCH KEYWORD -- Font size



  Functional Programming in C++

Probably everyone reading this has heard “functional programming” put forth as something that is supposed to bring benefits to software development, or even heard it touted as a silver bullet.  However, a trip to Wikipedia for some more information can be initially off-putting, with early references to lambda calculus and formal systems.  It isn’t immediately clear what that has to do with writing better software. My pragmatic summary:  A large fraction of th...

   C++,Functional programming     2012-04-28 06:16:37

  PHP buffer: output_buffering and ob_start

buffer is one piece of memory section, it is usually 4Kb in Linux. It is mainly used between different devices with different speed or different priorities. With buffer, the waiting time between different processes will be reduced. Here is one simple example, when you type something in a text editor, every time when you type a character, the operating system will not write it to the disk directly, instead it will write it to buffer first When the buffer is full, the data in the buffer will be wr...

   PHP buffer,output_buffering,ob_start     2013-06-20 22:54:15

  Not better, but different

The most important feature of Apple products is usability--Simple, aesthetic, easy to use.Their products may not necessarily the most powerful, but they usually are the easiest to use. Following picture show a Mac (left) and a PC(right), which one looks better?Many products are trying to mimic these features, but one problem comes out:It's hard to keep a product simple while providing so many new features.If you continuously add new features to your product,  your product will become more c...

   Market positioning,Product manager     2012-05-19 13:29:20

  IoT System Cyber Attack Case Study 02: Python Deserialization Attack and Library Hijacking Attack

Project Design Purpose: The objective of this cyber attack case study is to develop a workshop that demonstrates how a red team attacker can permanently compromise a people detection radar IoT device. The attack path is achieved through a series of attacks, including traffic eavesdropping, data deserialization attacks, web shell attacks, remote command/code execution, and Python library hijacking attacks. This case study is intended for IoT and data security professional training, aiming to ill...

       2024-07-14 01:40:09

   Opinion: The Elusive 'Quick Iteration' - Tips for Indie Devs

[In this reprinted #altdevblogaday-opinion piece, WB Games/Kindling Games' Kristen Bornemann offers independent developers advice on iterating and shipping their projects as fast as possible.] From agile and scrum to extreme programming, everyone's trying to nail down what it takes to iterate on products quickly and efficiently. There are a lot of methodologies that you can employ to guide you through shipping products. But today, I'll be talking specifically about video games and how, as a...

   Game,Electronic,Efficient,Development me     2011-08-15 07:41:47

  Designing Fun

What is “Fun?”“I’ll know it when I see it.”In 1964, in Jacobellis v. Ohio, the US Supreme Court needed to decide whether the state of Ohio could ban a film it called “obscene”—a concept people understood but were hard-pressed to define. Justice Potter Stewart, in his concurring opinion, wrote: “I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description; and perhaps I ...

   Design,Fun,Create,Define,Research     2011-09-19 13:35:12

  A simple tutorial on GoLang connecting to Clickhouse

Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...

   GOLANG,CLICKHOUSE,TUTORIAL     2023-02-11 07:05:36

  SOME LESSONS LEARNED

Note: Google was kind enough to invite me to give a short talk at their Zeitgeist conference earlier this week. It was a really interesting conference and I got a chance to meet a lot of people I admire. For my talk, I decided to use material from some of my blog posts over the years that I thought might appeal to a broader audience. Unfortunately, I was still recovering from a nastly cold/flu so I didn’t deliver the talk as well as I’d like.  Below is the text.Today, I wanted...

   Investor,Startup,Lesson,Experience,Investment     2011-10-12 11:47:02

  Don’t Call Yourself A Programmer, And Other Career Advice

If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity.  It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering.  This post aspires to be README.txt for your career as a young engineer.  The goal is to make you happy, by filling in the gaps in your education regarding how the “real world” actually works.  ...

   Career,Programmer,Advice,Low level,Development     2011-10-29 07:09:23

  Comparing Floating Point Numbers, 2012 Edition

We’ve finally reached the point in this series that I’ve been waiting for. In this post I am going to share the most crucial piece of floating-point math knowledge that I have. Here it is:[Floating-point] math is hard.You just won’t believe how vastly, hugely, mind-bogglingly hard it is. I mean, you may think it’s difficult to calculate when trains from Chicago and Los Angeles will collide, but that’s just peanuts to floating-point math.Seriously. Each ti...

   Floating point number,Comparison,True value     2012-02-23 07:11:03