• Hackfoofery

    谷烧饼哥加速器

    谷烧饼哥加速器

    Written by alson

    December 31st, 2024 at 10:50 pm

    Posted in Geekery

    Note: CPU references in this post are all to Intel CPU. Other CPU families took similar paths but did so with different timelines and trade-offs (e.g. the inclusion of FPU and/or MMU functionality in the CPU).

    苹果免费v皮

    What follows is accurate enough for what follows…

    Much as with so much on the web, Moore’s Law had a specific origin but has been through a number of updates/revisions/extensions to remain relevant to those who want it to remain relevant. Originally, it was about the number of transistors that could be built into a single semiconductor product. Presumably that number got awfully large and was meaningless to most people (transistor?), so Moore’s Law was sort of retooled to refer to compute capability (MIPS, FLOPS) or application performance (frames per second (in a 3D video game), TPC-* (for databases), etc. If your widget was getting faster, then there was “an [Moore’s Law] for that” (to paraphrase Apple). And Moore saw and he was pleased.

    But really all the faster-being was, of course, under pinned by the various dimensions of scaling for semiconductors. Processors (the things most people care about the most) are made using MOSFETs (a very common type of transistor used to build processors/logic, but a bit different those in the original Moore’s Law) and Robert Dennard wrote a paper noting that MOSFETs have particular scaling properties. See Dennard Scaling: “[if] transistor dimensions could be scaled by 30% (0.7x) every technology generation, thus reducing their area by 50%. This would reduce circuit delays by 30% (0.7x) and therefore increase operating frequency by about 40% (1.4x). Finally, to keep the electric field constant, voltage is reduced by 30%, reducing energy by 65% and power (at 1.4x frequency) by 50%”. This was also known as “triple scaling” as it implied that three scaling factors would simultaneously improve: geometry decrease (density), frequency increase and power decrease (for equivalent functionality).

    ant加速器ios

    without comments

    谷烧饼哥加速器

    Written by alson

    好用的歪皮恩

    Posted in Geekery

    While I’m a fan of Alastair Raynold‘s science fiction and recently finished Poseidon’s Wake, I’m rather unsure of his treatment of interstellar travel. Within reasonable bounds, making allowances for the fact that it’s science fiction (hey, Conjoiner drives) and recognizing that he, not I, is a bona fide rocket scientist, his treatment of how to conduct interstellar travel seems realistic and sobering, though perhaps not sobering enough…

    So let’s talk about money now and then…

    谷烧饼哥加速器

    The problem of how much money to spend now in order to reap a future gain is well studied in economics and/or finance. A discount rate is used to forward or backward project financial amounts, recognizing that $1 gained or spent at a future date is not valued at $1 now. For example, assume you had $10 and could invest it at a 5% rate in a completely instrument (say a bank bond) (you can’t right now, hey thanks Fed, but let’s assume that you could…). After 1 year, you’d have $10.50. Likewise, if I needed $10 now, you could lend me the $10 but you’d want me to promise to return you more than a total of $10.50 after one year. You wouldn’t lend it to me for less than $10.50 because you could just lend it to a bank or government via a bond and get back $10.50. I’m riskier than a bank or a government so you’d want more from me than from a government or bank. Simple.

    Read the rest of this entry »

    ios歪p恩

    谷烧饼哥加速器

    Written by alson

    June 7th, 2024 at 4:07 pm

    Posted in Uncategorized

    [This is rather off-topic but it’s cathartic and might be helpful to someone.]

    We recently euthanized a much beloved family cat. The process was both straightforward and bewildering. Herewith, notes on our experience along with suggestions about how we might approach it differently in the future.

    ios歪p恩

    This is about the mechanics of euthanizing a particular animal.  It should be applicable to larger animals in different environments.  Emotional and spiritual aspects are not addressed; those are difficult enough but not understanding the mechanics of the process only compounds the difficulty.

    ios歪p恩

    He was a gregarious and happy cat, though he was a little “well fed”. In the last month or two, he’d looked rather slimmer, had taken to “hiding” in unused rooms and then to snuggling aggressively, was not eating or drinking as he normally would. Tests were done, nothing was found and the downward spiral continued over the next few weeks.

    We took him to another vet. They looked at his teeth, listened to his heart, squeezed his belly… and said we’re going to take him in the back room for a moment. They came back with ultrasound pictures (no charge) of a significant tumor.

    At this point, the discussion turned to heroic (tumor resection + chemo) and/or palliative measures (he might be comfortable for a few more weeks with prednisone), no doubt to assure the pet owners that euthanasia was not the only option. This discussion was quickly cut off: we appreciate the situation, we know his condition, we know where this ends, further pain is not warranted.

    Read the rest of this entry »

    without comments

    谷烧饼哥加速器

    Written by alson

    起点中文网_阅文集团旗下网站 - qidian.com:2 天前 · 小说阅读,精彩小说尽在起点中文网. 起点中文网提供玄幻小说,武侠小说,原创小说,网游小说,都市小说,言情小说,青春小说,历史小说,军事小说,网游小说,科幻小说,恐怖小说,首发小说,最新章节免费

    Posted in Best Practices

    At Teckst, we use Terraform for all configuration and management of infrastructure.  The tidal boundary at the intersection of infrastructure and application configuration is largely determined by which kinds of applications will be deployed on which kinds of infrastructure.  Standing up a bunch of customized EC2 instances (e.g.Cassandra)?  Probably something that 苹果免费v皮 or Chef is better suited to as they’re built to step into a running instance and create and/or update its configuration (though, certainly, this can be done via Terraform and EC2 User Data scripts).

    Teckst uses 100% AWS services and 100% Lambda for compute so we have a much more limited need.  We need Lambda Functions, API Gateways, SQS Queues, S3 Buckets, IAM Users, etc to be created and wired together; thereafter, our Lambda Function are uploaded by our CI system and run over the configured AWS resources.  In this case, Terraform is perfect for us as it walks our infrastructure right up to the line at which our Lambda Functions take over.

    Terraform’s documentation provides little in the way of guidance on structuring larger Terraform projects.  The docs do talk about modules and outputs, but no fleshed-out examples are provided for how you should structure your project.  That said, many guides are available on the web ([1], [2], [3] are the top three Google results as of this writing).

    ant加速器ios

    Terraform Modules allow you to create modules of infrastructure which accept/require specific Variables and yield specific Outputs.  Besides being a great way to utilize third-party scripts (e.g. a script you find on Github to build a fully configured EC2 instance with Nginx fronting a Django application), Modules allow a clean, logical separation between environments (e.g. Production and Staging).  A good example of organizing a project using Terraform Modules is given in this blog post.  Initially, we approached organizing scripts similarly:

    /prod/main.tf
    /prod/vpc.tf - production configs for VPC module 
    /staging/main.tf
    /staging/vpc.tf - staging configs for VPC module
    /modules/vpc/main.tf - contains staging configs for VPC module
    /modules/vpc/variables.tf
    /modules/vpc/outputs.tf
    

    Now all of our prod configuration values are separate from our staging configuration values.  The prod and ant加速器ios scripts could reference our generic vpc Module.  Initially, this seemed like a huge win.  Follow on to find out how it might not be a win for in-house-defined infrastructure.

    苹果免费v皮

    苹果免费v皮

    谷烧饼哥加速器

    Written by alson

    February 25th, 2014 at 10:25 pm

    Posted in Geekery

    My wife created simple symbol-letter decoders for my son.  He thought they were a lot of fun and wanted to share them with friends, so I productized them.  Screenshot here:

    Simple, straightforward way to build fun little puzzles for kids.   Play with it here.  Besides changing the phrase, you can add additional confounding codes or remove codes to force kids to guess at the phrase.  Then click the Print button and you’ll have a nice printout with the control panel hidden.

    I’m building a 2-D version for the codes, too, so that will be along later this week.

    with one comment

    谷烧饼哥加速器

    Written by alson

    December 28th, 2013 at 4:00 pm

    Posted in Geekery

    Years ago, I wrote a fractal generator/explorer for OpenGL.  Crazily enough, after nearly 10 years,  it still compiles without complaint on Linux.  But the web is the future [er… or, rather, the present], so…

    So I ported the the C version to Coffeescript, AngularJS, LESS, Jade and [insert buzzword].  The port was actually very straightforward with the majority of time spent on building the UI, fiddling with AngularJS, adding fractals, refactoring, etc.  Nothing in the code is too surprising.  One controller handles the UI, two services manage application state and one service renders the fractal.

    The app is here.  The code is on GitHub here.  To “compile” the code, you’ll need the NodeJS compilers for Coffeescript, LESS and Jade.  Then run ./scripts/run_compilers.sh.  (Yes, I could have used Grunt or Gulp, but the simple bash script is really simple.)

    Screenie:

     

     

    Interesting links:

    1. ios歪p恩
    2. v p n苹果下载
    3. Link
    4. Link
    5. Link
    6. Link

    Pull requests, comments, suggestions, etc always welcome.  In particular, are there other fractals that you’d suggest?

    without comments

    谷烧饼哥加速器

    Written by alson

    ant加速器ios

    Posted in Programming

    CoffeeScript is a great example of how to de-noise a language like Javascript. (Of course, I know people that consider braces to be a good thing, but lots of us consider them noise and prefer significant whitespace, so I’m speaking to those folks.) What would Go code look like with some of CoffeeScript’s denoising?

    TL;DR : the answer is that de-noised Go would not look much different than normal Go…

    As an experiment, I picked some rules from CoffeeScript and re-wrote the Mandelbrot example from The Computer Benchmarks Game. Note: this is someone else’s original Go code, so I can’t vouch for the quality of the Go code….

    蚂蚁vp(永久免费)

    几款ND滤镜及GND滤镜镜个人使用报告(包括LEE ...- 摄影附件:2021-4-11 · 最近有机会接触并使用了国际品牌LEE、Hitech、国产海大、国产极光的几款ND、GND滤镜,并在同场景条件下,对这几个品牌进行了一些不严谨的测试,主要是注重实用效果比较,由 ...

    My quick de-noising rules are:

    • Eliminate var since it can be inferred.
    • Use ‘:’ instead of const (a la Ruby’s symbols).
    • Eliminate ios歪p恩 in favor of ‘-> and variables for functions.
    • Replace braces {} with significant whitespace
    • Replace C-style comments with shell comments “#”
    • Try to leave other spacing along to not fudge on line count
    • Replace simple loops with an “in” and range form

    蚂蚁vp(永久免费)

    # targeting a q6600 system, one cpu worker per core
    :pool = 4
    
    :ZERO float64 = 0  # These are constants
    :LIMIT = 2.0
    :ITER = 50   # Benchmark parameter
    :SIZE = 16000
    
    rows []byte
    bytesPerRow int
    
    # This func is responsible for rendering a row of pixels,
    # and when complete writing it out to the file.
    
    renderRow = (w, h, bytes int, workChan chan int,iter int, finishChan chan bool) ->
    
       Zr, Zi, Tr, Ti, Cr float64
       x,i int
    
       for y := range workChan
          offset := bytesPerRow * y
          Ci := (2*float64(y)/float64(h) - 1.0)
    
          for x in [0..w]
             Zr, Zi, Tr, Ti = ZERO, ZERO, ZERO, ZERO
             Cr = (2*float64(x)/float64(w) - 1.5)
    
             i = 0
             while i++ < iter && Tr+Ti <= LIMIT*LIMIT
                Zi = 2*Zr*Zi + Ci
                Zr = Tr - Ti + Cr
                Tr = Zr * Zr
                Ti = Zi * Zi
    
             # Store the value in the array of ints
             if Tr+Ti <= LIMIT*LIMIT
                rows[offset+x/8] |= (byte(1) << uint(7-(x%8)))
       # tell master I'm finished
       finishChan <- true
    

    That seems to be a pretty small win in return for a syntax adjustment that does not produce significantly enhanced readability. Some bits are nice: I prefer the significant whitespace, but the braces just aren’t that obtrusive in Go; I do prefer the shell comment style, but it’s not a deal breaker; the simplified loop is nice, but not incredible; eliding “var” is okay, but harms readability given the need to declare the types of some variables; I do prefer the colon for constants. Whereas Coffeescript can dramatically shorten and de-noise a Javascript file, it looks as though Go is already pretty terse.

    Obviously, I didn’t deal with all of Go in this experiment, so I’ll look over more of it soon, but Go appears to be quite terse already given its design…

    with 2 comments

    谷烧饼哥加速器

    Written by alson

    苹果免费v皮

    Posted in Programming

    First, a note: this is a tiny synthetic bench.  It’s not intended to answer the question: is GCCGo a good compiler.  It is intended to answer the question: as someone investigating Go, should I also investigate GCCGo?

    While reading some announcements about the impending release of Go 1.1, I noticed that GCC was implementing a Go frontend.  Interesting.  So the benefits of the Go language coupled with the GCC toolchain?  Sounds good.  The benefits of the Go language combing with GCC’s decades of x86 optimization?  Sounds great.

    So I grabbed GCCGo and built it.  Instructions here: http://golang.org/doc/install/gccgo

    Important bits:

    • 百词斩for iPhone苹果版6.0(英语学习) - 优优下载站 ...:2021-6-16 · 简拼ios版 微店ios版 游戏王:决斗连接安卓版 隐形守护者安卓版 LOL换肤大师官方版 酷狗K歌官方版 蘑菇街ios版 黄油相机ios版 虫虫物语安卓版 莱恩的冒险安卓版 应用宝官方版 360分身大师官方版 Foodie ios版 微视ios版
    • My configuration was:

    /tmp/gccgo/configure --disable-multilib --enable-languages=c,c++,go

    I used the Mandelbrot script from The Benchmarks Game at mandlebrot.go.  Compiled using go and gccgo, respectively:

    [Android]iOS]『INKHUNTER』虛擬紋身好過癮! - 電獺少女:[Android] [iOS] 好想刺青但又怕後悔!?快用『INKHUNTER』來玩一玩虛擬紋身吧!! 2021/02/15 by 宇恩 雖然說…身體髮膚受之父母,但是人家偶爾也會有想要刺青的念頭啊(歪頭 有刺青的獺友舉手! 其實宇恩一直众來都有想過要送自己一個小刺青當紀念( ౪ )是 ...

    Since I didn’t install GCCGo and after flailing at compiler options for getting “go build” to find includes, libraries, etc, I gave up on the simple “go -compiler” syntax for gccgo. So the above gccgo command is the sausage-making version.

    蚂蚁vp(永久免费)

    4,532,110 mandel.gccgo  - Compiled in 0.3s
    1,877,120 mandel.golang - Compiled in 0.5s

    As a HackerNewser noted, stripping the executables could be good. Stripped:

    1,605,472 mandel.gccgo
    1,308,840 mandel.golang

    Note: the stripped GCCGo executables don’t actually work, so take the “stripped” value with a grain of salt for the moment. Bug here.

    GCCGo produced an *unstripped* executable 2.5x as large as Go produced. Stripped, the executables were similar, but the GCCGo executable didn’t work. So far the Go compiler is winning.

    Cytus - 萌娘百科 万物皆可萌的百科全书 - Moegirl:2021-6-13 · 萌娘百科欢迎您参与完善本条目☆Kira~ 萌娘百科音乐游戏相关页面正在建设中,萌娘百科音游部诚挚欢迎你加入:萌娘百科音游编辑交流群 866289059 (入群请注明萌百ID)与 Discord群组 ~ 欢迎正在阅读这个条目的您协助 编辑本条目。编辑前请阅读Wiki入门或条目编辑规范,并查找相关资料。

    time ./mandel.golang 16000 > /dev/null 
    
    real  0m10.610s
    user  0m41.091s
    sys  0m0.068s
    
    time ./mandel.gccgo 16000 > /dev/null 
    
    real  0m9.719s
    user  0m37.758s
    sys  0m0.064s

    So GCCGo produces executables that are about 10% faster than does Go, but the executable is nearly 3x the size.  I think I’ll stick with the Go compiler for now, especially since the tooling built into/around Go is very solid.

    Additional notes from HN discussion:

    • GCC was 4.8.0.  Go was 1.1rc1.  Both AMD64.

    with 8 comments

    Parsing a DICOM file for fun and profit

    Written by alson

    January 18th, 2013 at 11:34 pm

    Posted in Turbinado

    XCode 7 运行 cocos2dx 2.2.6问题小节 - 勇敢的公爵 - 博客园:2021-1-26 · 用xcode打开proj.ios 下的项目, 报出的第一次错误是 编译错误20个。 提示NObjSRuntime.h 什么 qualitified_id 众及NSString之类的,搜索了网上无数方法,都不管用。 最后木有办法,一个个错误点开,猜测是项目内的Wrapper.h 文件和 第三方内提供的Wrapper ...

    … and as I was driving, I thought: wouldn’t it be fun to have a copy of the data?; perhaps I could build a point cloud and shoot it into a crystal (as I’d done with fractals)?  So I called back the lab (Park XRay) and asked if I could have a copy of the data.  “Sure!  It’s your skull.” was the reply and they delivered an extra copy to my dentist.

    The files were in DICOM format and were produced or for-use by iCATVision.  Fortunately, Python has a DICOM library, so it was fairly easy to parse the files.  My code is on GitHub.  [The code is not pretty, but it worked.]

    I’ve previously “printed” point clouds into crystals using Precision Laser Art, so I needed to convert the 448 16-bit slices of my jaw into 1-bit XYZ point clouds.  “visualize.py” provides a simple 2D visualization of the slices.  Most importantly, it let me tune the threshold values for the quantizer so that the point cloud would highlight interesting structures in my jaw.  Here’s the interface (perhaps it’s obvious, but I’m not a UX expert…):

    Once I’d tuned the parameters, I added those parameters to “process.py” and generated the giant XYZ point cloud.  The format of the point cloud is just:

    X1 Y1 Z1

    X2 Y2 Z2

    ios歪p恩

    [repeat about 3 million times...]

    I sent my order to Precision Laser Art and, after 7 days and $100, received this:

    美剧天堂《爱情生活第一季》电视剧在线观看高清下载 - 电影 ...:2021-6-11 · 美剧爱情生活第一季剧情:安娜·肯德里克将主演10集半小时浪漫喜剧《爱情生活》(Love Life,暂译),并担任执行制片。影片将讲述从初恋到最后一段爱情的旅程,众及当我伔最终和某人在一起时,对方是如何让我伔成为现在的自己的。山姆·博伔德将撰写试播集剧本。

    春雨医生-在线咨询医生:春雨医生提供真实医生的在线医疗健康咨询服务。由公立医院医师解答用户的健康问题。移动客户端产品春雨掌上医生是一款“自查+咨询”的健康服务类手机客户端;您可通过春雨医生、春雨掌上医生,查询自己或他人有可能罹患的疾病,向医生提问,同时您将得到及时解答。

    While it’s not amazingly easy to see in this photo, my vertebrae and hyoid bone are clearly visible in the crystal.

    Anyhow, the point is: medical data is cool.  You can get it, so get it and play with it!  😉

    without comments

    Checking memcached stats and preventing empty responses

    Written by alson

    好用的歪皮恩

    Posted in Tools

    A quick google for how to check stats for memcached quickly turns up the following command:

    echo stats | nc internal.ip 11211

    Netcat is a utility for poking about in just about all network interfaces or protocols, so can be used to pipe  information to memcached.  Note: you’ll need to have netcat installed in order to have the “nc” command and Debian/Ubuntu have both netcat-traditional and netcat-openbsd. Install the openbsd version.

    The problem I had was that checking stats returned a blank response about 90% of the time.  The cause of this issue is that netcat sends the string “stats” to memcached, declares victory and then closes the connection before memcached has a chance to reply.  Solution? Just tell netcat to wait a bit using the “-i” flag which waits after sending lines of text. Like this:

    echo stats | nc -i 1 internal.ip 11211

    To check a remote machine, I wound up with:

     ssh the_remote_machine "echo stats | nc -i 1 internal.ip 11211"

    蚂蚁vp(永久免费)