Member since 2017-07-15T03:50:57Z. Last seen 2025-06-14T19:39:11Z.
2755 blog posts. 128 comments.
Reviving the Apple 410 Color Plotter 163 Ivoah 3 days 9 https://www.nycresistor.com/2017/12/13/reviving-the-apple-410-color-plotter/ news.ycombinator.com/item?id=16000895 Apple 410 plotter drawing hexagonal spanning tree
After seeing some of the jaw-dropping and inspiring plotter art that’s been popping up on #plottertwitter this year, I decided to get in on the fun. We don’t have an Axidraw or other modern plotting device handy, but I did have a hazy memory of someone donating a sweet large-format HP plotter of some sort to NYCR a few years back. Armed with a ladder and flashlight, I scoured the loft for a bit and eventually emerged filthy but sort of victorious, with this:
Apple 410 Color Plotter box Spoiler alert: this is not going to be a sweet large-format HP plotter
apple 410 plotter oh hai
Say hello to the Apple 410 Color Plotter. It’s set up like many low-cost plotters of the era, with a plotter head traveling on the Y axis (left-to-right facing the printer) and a roller underneath the paper moving it along the X axis (up-and-down) as it goes. A solenoid pulls the pen head down, and a limit switch at the left end of the Y axis travel allows the printer to home itself. That’s it!
What makes is a color plotter, of course, is the multi-pen head.
The four-pen plotting head. I like this design quite a bit.
There’s a pawl at the left end of the head’s travel. As the head moves to the right, it catches on to a peg on the head’s carousel, rotating it an eighth of a turn. In this way the plotter can (a bit slowly) swap between pens of various colors. It’s a nice, low-cost design, and as long as you keep your number of pen swaps down, it doesn’t make your plots appreciably slower.
If you didn’t know Apple made a plotter, well, they didn’t. It’s actually a similarly obscure Yokogawa YEW PL-1000. There were no reference manuals available online that I could find, but maybe Apple itself can lend a hand?
apple support This didn’t work.
As charming the idea of rolling wild-eyed into a Genius Bar with a thirty-plus-year-old plotter and screaming “I NEED THIS WORKING BY MONDAY” was, I figured if I really wanted this thing running I’d have to get it chugging myself. Although I couldn’t find a command reference anywhere, I was able to find a few snippets here and there (like the configuration file incongruously pasted into the wikipedia page) and, vitally, an old service manual which had the dip switch settings for various serial port configurations.
I say “vitally” here because ordinarily when I need to figure out the baud rate on a mysterious serial device, I’ll just try connecting to it at various speed/parity settings, toss a few linefeeds at it, and see if the response looks legible or at least consistent. That approach wasn’t yielding any results for me this time. As it turns out, the 410 didn’t respond to commands with acknowledgement or error codes. As far as the serial connection went, it was completely mute. There is one bit of feedback, though. When you send a message the plotter doesn’t like, it lights up a jaunty red ERROR led, which stays lit until it receives a reset command or you restart the plotter. Rough.
Luckily, the plotter does have a self-test mode which plots text, graphs, circles, and other complex designs. In fact, if you search for the Apple 410 on YouTube you’ll find a few videos of the self-test running. I figured that the script for that self-test had to be present somewhere in the firmware, and you know what that means.
YEW PL-1000 logic board It’s ROM-dumping time!
This device is as simple internally as it is externally. What you’re looking at here is a Z80 processor, an additional IC to handle the serial interface, a bit of RAM, a few ROMs, a power supply and some driving logic for the motors and panel switches. The ROMs were socketed and clearly labeled; yanking, dumping, and reinstalling them was a breeze. Browsing through the firmware quickly bought me to exactly what I was looking for: the text of the self-test script.
hexdump of rom with test script Ah, that’s the stuff.
Searching for other instances of the command codes quickly bought me to a dispatch table, which meant I could enumerate all the valid commands for the plotter. From this I was able to cobble together a rough command reference. A few simple test plots later, we were in business!
There was one last thorny patch to resolve, though. As you’ll recall, the plotter doesn’t send any responses over the serial connection. As you’d expect of a device of this vintage, there’s not a lot of RAM to serve as a buffer, so you can’t just send a whole complex plot at once. The plotter needs to let you know when the buffer is full, and for this it uses hardware handshaking. DTR/DSR hardware handshaking is a (now rarely-used) technique for out-of-band signaling over an RS232 connection. Essentially, when the plotter sets the DSR bit, it’s saying “I’m full, daddy,” and very much like a toddler, if you keep feeding it it will vomit all over the place. If your USB to serial adapter handles hardware handshaking well, more power to you, but mine doesn’t, so I ended up flushing the the connection and checking the DSR line manually after every byte. It’s ugly, but it works.
And that’s it. If you are one of the maybe dozen people worldwide saddled with one of these beasts, I’ve got a half-assed python library that will get you started. Have fun!
(And if you’re wondering how I’m getting those nice beefy lines with dried-out plotter pens from the 80’s, that’s another blog post.)
A cross-platform developer is someone who wants to build apps for both iOS and Android.
Here’s what you need to keep in mind.
A typical mobile app has two major components – the app and its server-side backend. Regardless of native or hybrid and iOS or Android, you’ll have a backend which is frequently more than 50% of the development effort. So your choice of platform doesn’t affect 50% of the project.
Now let’s say you’re doing native iOS and Android. The first platform (say iOS) you’ll do will take time. But once it’s done, the second one will be way faster because less time is spent typing out the code compared with getting the architecture right, getting your class abstractions right, getting the correct layout of the components, and refactoring your code when things change. With the first app done, you’d have already dealt with most of those problems making the second platform a breeze.
With a hybrid platform, you need to deal with an additional layer of issues to contend with such as bugs and dependency issues. Both will be prevalent with React Native on top of what you already have on the underlying native platforms.
And if you have some existing code you want to leverage such as an open source C/C++ project or a native game engine – React Native can still leverage those but you’ll have to write some native code which you may have been trying to avoid in the first place. At this point you’ll be expected to have a deep level of native development knowledge to even make such things work.
Finally, people talk about the various apps that use React Native (Facebook, Instagram, and AirBnB).They were probably written by iOS or Android experts who wanted to use React Native.
In conclusion, I’d say that if your app is simple enough, if it doesn’t need to incorporate relatively new features such as iMessage or to incorporate existing C/C++ type code, or require sophisticated animations etc. – you should be fine with React Native as a start.
And even if your app is fairly complex but you’re an iOS or Android pro and have some web development experience – React Native may be a good choice as you’ll likely resolve everything you need to.
But if you’re new to development, I’d say launch on one platform using its native language first. See how it goes. Then move to the other platform. That’s how Instagram was launched.
Find out more and check out TurnToTech reviews on Course Report. Check out the TurnToTech website.
121 csmajorfive 8 hrs 48
http://ilya.sukhar.com/blog/an-algorithmic-solution-to-insomnia.html
I’ve struggled with insomnia for all of my adult life. It began in college and has waxed and waned in severity ever since, correlating with stress levels but not entirely.
My form of insomnia starts with an active mind some evening. Maybe it’s active because I’m thinking through a challenge at work. Or I’m replaying a lively dinner conversation. Or I’m on a trip and excited. So, not necessarily stressful thoughts, just engaging ones. I go to bed but my mind doesn’t quiet down. 30 minutes later, I realize I’m not asleep and I start to think, “I really need to get to sleep. I have a lot going on tomorrow.” That only exacerbates the problem. My thoughts turn entirely meta and self defeating, “What’s wrong with me? Ugh, tomorrow will be miserable. Ok, let’s try for real now.” Repeat ad nauseam, laying in bed for hours.
Then, as you might imagine, the next day is indeed terrible and the next evening my mind is primed with negative thoughts about my sleep habits. The cycle continues. At its worst, I would go entirely without sleep for a half a dozen nights out of a month. In the steady state, it’d be one or two nights a month. Needless to say, both the peaks and troughs were quite disruptive to my quality of life and work output.
Over the years I had come to just accept it and cope. I figured I’d been dealt a poor hand in the relevant genetic lottery and this was the cost of doing business. Sometimes I’d use Ambien or other aids to get through it but I was always wary of the side effects and addiction potential.
In early 2016, I got fed up. I was blissfully unemployed and throughly de-stressed from having traveled extensively after quitting my job. Yet, I was still having issues sleeping — still going almost entirely sleepless for a couple nights a month. This seemed ridiculous, so I resolved to fix it.
I tried to read up on the latest research about insomnia but I found the volume of academic literature overwhelming for a layman. And it was mostly pharmacologically-oriented which I was intent on avoiding. Outside of journals, the online information on sleep is largely terrible — a rehash of common wisdom or an attempt to sell you something.
So, I sought out a Stanford researcher with a private sleep-therapy practice. After disqualifying me of more serious mental health issues, she ran me through a variant of a program known as CBT-i or “Cognitive Behavioral Therapy for Insomnia”1. It turned out to be extremely effective and I now have a playbook for good sleep even as my stress levels have rebounded.
I’m thrilled to have made this breakthrough. But it was time consuming and expensive to get there. And it struck me how it all boiled down to a fairly simple algorithm albeit one that requires a lot of willpower and would be hard to derive on your own.
I wish someone had told me to try this many years earlier. So I write this in hopes that it’ll help someone out there.
Common Wisdom Invariants
If you have trouble sleeping, I’m sure you’ve heard these all before. In my experience they are necessary but not sufficient.
Exercise regularly. Limit caffeine and alcohol consumption. Don’t eat late at night. Don’t nap. Wind down an hour before bed. 2 Invest in your bed. Keep your bedroom dark and cool. Unintuitive New Invariants
The gist here is: “don’t force it and don’t hang out in bed.”
Never get in bed and try to sleep because “it’s bedtime”. Only get in bed when you are dying to go to bed. If you’re in bed for more than 20 minutes and haven’t fallen asleep yet, get out and do something else. 3 Get out of bed right away when you wake up in the morning. Don’t linger and don’t try to sleep in. Don’t change your day based on your quality of sleep. No matter how bad it was, don’t deviate from your normal routine — don’t cancel meetings, don’t skip a workout, don’t try to sleep earlier the following evening. The Algorithm
The gist here is: “sleep a lot less before you can sleep more.”
Start out by setting a wake up time that leaves you plenty of time in the morning. For me, this was 6 a.m. Pick a target sleep time that leaves you with about two hours of sleep less than you think you need. For me, this was midnight. Treat the target sleep time as a goalpost to get past. That is, don’t sleep, nap, or get in bed before it — no matter what. And make sure to strictly abide by all the invariants above. When you wake up, jot down the following: When you went to bed When you fell asleep How long you spent awake in the middle of the night When you woke up When you got out of bed At the end of every week, calculate the average of your time spent asleep divided by your time spent in bed each night. Like so 4: efficiency = average( time asleep time in bed ) = 1 7 ∑ i = 1 7 d i − b i − c i e i − a i efficiency=average(time in bedtime asleep)=71∑i=17ei−aidi−bi−ci
If efficiency < . 8 efficiency<.8, push your target sleep time back even later by 20 minutes. If . 9 ≤ efficiency < . 9 5 .9≤efficiency<.95, push your target sleep time up earlier by 20 minutes. Otherwise, stay the course. Go back to step #3. Repeat forever. What’s the point?
Well, it turns out that insomnia is largely a form of performance anxiety that accrues over years of episodic poor sleep due to stress, travel, environmental changes, etc. Your mind gradually loses confidence in the act of going to sleep and jumps quickly to counter-productive thoughts while you lay in bed. If you expect to sleep poorly, you will.
Drastically restricting your sleep with this regimen wrestles control away from your mind and puts it back into the rightful hands of your body and its circadian rhythm. If you stick to the rules, you’re effectively running a search algorithm to find your body’s optimal schedule.
The algorithm starts by finding an aggregate level of sleep low enough that your body’s need for it overpowers your mind’s obstructionism. Finding this lower bound is painful but it definitely exists. Once you’ve found it, you relax the constraint gradually as your mind builds confidence that it can indeed sleep well and that the bed is a relaxing oasis. 5
Eventually the algorithm converges and you have a schedule that works without any of the bookkeeping. You still need to stick to the invariants so as not to trip up the circadian rhythm you’ve locked in. If you do get knocked off track by a spike in stress or long term travel, just restart the algorithm.
Please let me know if this helps you!
Written December 2017
Footnotes:
252 zhoubear 21 hrs 80
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
141 netgusto 10 hrs 38
Byte Arena is a gaming platform where you don’t play, but let a virtual robot (we call it an agent) play for you.
Your task is to code the brain of the agent; we provide the bot, you provide the brain.
What’s an agent?
An agent is a piece of code that you write, that runs in a Docker container, and is able to communicate with the Byte Arena gaming platform using a simple and well defined API.
An agent perceives its digital environment, makes decisions, and takes actions to reach its objectives. Tweak it, evolve it, refine it, script it, make it learn — whatever works; one goal : overcome the opponents with your code.
How is this even a game?
We find it both stimulating and fun to make things and learn new stuff in the process, while challenging other players doing so; we hope you do too.
What does it look like?
Once your agent is coded, you can watch it play against other players agents in your browser, evolving in a 3D world.
Here’s how it looks like.
Getting started
While your agent can be coded in whatever programming language you like, this guide will teach you to implement one in JavaScript.
Get started with Byte Arena.
The beta and its limitations
Byte Arena is not finished yet. We’re currently on a beta version of things.
Ultimately, you’ll be able to push your agents on bytearena.com to compete with other players.
During beta, the online platform will not be available; however, you can still train, debug and run your agents on your own computer using a simple command line tool we provide.
Community material
Articles Movement physics with vectors SDKs Go: johnsudaar/go-bytearena If you encounter any problem or have a question, feel free to open an issue on either ByteArena/cli (for the CLI) or ByteArena/community for any other topic.
Alternatively you can drop us a line at hello@bytearena.com.
We are @byte_arena on Twitter.
We also have a Slack; ask us here ByteArena/community#2 for an invite.
92 hvo 3 hrs 61
Why Sitting May Be Bad for Your Heart Excessive sitting was linked to higher levels of troponins, the same proteins released after a heart attack.
74 prostoalex 9 hrs 62
news.ycombinator.com/item?id=15983420
Bitcoin did a lot of growing up in 2017, but there was one trade this week that could go a long way toward stabilizing the market for the cryptocurrency and further establish its credibility in mainstream finance.
Sure, the meteoric rise in bitcoin prices has everyone debating whether it's one of history biggest bubbles, but just look at all the accomplishments that have put it on the cusp of joining the global financial system. LedgerX opened the first U.S. Commodity Futures Trading Commission-approved clearinghouse for cryptocurrencies in October, and began trading in swaps and options. Cboe Global Markets and CME Group have started trading in bitcoin futures. The New York Stock Exchange, Intercontinental Exchange -- and no doubt others -- plan to offer exchange-traded funds based on bitcoin futures.
But for all those achievements, there are some big issues that have yet to be resolved. The U.S. Securities and Exchange Commission rejected the use of the Gemini exchange to determine bitcoin prices -- which Cboe is using for the daily settlement of bitcoin futures -- and has expressed doubts about using an index of exchanges -- which CME is using. This creates the possibility that a few million dollars of actual bitcoin transactions, assembled in untested ways, will drive hundreds of millions of dollars of derivative settlement payments, which in turn could set the price for potentially tens of billions of dollars of ETFs.
Even in normal markets this can cause instabilities and mispricings, as we have already seen between bitcoin futures and physical prices. It can also play havoc with calendar spreads (the difference between, say, a futures contract with delivery next month and one whose delivery is in six months) as well as the premium at which the Bitcoin Investment Trust open-ended fund trades. And don't forget the spread among exchanges. In a crisis market, these issues could cause a break down. They are likely driving some volatility in bitcoin prices, and also probably keeping many institutional investors on the sidelines. (Full disclosure: I own bitcoins and other cryptocurrencies.)
But this week, one or more people delivered 275 bitcoin (valued at $4.5 million at the time) to the LedgerX clearinghouse, and wrote one-year calls 1 at a strike of $50,000 ($13.75 million in total) against them for a premium of $3,600 per coin ($990,000 total). 2 These are real bitcoin, and there is no need for any sort of settlement auction, the call option buyer can exercise and receive the physical bitcoin.
I spoke to some large bitcoin holders, most of whom have held for years and never sold, and all expressed at least some interest in doing similar trades. It is a natural one, the "bitcoin billionaires" -- the approximately 1,000 people who hold an estimated 40 percent of all bitcoin, or an average of around $350 million each -- reducing their exposure in return for some cash today. In turn, financial investors get a secure, levered exposure to bitcoin that is not hostage to an unproven price-setting and without the expense of setting up a system to hold physical bitcoin. 3 Bitcoin miners need cash for equipment and electricity bills (China this year cut off lending on bitcoin collateral) and early bitcoin adopters could stand to diversify their portfolios.
One trade doesn't make a market, but if, say, 1 percent of all bitcoin were taken off the market and held as option collateral, 4 and financial investors put up cash in one-year derivatives, that could do a lot to stabilize the market. That means both reducing price volatility and giving confidence that market prices represent true trading prices for institutional quantities of bitcoin. This, in turn, could make Cboe and CME cash-settled futures more attractive, and thereby represent a solid base for bitcoin ETFs.
And once that happens, institutions are likely to accept custodianed ownership of physical bitcoin, broadening and deepening the ownership base. There are few entities with institutional access to bitcoin derivatives trading and expertise with trading and holding physical bitcoin. That has to change for bitcoin to join the global financial system.
On the other hand, if bitcoin billionaires stay out of the market, institutional investment in bitcoin will remain problematic. Individuals will be able to trade small amounts in a fragmented market of loosely regulated exchanges, but futures and ETFs will not be securely backed by physical bitcoin -- their prices will be pushed around by betting sentiment of people who own no bitcoin.
That's not necessarily a bad thing. After all, bitcoin was invented as an alternative to financial markets, and it functioned quite nicely for years with no connection to Wall Street. That's one possible path for cryptocurrencies, a parallel financial system. But many people have set their hearts on linking the two systems, and we may have just seen the first trade to validate their dreams.
To contact the author of this story: Aaron Brown at aaron.brown@privateeram.com
To contact the editor responsible for this story: Robert Burgess at bburgess@bloomberg.net
上次看見穹蒼下滿天的星斗,是一年前在西藏了。那是在雅魯藏布大峽谷的深夜, 漆黑的荒野被一片如深藍絨布般的天幕籠罩着,絨布上嵌了無數如寶石般閃耀的星星。微弱的星光把近處的屋子、遠處的群山和奔流不息的雅魯藏布江勾畫出模糊的美態。
想不到再次遇見滿屏的星空,是在上海!確切地說,是距離上海市中心50公里的崇明島。晚飯後急急踱步回酒店房間,氣溫極低,已經是零度以下。猛然地抬頭一看,那是久違了的銀河。我對觀星是個門外漢,只知道牛郎織女、獵戶座和北斗七星,這刻卻是一下子認出來了。忍受着刺骨的寒風,我站在星空下享受那難得的幾分鐘,天地與人融為一體的心靈盪滌。
崇明島地處於長江口,是中國第三大島,也是中國最大的河口沖積島和沙島。崇明島的歷史很短,1300年前還只是個不適宜人類居住的沙洲灘涂。全島面積有1200多平方公里,比整個香港還要大,每年還不斷增加約5平方公里的新土地。因為是沖積沙島緣故,海拔只有三四米,地勢平坦,土地肥沃,林木茂盛,物產富饒。自古以來就是有名的魚米之鄉。
上海市政府的規劃裏,崇明島要建設成世界級的生態島,主要發展生態農業、旅遊、養老休閒產業;增加天然濕地面積和森林覆蓋率,減少城鎮開發空間。
在崇明島吃了兩頓農家菜,崇明島的白山羊天下聞名,比蘇州藏書羊肉還要濃郁香軟;據說因為產量不多,供應幾乎不離本島,就是說只有到崇明才有緣品嘗。崇明島產的大閘蟹叫老毛蟹,大概是農曆十一月了,個頭極為碩大。論香氣是不如陽澄湖大閘蟹,但是口感和味道不遑多讓。其他上桌的河鮮如清蒸河鰻、甲魚,還有地道新鮮的菠菜、米莧、絲瓜和番薯;散養的土雞風鵝都非常美味。甚至連那一碗產自崇明的大米也清香軟糯,不比東北大米遜色。
兩天行程的最後一站,是位於廟鎮的無為寺。解放初期,這裏有着數十座佛教寺院,是名副其實的廟鎮。文革時期被紅衞兵破壞殆盡,一廟不存!到1988年才恢復了無為寺,目前是崇明島香火甚為鼎盛的一座佛寺。寺院裏新建的覺林,有西方三聖和四大菩薩石雕,造型和布置既莊嚴又雅致。
玄洪方丈親自接待我們,細述無為寺的歷史和無為書院的設立,方丈長期舉辦佛學和文化講座,教化育人,是真正「立正知見,解行並重。起大悲心,自利利他」的大法師。
醫生總是勸病人培養恒常驗身的習慣,因為很多病單靠醫生見面問診是難以發現的,脂肪肝就是其中之一。
臨床發現,很多脂肪肝病人都是靠偶然的身體檢查(如入職、買保險或其他身體不適)才發現的。不少沒有這些「機緣」的人士,往往已錯失了治療脂肪肝的最佳時機。
脂肪肝,很多人都聽說過,甚至有親友患上,但是究竟它是什麼、普遍程度有多少,相信不少人都不太理解。其實脂肪肝的普遍性非常高,2008至2010年曾有研究估計,本港的非酒精性脂肪肝病人達人口的27.3%!比糖尿病的患病率更高。當中男性比女性多,而且年齡愈大,患病的機率愈高。30至39歲人士的估計患病率為21%,60至69歲人士的估計患病率可達41%。
說脂肪肝是健康的隱形殺手並不為過,因為它幾乎毫無病徵,即使肝臟已出現纖維化,病人也可能沒有任何不適。如果單靠病徵如腹脹、黃疸而發現的話,多數已屬較後期的肝病。
脂肪肝的發展多數是緩慢的,積聚的脂肪有可能會令肝臟發炎,發炎的位置出現疤痕,形成肝纖維化;纖維化的地方增加後會導致肝硬化。硬化的肝細胞已失去功能,因此會導致肝衰竭甚至死亡,而肝硬化亦和肝癌的關係密切。
脂肪肝的成因和多油多糖高脂的飲食習慣、缺乏休息、飲酒有密切關係。醫學研究亦發現,患上代謝綜合症的人(高血糖、高血壓、高膽固醇、高血脂及中央肥胖)屬於高風險族群。現時未有任何藥物可治療脂肪肝,而肝內磷脂(EPL)及維他命E獲醫學研究證實可有助減少脂肪積聚的情況。因此要為肝臟減脂,一來不應服用任何未經證實的補充品,以免護肝不成反而增加肝臟負擔。
另外,最重要其實是要留意生活及飲食習慣,加強運動,控制體重,避免過量飲酒,才是愛肝的好方法。
作者為腸胃肝臟科專科醫生
高血壓已成為香港最常見的疾病之一,有很多人一直內服西藥控制血壓,可是校長大人卻因服用西藥後頭暈、惡心、情緒不穩而不想再服西藥。我說:「校長大人,你可以再換幾款西藥看看,能否減輕你的副作用。」她說:「已經換過好幾種了,好像感覺不是很好,我現在不敢再試啊,我一吃了好像不能工作似的。整個人迷迷糊糊,有時候把血壓也降得太低,我也有點兒害怕呢。其實,能不能吃中藥去改善我的血壓問題啊?」
常吃美食幸福上臉
我說:「其實吃中藥配合針灸治療也能降血壓,我曾經有個病人也要求用中藥降壓,他是剛發現一個月左右,然後我就給他開中藥和針灸,結果就降下來,他也停用了西藥。」她說:「那麼我就試試吧。你的中藥降壓藥有幾種啊?我要像西藥那樣試很多次才知道哪種才適合嗎?」我說:「嗯……也有可能,但是我處方給你的,是根據你現在的體質而定的方劑。以你現在的望聞問切四診資料來說,你的體質屬於濕熱型,而且有肝氣鬱結、肝陽上亢的狀態啊。」校長大人說:「對啊,最近我又接受了一個新的教育任務,工作量加大了,我有點兒緊張,有時候又睡得不是太好,最近又缺乏運動,心情不是特別好啊。」
我說:「你好像是一直都沒有什麼運動吧,你的臉長得愈來愈幸福了,最近有吃多了嗎?」她說:「我先生啊,特別愛吃,他會歷盡艱辛地不顧一切去找到他那天要想吃的那些食物,跟他一起能吃上一頓美好的美食就是我感覺非常幸福的事情哦。可能也就是這樣,我也慢慢在外觀上表現出我的幸福和美滿了。」
過剩營養形成濕熱
我說:「對啊,我也知道他愛吃,不願意戒口,所以前段時間才長了帶狀皰疹呢。你吃那麼多美食,又不運動,消耗不了裏面的營養,這些剩餘的東西就會一天一天的累積在你的體內,形成濕、熱、痰、濁,這些東西在中醫學裏面,就是病的源頭啊,它們過度累積會讓你患上高血壓、糖尿病、脂肪肝、高膽固醇、痛風等等的疾病啊。」她很不甘心地說:「那麼我開始運動吧,你先給藥,還有針灸啊,順便給我繼續瘦臉,縮小毛孔,還有提升臉部肌肉,我要恢復V shape下巴啊。啊,還有再順便給我減減肚腩,消滅脂肪啊。」
我接着處方了八正散合天麻鈎藤飲加味,初服的首幾天,血壓未有明顯下降,服藥兩周後她的血壓開始慢慢下降了,到了現在血壓由原來的155/90mmHg慢慢下降到134/83mmHg,最好的那天可以下降到126/80mmHg。她也繼續堅持針灸,她很喜歡針灸順道美容的效果呢,可是也因為血壓降下來了,她就沒有動力去做運動。其實運動是一種最天然無添加非入侵性的降壓療法,而且施術者是自己呢。
香港中醫綜合中心
yimyiukin@live.hk
自從新一份《施政報告》出台後, 不少報道指香港在創科方面正急起直追,以創新科技加快發展智慧城市,提升社區管理成效。《信報》Startupbeat請來香港大學計算機科學系榮譽教授鄧淑明博士,分析香港及其他國家的發展智慧城市之道。
主持:尹思哲 《信報》科技編輯
嘉賓:鄧淑明博士 香港大學計算機科學系榮譽教授
尹:請先簡單介紹一下「智慧城市」好嗎?
鄧:智慧城市的主旨是如何以ICT(訊息及通訊技術)及市民參與度,構建一個更宜居的城市, 讓市民生活更美好,以及提供更多優質工作機會。世界各地均有不同的量度指標,例如丹麥目標於2025年實現「零排放」城市;瑞典冀2025年交通意外導致死亡人數為零;杜拜主力提高國民快樂指數;新加坡打算發展智慧政府等。
我認為,每個城市應有不同主題、目標,以及量度標準。香港稅率低又有完善的基建設施, 加上大學水平優秀,十分適合培育智慧人才。推動智慧城市方面,政府亦有不少改善空間, 包括增加WiFi熱點、開放及更新數據,吸引私人企業貢獻數據等。
數據協調交通便利出行
尹:何謂「智慧人才」?
鄧:人活得快樂與否是很重要的,有調查指出,香港的快樂指數在全球位列第72位,排名相當低。這與社會支援不足有關,還有人與人及鄰里間的支持等。
我經常提出「4P」概念,即是Public(公眾)、 Private(私人)、People(人)及Partnership(夥伴)。其中最重要就是People,如何賦力量予身邊人、增加社會支持等,由下而上創建智慧城市,純粹輸入人才、改善教育,未足以解決問題,要激發普羅大眾,感染他們投入發展。
尹:那你覺得香港在「智慧交通」方面,有什麼改善之處?
鄧:世界各地的「智慧交通」不外乎幾道板斧,如智慧泊車及智慧交通燈等。以東九龍地區為例,現時約有40個停車場已能提供實時車位資訊。智慧交通燈就是透過數據預測路面情況,甚至調校交通燈號,藉此疏導車流,這些都是慣常的做法。
中長遠目標方面,須考慮設立智能交通系統,將運輸署及私人公司的實時交通訊息整合到同一個平台之中,以便一站式查詢地鐵、巴士、電車等交通工具的到站時間,包括改道、塞車等資訊。除有助當局改善規劃,市民在返工返學之前亦可避開塞車及改道,容易安排出行時間。
公開資料改善群眾管理
尹:現時我們能否從街道地圖或系統得悉路面的交通情況?
鄧:其實,政府理應有這些資訊,但當局開放與否有本身的考慮。現時已有不同科技程式把有關資料實時向市民發布。以荷蘭網站TomTom為例,不但結合Google Maps及Android的資料,亦整理了iPhone、BMW、 Nissan及Uber等平台的實時資訊,這比使用單一平台更方便。香港有不少方法可考慮,本地電訊商可透過手機訊號,知道什麼地方有人群聚集。惟根據現時條文,就算這些匿名數據不涉及用戶私隱,電訊商亦不得公開,導致我們無法利用以上資料改善Crowd Management(群眾管理)。
尹:其他國家有類似限制嗎?她們有何解決方法?
鄧:大家都希望各地政府部門開放數據,讓開發者研發更多解決方案。地方首長方面,可透過政策或直接指示要求部門開放數據。有一些城市則較主動,如美國洛杉磯就有首席數據官,周圍到不同部門及私人機構說服他們貢獻數據。
此外,紐約早於2012年通過Open Data Law(開放數據法),要求在2018年年尾,不同機構都要把自身數據存放在中央處理點;此外, 機構亦要不時更新內容,確保所有數據都有用,令整個城市更具效率。
紐約立法促公私機構配合
尹:智慧香港的網站中提到的「智慧政府」是什麼概念?
鄧: 「智慧政府」即以人為本。政府部門要利用ICT,例如電腦化及IT系統,從而方便服務市民,改善官民之間的溝通。當然,政府也可提供平台,讓公眾放置不同數據;配合數據分析工具,不同機構就可活用數據,改善流程。
尹:本港發展智慧政府,你對此感到樂觀嗎?
鄧:看過新特首的《施政報告》後,我比以前更為樂觀。其中一個重要項目就是數碼個人身份(eID),有助推行網上認證,這決定十分正確!
可是,我認為同時存在隱憂,相比台北投放14億元,澳門預留5億元,本港投放7億元始終太少。以南韓為例,花在智慧交通的投資起碼12億元。我期望,這7億元只是個開始,當局盡快投入資源,推動本港智慧城市發展。
註:以上嘉賓訪問均屬個人意見,與本報立場無關。
完整訪問視頻,請上startupbeat.hkej.com觀看。
與朋友閒聊,其中一個翻閱時尚雜誌,感慨良多:現今的演員演技差,工作態度更差,為何那麼紅?另一個介面:因為現在再也不是拚實力的年代了,現在是拚流量的網紅時代。
「流量擔當」是目前內地網絡的流行詞,指的是一些明星人氣很高,節目、影視劇裏只要有他們出現,就有高收視。以「流量擔當」走紅的,通常都是「自下而上」,即先在年輕人群體中有超高知名度。
年輕粉絲,包括為數不少的小學生和中學生,在微博等社交媒體上為他們刷話題、破紀錄,直到傳統媒體和娛樂行業從業員也不得不關心他們;影視劇導演選角時,為了收視率,也不得不把大部分預算用於請「流量擔當」來擔任主角,演技是否到位,反而可以再斟酌。
網上也時有爭論,毫無演技的「流量明星」,收入碾壓老戲骨,憑什麼?恐怕憑的就是他們在網絡的超高流量,以及背後願意拿出金錢和精力為他們買單的龐大粉絲群。
不僅內地演藝圈,國外也存在相同現象。上月,《福布斯》公布的最高收入超模排行榜顯示,22歲的Kendall擠掉了牢牢佔據榜首14年的巴西超模Gisele Bündchen,成為全球最賺錢模特兒,就是這樣出頭。Instagram上還有不少網紅模特兒,比如Kardashian家族的小妹Kendall Janner,粉絲有8500萬;Gigi Hadid和Bella Hadid姊妹,粉絲分別有3700萬和1600萬,數目相當駭人。
不少人提出質疑,網紅憑什麼?不專業的台步、僵硬的笑容,以及完全不夠專業級別的身材比例?有前模特兒認為她們充其量只是社交明星罷了。酸葡萄的味兒,濃得化不開。
網紅一詞,可能有些許貶義,暗指某人無真本事;現實是,網紅確實影響着一大批人。香港地方小,市場亦相對較小,網紅現象未成風尚,但各類直播平台在年輕人中也有不小影響力。近年不少群體行為,包括反國教、佔中、旺角暴亂等,亦是由社交媒體開始發酵的。早前被取消立法會議員資格的游蕙禎、梁頌恆等人,又何嘗不是「政治網紅」起家?
高官身段未放下
網絡世界無岸無涯,只要有能力,去多遠都可以。不費一文,網絡紅人可以自由與粉絲互動、開玩笑,開辦自己的YouTube頻道、脫口秀,甚至網上電台、電視,最終粉絲數目轉化為知名度,然後是龐大的社會影響力。香港的政治網紅亦是如此,以各類貼地的方式在網絡凝聚一大班粉絲。不可小看這群網友,愈來愈多的經驗告訴我們,網絡的粉絲,隨時可以轉換成政治實力,給政府好看。
特區政府過往多年吃盡網紅的苦頭,在虛擬世界給打得焦頭爛額。不是不知道問題所在,只是不少為官者放不下身段,以官腔去親民,倒應了網上潮語「堅離地」的形容,說了等於沒說。或者又如陽明先生所言,把知行分作兩件去做,「待知得真了,方去做行的工夫。故遂終身不行,亦遂終身不知。」
我們所處的「網紅時代」魚龍混雜,百花齊放,有過人之處就能上。我們慨嘆社會價值觀倒退,當權者或許更該好好思考,如何面對新時代,用市民的語言與民共話,重新掌握話語權。
近來參加了兩個有相關的聚會,一個是英國文化協會有關多元性(Diversity)的會,一個是香港特殊教育學會的年會,主題也是與「多元管理」(Diversity Management)有關。
看來,教育的下一步發展,難以逃脫Diversity的討論。以下,是從不同的角度,重複上三周的觀察。
Diversity,這裏且譯作「多元形態」。這是社會的形態,筆者在不同場合,以社會的生產形態(量身訂造、小量多款)、機構形態(小、扁、鬆的「一站式」)、個人職業形態(轉工、轉行、創業、失業),說明現在的學生,面對的不會再是「一技傍身、一紙文憑、一勞永逸、一帆風順、從一而終」的工作前景。
多元形態 必成常態
不過,我們的教育,基本上是劃一目標、劃一內容、劃一過程、劃一考評、劃一要求……然後以此來劃分學生;而這種劃分,已經與社會嚴重脫節。簡單來說,在教育制度裏面很成功的學生,不一定能適應多元多變的社會現實。多元是同一時間橫向的可能性;多變是隨着時間縱向的變幻。在教育制度裏面被認為是不逮的學生,又僅僅是因為在狹隘的考試裏面分數不夠,他們其他方面的潛能沒有機會發揮;讀書以外的學習,機會不多,或者不受承認。簡而言之,在教育裏面成功的,到了社會不一定成功;在教育裏面失敗的,又往往被封死了成功之路。
讀者也許覺得上面的話言之過重。但願如此!固然,其實學校裏面也在作着不同的掙扎,不少學校和教師正在逐步掙脫制度的局限,努力為學生創造寬闊的學習環境。這也是前幾周本欄介紹的要點。但是,制度和觀念不變,這種掙扎就會長期延續,也會耗費校長和教師們很多的精力。
這樣說,並非認為制度和觀念是容易改變的,更不是認為政府政策是總開關,政府一拍板,就會萬事如意。但是,如果大家沒有一個概念上的準備,也許就會走錯路,把教育的變更,離社會現實愈來愈遠;甚至犧牲了過去近20年千千萬萬教師辛苦得來的轉變成果。
從這個角度看,「特殊教育」、「融合教育」這些曾經流行一時的概念,假如以教育的「多元形態」來概括,也許可以拓寬我們的視野,讓教育的前景豁然開朗。
在英國文化協會的會上,作主旨報告的Sian Williams說得很精闢。目前很多所謂學生的「問題」、「特殊需要」,是因為教育制度的狹隘定義,把多元的學生關在狹隘的標準裏面加以判定。不適應學校的劃一性活動的,就認為是學生有特殊需要(SEN = Special Education Needs)。這些特殊需要,有些也許是學生將來在社會上也需要適應的,但是一旦被判定為SEN,就等於被看成是「病」,於是採用「醫療」(medical)心態和措施來處理。這也是在特殊教育學會的會上,潘啟祥老師說的「補缺」模式(deficit model)。
醫療模式 埋沒潛能
「醫療」心態的特點,是把學生的缺點放到最大,遮蔽了教師全部視線,而忘記了學生可以發展和發揮的其他許多長處。更糟糕的是,一旦是「病」,教師就會覺得這是自己無能為力的,要交給特殊人員來醫治。
於是,學生生理上的缺陷、腦神經的弱點、心理上的不平衡、行為上的失當,往往都被混為一談,通通當成是「病」。於是大家會發覺,教育裏面發現學生的「病」愈來愈多,於是有「病」的學生彷彿愈來愈多。
我們當然不會回到幾十年以前,把學生的弱點一概歸為「笨」、「懶」;但是把學生的學業不逮,輕易地判為需要醫治的「病」,已經是英美社會的陋習。由於這樣,也會把學生放在被醫治的被動地位,而忽略了他們主動努力的重要性。
這次教育「一丹獎」的教育研究得主、史丹福大學Carol Dweck教授的研究所得,就是智力是可以通過後天的努力增長的,這雖然本來是東亞儒家社會的基本假設(「勤能補拙」),或者是說破了西方的長期誤解(所謂innate ability);但是的確有全球的積極意義,針對人們的慣性盲目:認為孩子有「聰明」與「笨拙」之分。
與她談起,她的願望就是把她主張的、頗為流行的「長進心態」(Growth Mindset,即積極進取讓自己長進的心態)傳播給普遍的教師。其原理也是要學生不再做被動的被「治理」對象。
在新世代,一方面每個人可以做的工作已經沒有止境,另一方面每個人都需要具備社會流動的能力。這就為教育提出了與傳統截然不同的期望。教育的多元形態,需要把每個人的潛能都發掘出來,而且最大限度地發揮,讓每個人都能在種種挑戰之中,在社會上找到自己的位置、自己的價值。
要做到這一點,上周提到的一系列學習經歷,正好說明教育的多元形態,就變得非常重要;而不是把學生局限在數得出的科目上面。上周文末提到幾點觀察,其中目前最關鍵的是:一、學習的考評,二、大學的收生。
重塑考評 改革收生
以前提過,學生考評的目標,應該盡快從「懂得什麼」轉變為「能做什麼」。也就是要學生用創作、製作來表達自己的學習成果。這一方面也是學習科學的基本原理,因為「懂得什麼」是靠「能做什麼」來表現的,否則就是鼓勵純粹的記憶,不是真正的學習。
另一方面,這也是符合「學習因人而異」的原理,因此不去要求學生拿出劃一的學習成果。這樣一來,所謂「特殊需要」的學生,也完全可以根據各自的優勢,產生各自精采的學習成果。
在這些方面,香港的教師其實已經有了不少的嘗試,有些還頗有成效。說明從「懂得什麼」到「能做什麼」的轉移,完全是有可能的,應該是樂觀的。
「能做什麼」,不光是看最後的成果。學生的創作和製作不一定是成功的,舉個例子,假如學生想製作一種機器人而沒有成功,那嘗試、探索和失敗的過程也是一個非常有意義的學習過程。因此有「學習檔案」(Learning Portfolio),即把學生學習的過程記錄下來,可供審視。也就是說,假如承認學習是一個過程,那麼過程的考評,不亞於成果的考評。
這對於所謂「特殊需要」的學生,尤其重要。他們創作或者製作的過程,都應該包含許多有意義的學習。最後的成果的優劣,只不過是學習經歷的一個方面,而且並不一定是最重要的方面。對所有的學生,其實都應該如是。
大學收生是一個瓶頸:一、為了拓寬學生的學習經歷,現在香港的課程有OLE(其他學習經歷),但是大學基本不看,因此許多中學也不重視,或則可有可無,或則不要求全體學生,或者沒有正規的記錄與認可。
二、上述的「學習檔案」,其實是存在的,但是由於大學不看(有些負責招生的甚至不知道有這回事),已經名存實亡。
這兩樣都是讓學校教育初步走向多元形態的關鍵措施,可以說都敗在大學收生手上。至今,還有大學以各學術單位收生的成績,作為校內評核甚至撥款的根據,應該摒棄。UGC(教育資助委員會)也應該停止收集各院校的收生成績數據;因為很少的高等教育體系是如此做的。
299 mabynogy 23 hrs 90
https://tyil.nl/articles/funding-yourself-as-free-software-developer.html
I’d love to receive feedback on this, as I think being able to get donations easily for the work free software developers put in to their projects is important.
Getting to know more platforms and giving them a small write-up should help out other developers like me looking for the best platform for their use case. I’d also like to hear from developers already using a platform, to extend this article with more useful information on how to successfully get donors for their work.
If you want to contact me, do take a look at the Contact section, and let me know about your experiences with funding.